全国计算机等级考试2002年4月二级C试卷第1页共13页全国计算机等级考试二级笔试试卷基础部分和C语言程序设计(考试时间:120分钟,满分100分)2002年4月一、选择题((1)—(40)题每小题1分,(41)—(50)题每小题2分,共和60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)在计算机中,一个字长的二进制位数是A)8B)16C)32D)随CPU的型号而定(2)计算机网络的突出优点是A)速度快B)资源共享C)精度高D)容量大(3)计算机网络能传送的信息是:A)所有的多媒体信息B)只有文本信息C)除声音外的所有信息D)文本和图像信息(4)切断计算机电源后,下列存储器中的信息会丢失的是:A)RAMB)ROMC)软盘D)硬盘(5)十进制数127转换成二进制数是A)11111111B)01111111C)10000000D)11111110(6)要想打印存放在当前盘当前目录上所有扩展名为.TXT的文件内容,应该使用的DOS命令为A)DIR*.TXTPRNB)TYPE*.TXTPRNC)COPY*.TXTPRND)COPY*.TXTPRN(7)将当前盘当前目录及其子目录中的全部文件(总量不足1.2MB)复制到一张空的A盘的根目录下,应该使用的DOS命令为A)XCOPY*.*A:\/MB)XCOPY*.*A:\/SC)XCOPY*.*A:\/PD)XCOPY*.*A:\/A(8)在C盘根目录下执行PROMPT$p$g命令之后,DOS的提示符变为A)C:B)C:\C)CD)C:\(9)DOS命令COPYCONDISP中的CON代表A)子目录B)磁盘文件C)键盘D)显示器等级考试武汉服务站提供E_mail:yourfield@hotmail.com全国计算机等级考试2002年4月二级C试卷第2页共13页(10)结构化程序设计所规定的三种基本控制结构是A)输入、处理、输出B)树形、网形、环形C)顺序、选择、循环D)主程序、子程序、函数(11)要把高级语言编写的源程序转换为目标程序,需要使用A)编辑程序B)驱动程序C)诊断程序D)编译程序(12)英文小写字母d的ASCII码为100,英文大写字母D的ASCII码为A)50B)66C)52D)68(13)Windows环境下,PrintScreen键的作用是A)复制当前窗口到剪贴板B)打印当前窗口的内容C)复制屏幕到剪贴板D)打印屏幕内容(14)在Windows环境下,为了终止应用程序的运行,应A)关闭该应用程序窗口B)最小化该应用程序窗口C)双击该应用程序窗口的标题栏D)将该应用程序窗口移出屏幕(15)下列各带有通配符的文件名中,能代表文件XYZ.TXT的是A)*Z.?B)X*.*C)?Z,TXTD)?.?(16)若有定义:inta=8,b=5,C;,执行语句C=a/b+0.4;后,c的值为A)1.4B)1C)2.0D)2(17)若变量a是int类型,并执行了语句:a=‘A'+1.6;,则正确的叙述是A)a的值是字符CB)a的值是浮点型C)不允许字符型和浮点型相加D)a的值是字符‘A’的ASCII值加上1。(18)以下程序段的输出结果是inta=1234;printf(%2d\n,a);A)12B)34C)1234D)提示出错、无结果(19)以下选项中不属于C语言的类型的是A)signedshortimtB)unsignedlongintC)unsignedintD)longshort(20)若有说明语句:inta,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是A)scanf(%d%d%d,&a,&b,d);B)scanf(%d%d%d,&a,&b,&d);C)scanf(%d%d%d,a,b,d);D)scanf(%d%d%d,a,b,*d);(21)在16位C编译系统上,若定义longa;,则能给a赋40000的正确语句是A)a=20000+20000;B)a=4000*10;全国计算机等级考试2002年4月二级C试卷第3页共13页C)a=30000+10000;D)a=4000L*10L;(22)以下叙述正确的是A)可以把define和if定义为用户标识符B)可以把define定义为用户标识符,但不能把if定义为用户标识符C)可以把if定义为用户标识符,但不能把define定义为用户标识符D)define和if都不能定义为用户标识符(23)若定义:inta=511,*b=&a;,则printf(%d\n,*b);的输出结果为A)无确定值B)a的地址C)512D)511(24)以下程序的输出结果是main(){inta=5,b=4,c=6,d;printf(%d\n,d=ab?(ac?a:c):(b));}A)5B)4C)6D)不确定(25)以下程序中,while循环的循环次数是main(){inti=0;while(i10){if(i1)continue;if(I==5)break;i++;}......}A)1B)10C)6D)死循环,不能确定次数(26)以下程序的输出结果是main(){inta=0,i;for(i=;i5;i++){switch(i){case0:case3:a+=2;case1:case2:a+=3;default:a+=5;全国计算机等级考试2002年4月二级C试卷第4页共13页}}printf(%d\n,a);}A)31B)13C)10D)20(27)以下程序的输出结果是main(){inta=4,b=5,c=0,d;d=!a&&!b||!c;printf(%d\n,d);}A)1B)0C)非0的数D)-1(28)以下程序的输出结果是#includestdio.hmain(){inti=0,a=0;while(i20){for(;;){if((i%10)==0)break;elsei--;}i+=11;a+=i;}printh(%d\n,a);}A)21B)32C)33D)11(29)以下程序的输出结果是charcchar(charch){if(ch=‘A’&&ch=‘Z')ch=ch-‘A'+‘a';returnch;}main(){chars[]=ABC+abc=defDEF,*p=s;while(*p){*p=cchar(*p);p++;全国计算机等级考试2002年4月二级C试卷第5页共13页}printf(%s\n,s);}A)abc+ABC=DEFdefB)abc+abc=defdefC)abcaABCDEFdefD)abcabcdefdef(30)以下程序的输出结果是intf(){staticinti=0;ints=1;s+=i;i++;returns;}main(){inti,a=0;for(i=0;i5;i++)a+=f();printf(%d\n,a);}A)20B)24C)25D)15(31)以下程序段的输出结果是chars[]=\\141\141abc\t;printf(%d\n,strlen(s));A)9B)12C)13D)14(32)若有以下程序#includestdio.hvoidf(intn);main(){voidf(intn);f(5);}voidf(intn){printf(%d\n,n);}则以下叙述中不正确的是A)若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数fB)若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数fC)对于以上程序,编译时系统会提示出错信息:提示对对f函数重复说明D)函数f无返回值,所以可用void将其类型定义为无值型全国计算机等级考试2002年4月二级C试卷第6页共13页(33)以下程序调用findmax函数返回数组中的最大值findmax(int*a,intn){int*p,*s;for(p=a,s=a;p-an;p++)if()s=p;return(*s);}main(){intx[5]={12,21,13,6,18};printf(%d\n,findmax(x,5));}在下划线处应填入的是A)psB)*p*sC)a[p]a[s]D)p-ap-s(34)以下程序的输出结果是main(){charcf[3][5]={AAAA,BBB,CC};printf(\%s\\n,ch[1]);}A)AAAAB)BBBC)BBBCCD)CC(35)在C语言中,形参的缺省存储类是A)autoB)registerC)staticD)extern(36)若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是A)p=2*(int*)malloc(sizeof(int));B)p=(int*)malloc(2*sizeof(int));C)p=(int*)malloc(2*2);D)p=(int*)calloc(2,sizeof(int));(37)以下程序的输出结果是main(){charx=040;printf(%0\n,x1);}A)100B)80C)64D)32(38)若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是A)fopen(A:\user\abc.txt,r)B)fopen(A:\\user\\abc.txt,r+)C)fopen(A:\user\abc.txt,rb)C)fopen(A:\\user\\abc.txt,w)全国计算机等级考试2002年4月二级C试卷第7页共13页(39)以下不能正确进行字符串赋初值的语句是A)charstr[5]=good!;B)charstr[]=good!;C)char*str=good!;D)charstr[5]={‘g',‘o',‘o',‘d'};(40)若有下面的说明和定义:structtest{intml;charm2;floatm3;unionuu{charul[5];intu2[2];}ua;}myaa;则sizeof(structtest)的值是A)12B)16C)14D)9(41)若有定义:intaa[8];。则以下表达式中不能代表数组元aa[1]的地址的是A)&aa[0]+1B)&aa[1]C)&aa[0]++D)aa+1(42)以下程序的输出结果是f(intb[],intm,intn){inti,s=0;for(i=m;in;i=i+2)s=s+b[i];returns;}main(){intx,a[]={1,2,3,4,5,6,7,8,9};x=f(a,3,7);printf(%d\n,x);}A)10B)18C)8D)15(43)若有以下定义和语句:ints[4][5],(*ps)[5];ps=s;则对s数组元素的正确引用形式是A)ps+1B)*(ps+3)C)ps[0][2]D)*(ps+1)+3(44)以下程序的输出结果是main(){intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=0;i3;i++)for(j=i;j=i;j++)t=t+b[i][b[j][j]];printf(%d\n,t);}全国计算机等级考试2002年4月二级C试卷第8页共13页A)3B)4C)1D)9(45)以下程序的输出结果是#includestdio.h#includestring.hmain(){charb1[8]=abcdefg,b2[8],*pb=b1+3;while(--pb=b1)strcpy(b2,pb);printf(%d\n,strlen(b2));}A)8B)3C)1D)7(46)在说明语句:int*f();中,标识符f代表的是A)一个用于指向整型数据的指针变量B)一个用于指向一维数组的行指针C)一个用于指向函数的指针变量D)一个返回值为