您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 计算机二级C语言测试题(含答案)
(第一章)1.以下关于算法的描述不正确的是__________。A.任何一个问题,它的实现算法是唯一的B.描述算法常用的表达工具有流程图、N-S图、PAD图、伪码等C.算法的最终实现是计算机程序D.正确性和清晰易懂性是一个好算法的基本条件2.下面是一个加法程序,指出存在的逻辑错误和语法错误。/*求整数a和b的和*/main(){inta,b;a=8;b=2000;print(%d\n,a-b);}3.在每个C程序中都必须包含有这样一个函数,该函数的函数名为__________。A.mainB.MAINC.nameD.function4.以下叙述不正确的是__________。A.C程序书写格式规定,一行内只能写一个语句B.main()函数后面有一对花括号,花括号内的部分称为函数体C.一个C程序必须有main()函数D.C规定函数内的每个语句以分号结束5.以下各标识符中,合法的用户标识符为_________。A.A#CB.mysteryC.mainD.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.A4.A5.B6.把任意输入的三个数a、b、c按降序排列的顺序输出。7.C8.DC语言测试题(第二章)1.C语言中的实数可以写成不同表示形式,下列表示形式中正确的是_________。A.5.4321B.5.43E2.1C.e5.4321D.e62.下列程序执行后的结果是_________。main(){intx='f';printf(%c\n,'A'-'a'+x));}3.能正确表示数学描述中0≤a≤10的C语言表达式是________。A.a=0&a=10B.a=0||a=10C.a=0&&a=10D.0≤a&&a≤104.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是________。A.-3B.9C.-12D.65.假设所有变量均为int型,则表达式(a=2,b=5,b+1,a+b)的值是________。A.7B.8C.6D.26.执行下面程序段后,y的结果是________。intx,y;x=y=2;x=x-2&&(y=y+1);printf(%d,y);A.3B.2C.1D.07.表达式(int)1.7*2+8/3-3%2的值是_________。A.2B.3C.4D.5答案:1.A2.F3.C4.C5.A6.B7.BC语言测试题(第三章)1.以下程序的输出结果是________。main(){intk=8765;printf(*%-06d*\n,k);}A.输出格式描述符不合法B.*008765*C.*8765*D.*-08765*【答案】C.2.有程序段如下:inti;floatf;scanf(i=%d,f=%f,&i,&f);若要求把数值100和765.12分别赋给变量i和f,则正确的输入格式为________。A.100765.12B.i=100,f=765.12C.100,765.12D.i=100f=765.12【答案】B3.有程序如下:main(){inti;floatx,y;scanf(%2d%f%*d%f,&i,&x,&y);printf(%d,%f,%f\n,i,x,y);}执行该程序时,若按如下形式输入数据,则输出结果是________。输入数据:567890123445A.56,789.000000,45.000000B.56789,123.000000,45.000000C.56,789.000000,123.000000D.56,789.000000,123445.000000【答案】A4.输入字母a时,下列程序的执行结果是________。#includestdio.hmain(){charch;ch=getchar();(ch='a'&&ch='z')?putchar(ch+'A'-'a'):putchar(ch);}【答案】输出大写字母AC语言测试题(第四章)1.下面是由if构成的一个程序段:if(ab){if(d==c)x=1;}elsex=2;该程序段所表示的逻辑关系对应的表达式是________。A.)dcb(a2d)cb(a1x且且B.)dcb(a2d)cb(a1x且且C.)d(c2d)cb(a1x且D.)b(a2d)cb(a1x且2.以下程序的运行结果为________。main(){intx=2,y=-1,z=2;if(xy)/*第一个if*/if(y0)z=0;/*第二个if*/elsez+=1;printf(%d\n,z);}A.3B.2C.1D.03.有程序段如下:inta=1,b=2,c=3;if(ab)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.有程序如下:#includestdio.hmain(){intc;while((c=getchar())!='\n')switch(c-'2'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break;}printf(\n);}若运行该程序时,按如下形式从键盘输入数据,则程序的运行结果为________。输入数据:2473A.668977B.668966C.66778777D.66887665.执行下面的程序段后,a和b的值分别为________。inta=3,b=5,c;c=(a--b)?a++:b--;A.3,2B.3,3C.4,4D.4,5答案:1.D2.B3.B4.A5.BC语言测试题(第五章)1.有程序段如下:intk=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.有程序段如下:intk=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.下面是一个程序段:intx,y;for(y=1,x=2;y=50;y++){if(x=10)break;x+=5;}执行该程序段后,x值为________。A.2B.7C.12D.154.有程序段如下:inti,j;for(i=5;i;i--)for(j=1;j5;j++){......}假若内循环体内不存在中止循环的控制语句,则内循环体执行的总次数为________。A.20B.24C.25D.305.下面是一个循环控制程序:#includestdio.h#includemath.hmain(){floatx,y,z;scanf(%f,%f,&x,&y);z=x/y;while(1){if(fabs(z)1.0){x=y;y=z;z=x/y;}elsebreak;}printf(%5.2f\n,y);}运行该程序,按如下形式从键盘输入数据,程序的数出结果是________。键盘输入数据:3.6,2.4A.1.50B.1.60C.2.0D.2.40答案:1.C2.C3.C4.A5.BC语言测试题(第六章)1.若有数组定义intm[][2]={1,3,5,7,9},则以下叙述正确的是________。A.该定义存在语法错误B.该定义等价于intm[3][2]={1,3,5,7,9}C.该定义等价于intm[][2]={{1,3,5},{7,9}}D.该定义等价于intm[2][2]={1,3,5,7,9}2.对两个数组a和b进行如下的初始化:chara[]={'a','b','c','d','e','f'};charb[]=abcdef;则以下叙述正确的是________。A.a数组与b数组完全相同B.a数组与b数组具有相同的长度C.a数组和b数组的最后一个字符都是字符串结束标志符'\0'D.a数组的长度比b数组的长度小3.下面程序的功能是输出数组s中最大元素的下标。请在横线上填上适当的内容,使它能得出正确的结果。main(){intk,p,s[]={1,-9,7,2,-10,3};for(p=0,k=p;p6;p++)if(s[p]s[k])____________;printf(%d\n,k);}4.下面程序的功能是将一字符串中的小写英文字母全部改成大写形式,然后输出。请在横线上填上适当的程序代码,使它能输出正确的结果。#includestdio.hmain(){inti=0;charstr[80];scanf(%s,str);while(①){if(②)str[i]=str[i]-32;③;}printf(%s\n,str);}5.下面程序的功能是将一个字符串str的内容颠倒过来。请在横线上填上适当的内容,使它能输出正确的结果。#includestring.hmain(){inti,j,①;charstr[]=abcdefghijk;j=strlen(str)②;for(i=0;ij;i++,j--){k=str[i];str[i]=str[j];str[j]=k;}printf(%s\n,str);}答案:1.B2.D3.k=p4.①str[i]!='\0'或简写成str[i]②str[i]='a'&&str[i]='z'③i++或++i或i=i+1或i+=15.①k②-1。C语言测试题(第七章)1.以下代码用来对函数进行定义,正确的函数形式是________。A.doublefun(intx,inty){z=x+y;return(z);}B.fun(intx,y){intz;returnz;}C.doublefun(intx,inty){doublez;z=x+y;returnz;}D.fun(x,y){intx,y;doublez;z=x+y;returnz;}2.有下列函数调用语句,函数fun1()的实参个数是________。fun1(a+b,(y=9,y*x),fun2(y,n,k));3.下列函数调用错误的是________。A.max(a,b)B.ax(3,a+b)C.max(3,5)D.floatmax(c,5)4.在C程序中,下面描述正确的是________。A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可以嵌套,但函数的调用可以嵌套C.函数的定义和函数调用都可以嵌套D.函数的定义和调用都不可以嵌套5.下列关于参数的说法正确的是________。A.实参和
本文标题:计算机二级C语言测试题(含答案)
链接地址:https://www.777doc.com/doc-2097903 .html