您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 2011年全国计算机等级考试二级C笔试练习题
2011年全国计算机等级考试二级C笔试练习题(1)1.若变量已正确定义并赋值,对库函数错误调用的是A)k=scanf(%d%d,&i,&j);B)printf(\\%d\\\n,k);C)getchar(ch);D)putchar(ch);2.要求定义一个返回值为double类型的名为mysum的函数,其功能为求两个double类型数的和值,正确的定义是:A)mysum(doublea,b){return(a+b);}B)mysum(doublea,doubleb){returna+b;}C)doublemysum(inta,intb);{returna+b;}D)doublemysum(doublea,doubleb){retrun(a+b);}3.以下是对fun函数的正确调用:fun(a+b,fun(a+b,(a,b)));则fun函数有______个形参。4.若有以下函数定义:myfun(doublea,intn){……}则myfun函数值的类型是A)voidB)doubleC)intD)char5.若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值。以下选项中错误的程序是A)doublefun(inta,intb){……}main(){┇fun(i,k);┇}B)main(){printf(%f\n,fun(2,10));┇}doublefun(inta,intb){……}C)doublefun(int,int);main(){┇x=fun(i,k);┇}doublefun(inta,intb){……}D)main(){doublefun(inti,inty);┇x=fun(i,k);┇}doublefun(inta,intb){……}6.若有以下函数:intfun(intx){return(1+x*x);}则语句printf(%d\n,fun(fun(fun(fun(1)))));的输出结果是答案:CD2CB6772011年全国计算机等级考试二级C笔试练习题(2)1.若有以下定义:floatx;inta,b,c=2;,则正确的switch语句是()A)switch(x){case1.0∶printf(*\n);case2.0∶printf(**\n);}B)switch(int(x)){case1∶printf(*\n);case2∶printf(**\n);}C)switch(a+b){case1∶printf(*\n);case1+2∶printf(**\n);}D)switch(a+b){case1∶printf(*\n);casec∶printf(**\n);}2.执行下面程序片段的结果是()intx=123;do{printf(=\n,x--);}while(!x);A)打印出321B)打印出123C)不打印任何内容D)陷入死循环3.以下程序的输出结果是()#includemain(){inti=0,a=0;while(i20){for(;;){if((i)==0)break;elsei--;}i+=11;a+=i;}printf(%d\n,a);}A)21B)32C)33D)114.下列与表达式“b=(a0?-1∶a0?1∶0)”的功能等价选项是()A)b=0;if(a=0)if(a0)b=1;elseb=-1;B)if(a0)b=1;elseif(a0)b=-1;elseb=0C)if(a)if(a0)b=-1;elseif(a0)b=1;elseb=0;D)b=-1;if(a)if(a0)b=1;elseif(a==0)b=0;elseb=-1;5.若有以下定义:chara;intb;floatc;doubled;则表达式“a*b+d-c”值的类型为()A)floatB)intC)charD)double6.以下叙述中正确的是()A)在函数中必须须要有return语句B)在函数中可以有多个return语句,但只执行其中的一个C)return语句中必须要有一个表达式D)函数值并不总是通过return语句传回调用处7.有以下程序floatfun(intx,inty){return(x+y);}main(){inta=2,b=5,c=8;printf(%3.0f\n,fun((int)fun(a+c,b),a-c));}程序运行后的输出结果是()A)编译出错B)9C)21D)9.08.若已定义:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,I;其中0≤i≤9,则对a数组元素不正确的引用是()A)a[p-a]B)*(&a[i])C)p[i]D)a[10]9.以下叙述中正确的是()A)全局变量的作用域一定比局部变量的作用域大B)静态(static)类型变量的生存期贯穿于整个程序的运行期间C)函数的形参都属于全局变量D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值10.若有如下程序:main(){chara[][9]={china,Japan,USA,France};printf(\′%s\′\n,a[2]);}则程序运行后的输出结果是()A)′Japan′B)′USA′C)USAD)′inaJapanUSAFrance′答案:1.C2.B3.B4.B5.D6.B7.B8.D9.B10.B2011年全国计算机等级考试二级C笔试练习题(3)1.若变量c为char类型,能正确判断出c为小写字母的表达式是()A)′a′=c=′z′B)(c=′a′)||(c=′z′)C)(′a′=C)D)(c=′a′)&&(c=′z′)2.下面程序的输出结果是()main(){intx=2,y=0,z;x+=3+2;printf(%d,x);x*=y=z=4;printf(%d,x);}A)728B)无法计算C)7,4D)8,43.有如下程序main(){intx=1,a=0,b=0;switch(x){case0∶b++;case1∶a++;case2∶a++;b++;}printf(a=%d,b=%d\n,a,b);}程序运行后的输出结果是()A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=24.以下选项中,正确的if-else语句是()A)if(x!=0)printf(%d,x)elseprintf(%d,-x);B)if(x!=0){x=x+y;printf(%d,x);}elseprintf(%d,-x);C)if(x!=0)x=x+y;printf(%d,x);elseprintf(%d,-x);D)if(x!=0){x=x+y;printf(%d,x)};elseprintf(%d,-x);5.有以下程序段intn=0,p;do{scanf(%d,&p);n++;}while(p!=12345&&n3);此处do-while循环的结束条件是()A)p的值不等于12345并且n的值小于3B)p的值等于12345并且n的值大于等于3C)p的值不等于12345或者n的值小于3D)p的值等于12345或者n的值大于等于36.若有如下程序段:main(){intn=0;while(printf(*)){n++;if(n3)break;}}则下列描述正确的是()A)其中循环控制表达式与0等价B)其中循环控制表达式与’0’等价C)其中循环控制表达式是不合法的D)以上说法都不对7.C语言中main函数参数的非法表示形式是()A)main(char*argv[],intargc)B)main(inta,char**b)C)main(inty,char*x[])D)main(intargv,char*argc[])8.设有如下枚举类型定义:enumlanguage{Basic=3,Assembly,Ada=100,COBOL,Fortran};枚举类型Fortran的值为()A)4B)7C)102D)1039.阅读下述程序段:y=-1;if(x!=0)if(x0)y=1;elsey=0;该程序段所描述的数学关系是()A)y=-1(x0)0(x=0)1(x0)B)y=1(x0)0(x=0)-1(x0)C)y=0(x0)-1(x=0)1(x0)D)y=-1(x0)1(x=0)0(x0)10.设有数组定义:chararray[]=China;蚴rray所占的空间为()A)4个字节B)5个字节C)6个字节D)7个字节答案:1.D2.A3.A4.B5.D6.B7.A8.C9.C10.C2011年全国计算机等级考试二级C笔试练习题(4)1.有以下程序:main(){intx=0xFFFF;printf(%d\n,x--);}执行后的输出结果是()A)32767B)FFFEC)-1D)-327682.以下程序的输出结果是()#include#includemain(){charstr[12]={′s′,′t′,′r′,′i′,′n′,′g′};printf(%d\n,strlen(str));}A)6B)7C)11D)123.若有以下定义:chars[20]=programming,*ps=s;则不能代表字符o的表达式是()A)ps+2B)s[2]C)ps[2]D)ps+=2,*ps4.关于语句“for(表达式1;表达式2;表达式3)”,下面说法中错误的是()A)for语句中的三个表达式可以同时省略B)for语句可以用于循环次数不确定的情况C)for语句中表达式2只能是关系表达式或逻辑表达式D)for语句中表达式1和表达式3可以是逗号表达式5.执行下面程序片段的结果是()intx=23;do{printf(-,x--);}while(!x);A)打印出321B)打印出23C)不打印任何内容D)陷入死循环6.与y=(x0?1∶x0?-1∶0);的功能相同的if语句是()A)if(x0)y=1;elseif(x0)y=-1;elsey=0;B)if(x)if(x0)y=1;elseif(x0)y=-1;elsey=0;C)y=-1;if(x)if(x0)y=1;elseif(x==0)y=0;elsey=-1;D)y=0;if(x=0)if(x0)y=1;elsey=-1;7.标准库函数fgets(s,n,f)的功能是()A)从文件f中读取长度为n的字符串存入指针s所指的内存B)从文件f中读取长度不超过n-1的字符串存入指针s所指的内存C)从文件f中读取n个字符串存入指针s所指的内存D)从文件f中读取长度为n-1的字符串存入指针s所指的内存8.若有如下函数调用语句:sub(a,1,ffun(b,c),d+c,(a+d,c*f));则在该函数调用语句中含有实参的个数是()A)5B)7C)10D)69.若要定义a为3×4的二维数组,正确的定义语句是()A)floata(3,4);B)floata[3][4];C)floata(3)(4);D)floata[3,4];10.有以下程序main(){intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};inti,s=0;for(i=0;i4;i++)s+=aa[i][1];printf(%d\n,s);}程序运行后的输出结果是()A)11B)19C)13D)20答案:1.C2.A3.A4.C5.B6.A7.B8.A9.B10.B
本文标题:2011年全国计算机等级考试二级C笔试练习题
链接地址:https://www.777doc.com/doc-3052142 .html