二级C语言程序设计练习试题.docx

上传人:b****6 文档编号:4021956 上传时间:2022-11-27 格式:DOCX 页数:79 大小:48.21KB
下载 相关 举报
二级C语言程序设计练习试题.docx_第1页
第1页 / 共79页
二级C语言程序设计练习试题.docx_第2页
第2页 / 共79页
二级C语言程序设计练习试题.docx_第3页
第3页 / 共79页
二级C语言程序设计练习试题.docx_第4页
第4页 / 共79页
二级C语言程序设计练习试题.docx_第5页
第5页 / 共79页
点击查看更多>>
下载资源
资源描述

二级C语言程序设计练习试题.docx

《二级C语言程序设计练习试题.docx》由会员分享,可在线阅读,更多相关《二级C语言程序设计练习试题.docx(79页珍藏版)》请在冰豆网上搜索。

二级C语言程序设计练习试题.docx

二级C语言程序设计练习试题

重要说明:

本习题所有题目均假设上机环境为TC2.0,而2008年版最新大纲规定等级考试上

机用VC6.0,这主要对笔试的影响在于int类型所占用的字节,原来TC2.0中int类型为2个字

节,而最新VC6.0中int类型占用4个字节,所以以下所有题目涉及int数据类型占用字节数

的地方请大家把题目和参考答案按新大纲做相应调整即可,用到int类型数据但不涉及int

占字节数的所有地方不必调整。

(其实需要调整的地方很少的,请大家自己识别)

C语言程序设计习题

(全国计算机等级考试)

第一章程序设计基本概念

[1.1]在TURBOC环境中用RUN命令运行一个C程序时,所运行的程序的后缀是______。

[1.2]C语言源程序文件的后缀是______,经过编译后,生成文件的后缀是______,经过连接后,生成文件的后缀是______。

[1.3]结构化程序由____、____、____三种基本结构组成。

第二章C程序设计的初步知识

一、选择题

[2.1]以下选项中正确的整型常量是

A)12B)-20C)1,000D)456

[2.2]以下选项中正确的实型常量是

A)0B)3.1415C)0.329*102D).871

[2.3]以下选项中不正确的实型常量是

A)2.607E-1B)0.8103e2C)-77.77D)456e-2

[2.4]以下选项中不合法的用户标识符是

A)abc.cB)fileC)MainD)PRINTF

[2.5]以下选项中不合法的用户标识符是

A)_123B)printfC)A$D)Dim

[2.6]C语言中运算对象必需是整型的运算符是

A)%B)/C)!

D)**

[2.7]可在C程序中用作用户标识符的一组标识符是

A)voidB)as_b3C)ForD)2c

define_123-abcDO

WORDIfcaseSIG

[2.8]若变量已正确定义并赋值,符合C语言语法的表达式是

A)a=a+7;B)a=7+b+c,a++C)int(12.3%4)D)a=a+7=c+b

[2.9]以下叙述中正确的是

A)a是实型变量,C允许进行以下赋值a=10,因此可以这样说:

实型变量允许赋值整型值。

B)在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式。

C)执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0。

D)已有a=3,b=5。

当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3。

[2.10]以下叙述中正确的是

在C程序中无论整数还是实数,只要在允许的范围内都能准确无误的表示。

C程序由主函数组成。

C程序由函数组成。

C程序由函数和过程组成。

[2.11]TURBOC中int类型变量所占字节数是

A)1B)2C)3D)4

[2.12]不合法的八进制数是

A)0B)028C)077D)01

[2.13]不合法的十六进制数是

A)oxffB)0XabcC)0x11D)0x19

二、填空题

[2.14]若k为int整型变量且赋值11。

请写出运算k++后表达式的值A)____和变量的值B)_____。

[2.15]若x为double型变量,请写出运算x=3.2,++x后表达式的值A)_____和变量的值B)________。

[2.16]函数体由符号____开始,用符号_____结束。

函数体的前面是_______部分,其后是_______部分。

[2.17]C语言中的标识符可分为________、________、和预定义标识符三类。

[2.18]在C语言程序中,用关键字_________定义基本整型变量,用关键字________定义单精度实型变量,用关键字_______定义双精度实型变量。

[2.19]把a1、a2定义成单精度实型变量,并赋初值1的定义语句是____________。

[2.20]C程序中定义的变量,代表内存中的一个_______。

[2.21]表达式3.5+1/2的计算结果是________。

[2.22]对以下数学式,写出三个等价的C语言表达式______、_____、______。

aib

c

[2.23]表达式s=10应当读做“________________”。

[2.24]计算机中内存储器的最小存储单位称_________,其中能容纳的数是_________。

[2.25]通常一个字节包含_______个二进制位。

在一个字节中能存放的最大(十进制)整数是_____,它的二进制数的形式是___________;最小(十进制)整数是_______,它的二进制数的形式是______________。

[2.26]当计算机用两个字节存放一个整数时,其中能存放的最大(十进制)整数是_______、最小(十进制)整数是_____,它的二进制数的形式是________________。

[2.27]在C语言中整数可用______进制数、_____进制数和_____进制数三种数制表示。

三、上机改错题(读者最好在TURBOC环境下上机试一试,以便熟悉出错信息)。

[2.28]请指出以下C程序的错误所在

#includestdio.h;

main();/*mainfunction*/

floatr,s;/*/*risradius*/,/*sisareaofcircular*/*/

r=5.0;

s=3.14159*r*r;

printf(“%f\n”,s)

[2.29]请指出以下C程序的错误所在

#includestdio.h

main/*mainfunction*/

{floata,b,c,v;/*a,b,caresides,visvolumeofcube*/

a=2.0;b=3.0;c=4.0

v=a*b*c;

printf(“%f\n”,v)

}

第三章顺序结构

选择题

[3.1]若a、b、c、d、都是int类型变量且初值为0,以下选项中不正确的赋值语句是

A)a=b=c=d=100;B)d++;C)c+b;D)d=(c=22)-(b++);

[3.2]以下选项中不是C语句的是

A){inti;i++;printf(“%d\n”,i);}B);

C)a=5,c=10D){;}

[3.3]以下合法的C语言赋值语句是

A)a=b=58B)k=int(a+b);C)a=58,b=58D)--i;

[3.4]以下程序的输出结果是

A)0B)1C)3D)不确定的值

main()

{intx=10,y=3;

printf(“%d\n”,y=x/y);}

[3.5]若变量已正确说明为int类型,要给a、b、c输入数据,以下正确的输入语句是

A)read(a,b,c);B)scanf(“%d%d%d”,a,b,c);

C)scanf(“%D%D%D”,&a,%b,%c);D)scanf(“%d%d%d”,&a,&b,&c);

[3.6]若变量已正确说明为float类型,要通过以下赋值语句给a赋予10、b赋予22、c赋予33,以下不正确的输入形式是

A)102233B)10.0,22.0,33.0C)10.022.033.0D)102233

scanf(“%f%f%f”,&a,&b,&c);

[3.7]若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是

A)a=a+b,b=a-b,a=a-b;B)t=a,a=b,b=t;

C)a=t;t=b;b=a;D)t=b;b=a;a=t;

[3.8]若变量已正确定义,以下程序段的输出结果是

A)输出格式说明与输出项不区配,输出无定值B)5.17

C)5.168D)5.169

X=5.16894;

Printf(“%f\n”,(int)(x*1000+0.5)/(float)1000);

[3.9]若有以下程序段,c3中的值是

A)0B)1/2C)0.5D)1

intc1=1,c2=2,c3;

c3=c1/c2;

[3.10]若有以下程序段,其输出结果是

A)3,0,-10B)0,0,5C)-10,3,-10D)3,0,3

inta=0,b=0,c=0;

c=(a-=a-5),(a=b,b+3);

printf(“%d,%d,%d\n”,a,b,c);

[3.11]当运行以下程序时,在键盘上从第一列开始输入9876543210(此处代表Enter),则程序的输出结果是

A)a=98,b=765,c=4321B)a=10,b=432,c=8765

C)a=98,b=765.000000,c=4321.000000D)a=98,b=765.0,c=4321.0

main()

{inta;floatb,c;

scanf(“%2d%3f%4f”,&a,&b,&c);

printf(“\na=%d,b=%f,c=%f\n”,a,b,c);

}

[3.12]以下程序的输出结果是

A)a=%2,b=%5B)a=2,b=5

C)a=%%d,b=%%dD)a=%d,b=%d

main()

{inta=2,b=5;

printf(“a=%%d,b=%%d\n”,a,b);}

[3.13]若int类型占两个字节,则以下程序段的输出是

A)-1,-1B)-1,32767C)-1,32768D)-1,65535

inta=-1;

printf(“%d,%u\n”,a,a);

[3.14]以下程序段的输出是

A)*496*B)*496*C)*000496*D)输出格式符不合法

intx=496;

Printf(“*%06d*\n”,x);

[3.15]以下程序段的输出是

A)|3.1415|B)|3.0|C)|3|D)|3.|

floata=3.1415;

Printf(“|%6.0f|\n”,a);

[3.16]以下程序段的输出是

A)|2345.67800|B)|12345.6780|

C)|12345.67800|D)|12345.678|

printf(“|%10.5f|\n”,12345.678);

[3.17]以下程序段的输出是

A)*0000057.66*B)*57.66*

C)*0000057.67*D)*57.67*

floata=57.666;

pirntf(“%010.2f\n”,a);

3.18若从终端输入以下数据,要给变量c赋以283.19,则正确的输入语句是

A)scanf(“%f”,c);B)scanf(“%8.4f”,&c);

B)scafn(“%6.2f”,&c);D)scanf(“%8”,&c);

283.1900

[3.19]若变量已正确说明,要求用以下语句给a赋予3.12、给b赋予9.0,则正确的输入形式是(Ц代表空格)

A)3.12ЦЦ9.0B)a=ЦЦ3.12b=ЦЦЦ9

C)a=3.12,b=9D)a=3.12ЦЦ,b=9ЦЦЦЦ

scanf(“a=%f,b=%f”,&a,&b);

[3.20]以下程序的输出结果是

A)98B)89C)66D)以上三个都不对

#include“math.h”

main()

{doublea=-3.0,b=2;

printf(“%3.0f%3.0f\n”,pow(b,fabs(a)),pow(fabs(a),b));

}

填空题

[3.21]若有以下定义,请写出以下程序段中输出语句执行后的输出结果。

(1)___________

(2)___________(3)___________

inti=-200,j=2500;

printf(“

(1)%d%d”,i,j);

printf(“

(2)i=%d,j=%d\n”,i,j);

printf(“(3)i=%d\nj=%d\n”,i,j);

[3.22]变量i、j、k已定义为int类型并有初值0,用以下语句进行输入时

scanf(“%d”,&I);scanf(“%d”,&j);scanf(“%d”,&k);

当执行第一个输入语句,从键盘输入:

12.3表示Enter键

则变量i、j、k的值分别是________、_______、_______。

[3.23]复合语句在语法上被认为是_______。

空语句的形式是_____。

[3.24]C语句的最后用_______结束。

[3.25]以下程序段,要求通过scanf语句给变量赋值,然后输出变量的值。

写出运行时给k输入100,给a输入25.81,给x输入1.89234时的三种可能的输入形式_____、_____、_____。

intk;floata;doublex;

scanf(“%d%f%lf”,&k,&a,&x);

pirntf(“k=%d,a=%f,x=%f\n”,k,a,x);

[3.26]以下程序段的输出结果是_________。

intx=0177;

printf(“x=%3d,x=%6d,x=%6o,x=%6x,x=%6u\n”,x,x,x,x,x);

[3.27]以下程序段的输出结果是______。

intx=0177;

printf(“x=%-3d,x=%-6d,x=$%-06d,x=$%06d,x=%%06d\n”,x,x,x,x,x);

[3.28]以下程序段的输出结果是______。

doublea=5.13.789215;

printf(“a=%8.6f,a=%8.2f,a=%14.8f,a=%14.8lf\n”,a,a,a,a);

编程题和改错题

[3.29]以下程序多处有错。

要按下面指定的形式输入数据和输出数据时,请对该程序做相应的修改。

main

{doublea,b,c,s,v;

printf(inputa,b,c:

\n);

scanf(“%d%d%d”,a,b,c);

s=a*b;/*计算长方形面积*/

v=a*b*c;/*计算长方体体积*/

printf(“%d%d%d”,a,b,c);

printf(“s=%f\n”,s,”v=%d\n”,v);

}

当程序执行时,屏幕的显示和要求输入形式如下:

inputa,b,c:

2.02.03.0此处的2.02.03.0是用户输入的数据

a=2.000000,b=2.000000,c=3.000000此处是要求的输出形式

s=4.000000,v=12.000000

[3.30]编写程序,把560分钟换算成用小时和分钟表示,然后进行输出。

[3.31]编写程序,输入两个整数:

1500和350,求出它们的商数和余数并进行输出。

[3.32]编写程序,读入三个双精度数,求它们的平均值并保留此平均值小数后一位数,对小数点后第二位数进行四舍五入,最后输出结果。

[3.33]编写程序,读入三个整数给a、b、c,然后交换它们中的数,把a中原来的值给b,把b中原来的值给c,把c中原来的值给a。

第四章选择结构

一、选择题

[4.1]下列运算符中优先级最高的运算符是

A)!

B)%C)-=D)&&

[4.2]下列运算符中优先级最低的运算符是

A)||B)!

=C)<=D)+

[4.3]为表示关系x>=y>=z,应使用的C语言表达式是

A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)

C)(x>=y>=z)D)(x>=y)&(y>=z)

[4.4]设a、b和c都是int型变量,且a=3,b=4,c=5;则以下的表达式中,值为0的表达式是

A)a&&bB)a<=bC)a||b+c&&b-cD)!

((a

c||1)

[4.5]以下程序的输出结果是:

A)0B)1C)2D)3

main()

{inta=2,b=-1,c=2;

if(a

if(b<0)c=0;

elsec+=1;

printf(“%d\n”,c);

}

[4.6]以下程序的输出结果是:

A)1B)2C)3D)4

main()

{intw=4,x=3,y=2,z=1;

printf(“%d\n”,(w

w:

z

z:

x));

}

[4.7]若执行以下程序时从键盘上输入3和4,则输出结果是

A)14B)16C)18D)20

main()

{inta,b,s;

scanf(“%d%d”,&a,&b);

s=a;

if(a

s*=s;

printf(“%d\n”,s);

}

[4.8]下面的程序片段所表示的数学函数关系是

A)-1(x<0)

A)y=0(x=0)

1(x>0)

B)1(x<0)

B)y=-1(x=0)

0(x>0)

C)0(x<0)

C)y=-1(x=0)

1(x>0)

D)-1(x<0)

D)y=1(x=0)

0(x>0)

y=-1;

if(x!

=0)

{if(x>0)y=1;}

elsey=0;

[4.9]运行以下程序后,输出

A)####B)&&&&

C)####&&&&D)有语法错误不能通过编译

main()

{intk=-3;

if(k<=0)printf(“****\n”);

elseprintf(“&&&&\n”);

}

[4.10]若a和b均是正整数型变量,以下正确的switch语句是

A)switch(pow(a,2)+pow(b,2))(注:

调用求幂的数学函数)

{case1:

case3:

y=a+b;break;

case0:

case5:

y=a-b;

}

B)switch(a*a+b*b);

{case3:

case1:

y=a+b;break;

case0:

y=b-a;break;

}

C)switcha

{default:

x=a+b;

case10:

y=a-b;break;

case11:

y=a*d;break;

}

D)switch(a+b)

{case10:

x=a+b;break;

case11:

y=a-b;break;

}

二、填空题

[4.11]C语言中用______表示逻辑值“真”,用______表示逻辑值“假”。

[4.12]C语言中的关系运算符按优先级别是_________、__________.

[4.13]C语言中的逻辑运算符按优先级别是______、______、______.

[4.14]C语言中的关系运算符和逻辑运算符的优先级别是___、______、______、___、______。

[4.15]C语言中逻辑运算符______的优先级高于算术运算符。

[4.16]将下列数学式改写成C语言的关系表达式或逻辑表达式A)______________和B)__________

A)a=b或a4

[4.17]请写出以下程序的输出结果___。

main()

{inta=100;

if(a>100)printf(“%d\n”,a>100);

elseprintf(“%d\n”,a<=100);

}

[4.18]请写出与以下表达式等价的表达式A)_________B)__________.

A)!

(x>0)B)!

0

[4.19]当a=1,b=2,c=3时,以下if语句执行后,a、b、c中的值分别为___、___、___.

if(a>c)

b=a;a=c;c=b;

[4.20]若变量巳正确定义,以下语句段的输出结果是_______。

x=0,y=2,z=3;

switch(x)

{case0:

switch(y=2)

{case1:

printf(“*”);break;

case2:

printf(“%”);break;

}

case1:

switch(z)

{case1:

printf(“$”);

case2:

printf(“*”);break;

default:

printf(“#”);

}

}

三、编程题

[4.21]请将以下语句改写成switch语句。

if(a<30)m=1;

elseif(a<40)m=2;

elseif(a<50)m=3;

elseif(a<60)m=4;

elsem=5;

[4.22]编写程序,输入一位学生的生日(年:

y0、月:

m0、日:

d0);并输入当前的日期(年:

y1、月:

m1、日:

d1);输出该生的实足年龄。

[4.23]编写程序,输入一个整数,打印出它是奇数还是偶数。

[4.24]编写程序,输入a、b、c三个数,打印出最大者。

[4.25]有一函数:

x(-5

y=x-1(x=0)

x+1(0

编写一程序,要求输入x的值,输出y的值。

分别用

(1)不嵌套的if语句

(2)嵌套的if语句(3)if-else语句(4)switch语句

第五章循环结构

一.选择题

[5.1]以下程序段的输出结果是

A)9B)1C)11D)10

intk,j,s;

for(k=2;k<6;k++,k++)

{s=1;

for(j=k;j<6;j++)s+=j;

}

printf(“%d\n”,s);

[5.2]以下程序段的输出结果是

A)12B)15C)20D)25

inti,j,m=0;

for(I=1;I<=5;I+=4)

for(j=3;j<=19;j+=4)m++;

printf(“%d\n”,m);

[5.3]以下程序段的输出结果是

A)10B)9C)10D)9

9898

8787

76

intn=10;

while(n>7)

{n--;

printf(“%d\n”,n);

}

[5.4]以下程序段的输出结果是

A)1B)30C)1–2D)死循环

intx=3;

do

{printf(“%3d”,x-=2);}

while(!

(--x));

[

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1