专题练习4全国计算机二级C语言考试练习题及答案(近3年)
温故而知新,下笔如有神近三年4月全国计算机二级C语言考试专项习题训练及答案一、选择题((1)(40)每小题1分,(41)(55)每小题2分,共60分)下列各题 A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1) 用8位无符号二进制数能表示的十进制数为A127B128C255D256(2) 在64位高档微机中,一个字长所占的二进制位数为A8B16C32D64(3) 在Windows环境下,为了复制一个对象,在用鼠标拖动该对象时应同时按住AAlt键BEsc键CShift键DCtrl键(4) 在Windows菜单中,暗淡(灰色)的命令项表示该命令A暂时不能用B正在执行C包含下一层菜单D包含对话框(5) 在DOS环境下,为了得到TYPE命令的帮助信息,正确的DOS命令为ATYPEBTYPE/HCTYPE/*DTYPE/?(6) 下列选项中,能作为合法DOS文件名的是AANP/A.DATBABCCOMCECD.BASICDXY+Z.TXT(7) 下列叙述中正确的是A在Windows环境下,化的窗口是不能移动的B在Windows环境下,应用程序窗口小化后,该应用程序暂停执行C在Windows环境下,只有小化的窗口才能关闭D在Windows环境下,不能关闭化的窗口(8) 在Windows环境下,工具栏中的复制按钮是A打印机图标B剪刀标志C复制标志D粘贴标志(9) 在Windows98环境下,若要将整个屏幕上显示的内容存入剪贴板,可以按ACtrl+PrintScreen键BAlt+PrintScree键CShift+PrintScreen键DPrintScreen键(10) 目前,计算机病毒扩散快的途径是A通过软件复制B通过网络传播C通过磁盘考贝D运行游戏软件(11) 以下叙述中正确的是AC语言比其他语言高级BC语言可以不用编译就能被计算机识别执行CC语言以接近英语国家的自然语言和数学语言作为语言的表达形式DC语言出现的晚,具有其他语言的一切优点(12) C语言中用于结构化程序设计的三种基本结构是A顺序结构、选择结构、循环结构Bif、switch、breakCfor、while、do-whileDif、for、continue(13) 在一个C程序中Amain函数必须出现在所有函数之前Bmain函数可以在任何地方出现Cmain函数必须出现在所有函数之后Dmain函(14) 下列叙述中正确的是AC语言中既有逻辑类型也有集合类型BC语言中没有逻辑类型但有集合类型CC语言中有逻辑类型但没有集合类型DC语言中既没有逻辑类型也没有集合类型(15) 下列关于C语言用户标识符的叙述中正确的是A用户标识符中可以出现在下划线和中划线(减号)B用户标识符中不可以出现中划线,但可以出现下划线C用户标识符中可以出现下划线,但不可以放在用户标识符的开头D用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头(16) 若有以下程序段(n所赋的是八进制数)int m=32767,n=032767printf("%d,%o/n",m,n);执行后输出结果是A32767,32767B32767,032767C32767,77777D32767,077777(17) 下列关于单目运算符+、-的叙述中正确的是A它们的运算对象可以是任何变量和常量B它们的运算对象可以是char型变量和int型变量,但不能是float型变量C它们的运算对象可以是int型变量,但不能是double型变量和float型变量D它们的运算对象可以是char型变量、int型变量和float型变量(18) 若有以下程序段int m=0xabc,n=0xabc;m-=n;printf("%Xn",m);执行后输出结果是A0X0B0x0C0D0XABC(19) 有以下程序段int m=0,n=0; char c='a' scanf("%d%c%d",&m,&c,&n); printf("%d,%c,%dn",m,c,n);若从键盘上输入:10A10<回车>,则输出结果是:A10,A,10B10,a,10C10,a,0D10,A,0(20) 有以下程序main() int i; for(i=0;i<3;i+) switch(i) case 1: printf("%d",i); case 2: printf("%d",i); default: printf("%d",i); 执行后输出结果是A011122B012C012020D120(21) 有以下程序main() int i=1,j=1,k=2; if(j+k+)&&i+) printf("%d,%d,%dn",i,j,k);执行后输出结果是A1,1,2B2,2,1C2,2,2D2,2,3(22) 有以下程序main() int a=5,b=4,c=3,d=2; if(a>b>Cprintf("%dn",D; else if(c-1>=D=1)printf("%dn",d+1); elseprintf("%dn",d+2)执行后输出结果是A2B3C4D编译时有错,无结果(23) 有以下程序main() int p7=11,13,14,15,16,17,18,i=0,k=0; while(i<7&&pi%2)k=k+pi;i+; printf("%dn",k);执行后输出结果是A58B56C45D24(24) 有以下程序main() int i=0,s=0;doif(i%2)i+;continue;i+;s +=i;while(i<7); printf("%dn",s);执行后输出结果是A16B12C28D21(25) 有以下程序main() int i=10,j=1; printf("%d,%dn",i-,+j);执行后输出结果是A9,2B10,2C9,1D10,1(26) 有以下程序main() char a,b,c,*d; a='' b='xbc' c='0xab' d="017" print("%c%c%cn",a,b,c,*D;编译时出现错误,以下叙述中正确的是A程序中只有a='';语句不正确Bb='xbc';语句不正确Cd="0127"语句不正确Da='';和c='0xab';语句都不正确(27) 有以下程序int fl(int x,int y) return x>y?x:y; int f2(int x,int y) return x>y?y:x; main() int a=4,b=3,c=5,d,e,f; d=f1(a,B; d=f1(d,C;e=f2(a,B; e=f2(e,C; f=a+b+c-d-e; printf("%d,%d,%dn",d,f,e);执行后输出结果是A3,4,5B5,3,4C5,4,3D3,5,4(28) 有如下程序void f(int x,int y) int t; if(xmain() int a=4,b=3,c=5; f(a,B; f(a,C; f(b,C; printf("%d,%d,%dn",a,b,C;执行后输出结果是A3,4,5B5,3,4C5,4,3D4,3,5(29) 若有以下定义和语句#includeint a=4,b=3,*p,*q,*w;p=&a; q=&b; w=q; q=NULL;则以下选项中错误的语句是A*q=0;Bw=p;C*p=a;D*p=*w;(30) 有以下程序int *f(int *x,int *y) if(*x<*y) return x; else return y;main() int a=7,b=8,*p,*q,*r;执行后输出结果是A7,8,8B7,8,7C8,7,7D8,7,8(31) 有以下程序main() char *s="one","two","three",*p; p=s1; printf("%c,%sn",*(p+1),s0);执行后输出结果是An,twoBt,one C)w,oneDo,two(32) 有以下程序main() int x8=8,7,6,5,0,0,*s; s=x+3 printf("%dn",s2);执行后输出结果是A随机值B0C5D6(33) 以下能正确定义数组并正确赋初值的语句是Aint N=5,bNN;Bint a12=1,3;Cint c2=1,2,3,4;Dint d32=1,2,34;(34) 有以下程序main() int m3=1,4,7,2,5,8,3,6,9; int i,j,k=2; for(i=0;i<3;i+) printf("%d",mki); 执行后输出结果是A4 5 6B2 5 8C3 6 9D7 8 9(35) 以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。#define N 10void arrin(int xN) int i=0; while(i scanf("%d", );在下划线处应填入的是Ax+iB&xi+1Cx+(i+) D)&x+i(36) 有以下程序main() char s="n123" printf("%d,%dn",strlen(s),sizeof(s);执行后输出结果是A赋初值的字符串有错B6,7C5,6D6,6(37) 阅读以下函数fun(char *s1,char *s2) int i=0;while(s1i=s2i&& s2i!='0')i+;return(s1i= && s2i!='0');此函数的功能是A将s2所指字符串赋给s1B比较s1和s2所指字符串的大小,若s1比s2的大,函数值