当前位置:文档之家› 计算机二级C语言测试题

计算机二级C语言测试题

(第一章)1. 以下关于算法的描述不正确的是__________。

A. 任何一个问题,它的实现算法是唯一的B. 描述算法常用的表达工具有流程图、N-S图、PAD图、伪码等C. 算法的最终实现是计算机程序D. 正确性和清晰易懂性是一个好算法的基本条件2.下面是一个加法程序,指出存在的逻辑错误和语法错误。

/* 求整数a和b的和 */main( ){int a,b;a=8;b=2000;print("%d\n",a-b);}3.在每个C程序中都必须包含有这样一个函数,该函数的函数名为__________。

A.main B. MAIN C. name D. function 4.以下叙述不正确的是__________。

A.C程序书写格式规定,一行内只能写一个语句B.main()函数后面有一对花括号,花括号内的部分称为函数体C.一个C程序必须有main()函数D.C规定函数内的每个语句以分号结束5.以下各标识符中,合法的用户标识符为_________。

A.A#C B.mystery C.main D.ab*6.已知求解某问题的算法如下:⑴输入a、b、c三个数。

⑵将a和b比较,较大者放在a中,小者放在b中。

⑶将a和c比较,较大者放在a中,小者放在c中。

⑷将b和c比较,较大者放在b中,小者放在c中。

⑸依次输出a、b、c。

请根据上述算法描述,把算法的功能表达出来。

【答案】把任意输入的三个数a、b、c按降序排列的顺序输出。

7.一个C语言程序可以包括多个函数,程序总是按照如下_________所描述的方式执行当前的程序。

A.从本程序的main()函数开始,到本程序文件的最后一个函数结束。

B.从本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。

C.从main()函数开始,到main()函数结束。

D.从本程序文件的第一个函数开始,到本程序main()函数结束。

8.以下叙述正确的是_________。

A.在C程序中,main()函数必须位于程序的最前面。

B.C程序的每行中只能写一条语句。

C.在对一个C程序进行编译的过程中,可发现注释中的拼写错误。

D.C语言本身没有输入输出语句。

答案:1. A2.语法错误是print, 应该为printf;逻辑错误是a-b,应该为a+b。

3.A 4.A 5.B6.把任意输入的三个数a、b、c按降序排列的顺序输出。

7.C 8.DC语言测试题(第二章)1.C语言中的实数可以写成不同表示形式,下列表示形式中正确的是_________。

A. B. C. D.e62.下列程序执行后的结果是_________。

main(){int x='f';printf("%c\n", 'A'-'a'+x));}3.能正确表示数学描述中0≤a≤10的C语言表达式是________。

A.a>=0&a<=10 B.a>=0||a<=10C.a>=0&&a<=10 D.0≤a&&a≤104.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是________。

A.-3 B.9 C.-12 D.65.假设所有变量均为int型,则表达式(a=2,b=5,b+1,a+b)的值是________。

A.7 B.8 C.6 D. 26.执行下面程序段后,y的结果是________。

int x,y;x=y=2;x=x-2&&(y=y+1);printf("%d",y);A. 3B. 2C. 1D. 07.表达式(int)*2+8/3-3%2的值是_________。

A. 2B. 3C. 4D. 5答案:1. A2. F3. C4. C5. A6. B7. BC语言测试题(第三章)1.以下程序的输出结果是________。

main(){int k=8765;printf("*%-06d*\n",k);}A.输出格式描述符不合法 B.*008765*C.*8765* D.*-08765*【答案】 C.2.有程序段如下:int i;float f;scanf("i=%d,f=%f",&i,&f);若要求把数值100和分别赋给变量i和f,则正确的输入格式为________。

A. B.i=100,f=C.100, D.i=100f=【答案】B3.有程序如下:main(){int i;float x,y;scanf("%2d%f%*d%f",&i,&x,&y);printf("%d,%f,%f\n",i,x,y);}执行该程序时,若按如下形式输入数据,则输出结果是________。

输入数据:3445A.56,, B.56789,,C.56,, D.56,,【答案】A4.输入字母a时,下列程序的执行结果是________。

#include ""main(){char ch;ch=getchar();(ch>='a'&&ch<='z')putchar(ch+'A'-'a'):putchar(ch);}【答案】输出大写字母AC 语言测试题(第四章)1.下面是由if 构成的一个程序段:if(a<b){if(d==c)x=1;}elsex=2;该程序段所表示的逻辑关系对应的表达式是________。

A.⎩⎨⎧≠≥=<=)d c b (a 2d)c b (a 1x 且且 B. ⎩⎨⎧≠<=<=)d c b (a 2d)c b (a 1x 且且 C. ⎩⎨⎧≠=<=)d (c 2d)c b (a 1x 且 D. ⎩⎨⎧≥=<=)b (a 2d)c b (a 1x 且2.以下程序的运行结果为________。

main(){int x=2,y=-1,z=2;if(x<y) /* 第一个if */if(y<0) z=0; /* 第二个if */else z+=1;printf("%d\n",z);}A .3B .2C .1D .03.有程序段如下:int a=1,b=2,c=3;if(a>b)c=a; a=b; b=c;执行该程序段后,变量a 、b 、c 的值是__________。

A .a=1,b=2,c=3B .a=2,b=3,c=3C .a=2,b=3,c=1D .a=2,b=3,c=24.有程序如下:#include ""main( ){int c;while((c=getchar())!='\n')switch(c-'2'){case 0:case 1:putchar(c+4);case 2:putchar(c+4);break;case 3:putchar(c+3);default:putchar(c+2);break;}printf("\n");}若运行该程序时,按如下形式从键盘输入数据,则程序的运行结果为________。

输入数据:2473A.668977 B.668966C. D.66887665.执行下面的程序段后,a和b的值分别为________。

int a=3,b=5,c;c=(a>--b)a++:b--;A.3,2 B.3,3 C.4,4 D.4,5答案:1. D2. B3. B4. A5. BC语言测试题(第五章)1.有程序段如下:int k=10;while(k=0)k=k-1;则下面描述中正确的是________。

A.语句“k=k-1;”被执行10次B.语句“k=k-1;”被执行无限多次C.语句“k=k-1;”一次也不执行D.语句“k=k-1;”只执行一次2.有程序段如下:int k=10;do{k=k-1;}while(k>=0);则下面描述中正确的是________。

A.语句“k=k-1;”执行1次B.语句“k=k-1;”执行10次C.语句“k=k-1;”执行11次D.语句“k=k-1;”执行12次3.下面是一个程序段:int x,y;for(y=1,x=2;y<=50;y++){if(x>=10)break;x+=5;}执行该程序段后,x值为________。

A. 2 B. 7 C. 12 D. 154.有程序段如下:int i,j;for(i=5;i;i--)for(j=1;j<5;j++){......}假若内循环体内不存在中止循环的控制语句,则内循环体执行的总次数为________。

A. 20B. 24C. 25D. 305.下面是一个循环控制程序:#include ""#include ""main(){float x,y,z;scanf("%f,%f",&x,&y);z=x/y;while(1){if(fabs(z)>{x=y;y=z;z=x/y;}elsebreak;}printf("%\n",y);}运行该程序,按如下形式从键盘输入数据,程序的数出结果是________。

键盘输入数据:,A. B. C. D.答案:1. C 2. C 3. C 4. A 5. BC语言测试题(第六章)1.若有数组定义int m[][2]={1,3,5,7,9},则以下叙述正确的是________。

A.该定义存在语法错误B.该定义等价于int m[3][2]={1,3,5,7,9}C.该定义等价于int m[][2]={{1,3,5},{7,9}}D.该定义等价于int m[2][2]={1,3,5,7,9}2.对两个数组a和b进行如下的初始化:char a[]={'a','b','c','d','e','f'};char b[]="abcdef";则以下叙述正确的是________。

A.a数组与b数组完全相同B.a数组与b数组具有相同的长度C.a数组和b数组的最后一个字符都是字符串结束标志符'\0'D.a数组的长度比b数组的长度小3.下面程序的功能是输出数组s中最大元素的下标。

请在横线上填上适当的内容,使它能得出正确的结果。

相关主题