1、1996年二级笔试试题C1996年 4 月全国计算机等级考试二级C语言笔试卷及答案(考试时间120分钟,满分100分)一、选择题(1)(40)题每题分,(41)(50)题每题2分共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在度卷上不得分。1.一个完整的计算机系统包括_A)主机健盘与显示器 B)计算机与外部设备C)硬件系统与软件系统 D)系统软件与应用软件2.十六进制数1000转换成十制数是A)4096 B)1024 C)2048 D)81923.十进制数269转换成十六进制数是A)10E B)10D C)10C D)10B4.
2、如果用八位二进制补码表示带符号的定点整数,则能表示的十进制数的范围是A)127到127 B)128到128 C)127到128 D)128到1275.下列设备中,既可作为输入设备又可作为输出设备的是A)鼠标器 B)打印机 C)键盘 D)磁盘驱动器6.下列各叙述中,正确的是A)正数二进制原码的补码是原码本身B)所有的十进制数都能准确地转换为有限位二进制小数C)汉字的计算机机内码就是国标码D)存储器具有记忆能力,其中的信息任何时候都不会丢失7.在下列操作中,能导致DOS系统重新启动但不进行系统自检的是A)加电开机 B)按CTRLBREAKC)按CTRLALTDEL D)按RESET按钮8.如果给定
3、一个带有通配符的文件名F *。?,则在下列各文件中,它能代表的文件名是A)FA.EXE B)F.C C)EF.C D)FABC.COM9.DOS系统启动后,下列文件中常驻内存的是A)*。COM B)FORMAT.COMC)AUTOEXEC.BAT D)COMMAND.COM10.设A盘的目录结构为(画方框的为目录)A.FOR ABC D1DX.C Q.DAT D2B.PAS D3Y.BAS A.C A1.C D4XYZ.CQR.C NA.C A.TXT B.C如果当前盘为C盘,A盘的当前目录为、D2,则下列对A盘上文件QR.C的指定中,合法的是A)、D2、D4、QR.C B)D4、QR.CC)
4、A:D4、QR.C D)A:D2、D4、QR.C11.为了要将当前目录(不是根目录)中所有扩展名为。C的文件同名复制到A 盘的根目录、USER中,正确的命令是A)COPY A:*。C USER、*。C B)COPY A:*。C A:、USERC)COPY A:*。C A:USER、 D)COPY A:*。C A:USER、*。C12.为了在屏幕上一次显示当前盘当前目录下的所有扩展名为。TXT的文件内容,下列命令中正确的是A)TYPE *。TXT B)TYPE *。TXT CONC)COPY *。TXT CON D)COPY *。TXT CON13.设当前盘为A盘,为了将当前盘当前目录下的文件A
5、B1.TXT连接在C 盘根目录下的文件XYZ.TXT的后面,正确的命令是A)COPY C:、XYZ.TXTAB1.TXTB)COPY AB1.TXT C:、XYZ.TXTC)TYPE AB1.TXT C:、XYZ.TXTD)COPY AB1.TXTC:、XYZ.TXT C:、XYZ.TXT14.设A盘为启动盘,其目录结构为(画方框的为目录)、DOSCOMMAND.COMUSERAUTOEXEC.BAT 其中文件AUTOEXEC.BAT的内容为MD 、XYZCD 、DOS、USER则由A启动成功后,A盘的当前目录是A)、DOS、USER B)XYZC)、D)、DOS15.下列DOS命令中为内部命
6、令的是A)COMP B)PATHC)PRINT D)FORMAT16.设当前盘为C盘,所用的所有软盘已格式化且容量相同,则下列DOS命令中错误的是A)DISKCOPY A:C: B)DISKCOPY A:A:C)COPY A:*。* D)COPY A:*。*C:17.下列DOS命令中,有错误的是A)TYPE AAB.FOR PRN B)TYPE ?AB.FORC)COPY *。C PRN D)COPY CON PRN18.设当前盘为C盘,在当前目录下有全部的DOS系统文件与批处理命令文件AB.BAT,且该批处理命令文件的内容为FORMAT A:/4MD 、XYZCD 、XYZRD 、XYZMD
7、 、XYZ如果在1.2M软盘驱动器A中插入一张360K容量的软盘片,执行批处理命令文件AB.BAT后,结果A盘的目录结构是A)根目录B)根目录子目录XYZ子目录XYZC)根目录子目录XYZ子目录XYZD)根目录子目录XYZ19.下列带有通配符的文件名中,能代表文件ABC.FOR的是A)*。BC.?B)A?。*C)?BC.*D)?。?20.设当前盘为C盘,且C盘上含有子目录、DOS,A盘为只有根目录的启动盘(根目录下只有三个DOS系统文件与扩展名为。C的文件)。下列命令组中的两个命令从效果上可以认为等价的是A)DEL 、DOS 与RD 、DOSB)FORMAT A:与DEL A:*。*C)FOR
8、MAT A:/S 与DEL A:*。?D)COPY A:F1 F2 与REN A:F1 F221.设AB和C都是INT型变量,且A=3,B=4,C=5,则一表达式中,值为0的表达式是A)A&B B)A=B C)ABC&BC D)!(A=A&CH =Z)?(CH 32):CH上面表达式的值是A)A B)a C)Z D)z24.若X和Y都是INT型变量,X=100,Y=200,且有下面的程序片段:PRINT(“%D”,(X,Y);上面程序片段的输出结果是A)200 B)100 C)100 200 D)输出格式符不够,输出不确定的值25.下面各语句行中,能正是行赋字符串操作的语句行是A)CHAR S
9、T45=“ABCDE”; B)CHAR S5=A,B,C,D,E;C)CHAR *S;S=“ABCDE”; D)CHAR *S;SCANF(“%S”,S);26.若K是INT型变量,且有下面的程序片段:K =3;IF(K=0)PRINTF(“#”)ELSE PRINTF(“&”);上面程序片段的输出结果是A)# B)& C)#& D)有语法错误,无输出结果27.若X是INT型变量,且有下面的程序片段:FOR(X=3;X6;X)PRINTF(X%2)?(“*%D”):(“#%D、N”),X);上面程序片段的输出结果是A)*3 B)#3 C)#3 D)*3#4 #4 *4 *4#5 *5*5 #5
10、28.请读程序:#INCLUDE F(CHAR *S)CHAR *P=S;WHILE(*P !=、0);RETURN(PS);MAIN()PRINTF(“%D、N”,F(“ABCDEF”);上面输出结果是A)3 B)6 C)8 D)029.请读程序:#INCLUDE MAIN()INT A;FLOAT B,C;SCANF(“%2D%3F%4F”,&A,&B,&C);PRINTF(“、NA=%D,B=%F,C=%F、N”,A,B,C);若运行时从键盘上输入9876543210(表示回车),则上面程序的输出结果是A)A=98,B=765,C=4321 B)A=10,B=765.000000,C=4
11、321.000000 C)A=98,B=765.0,C=4321.030.请读程序:#INCLUDE STDIO.DMAIN()INT N2,I,J,K;FOR(I=0;I2;I)NJ=NI1;PRINTF(“%D、N”,NK);上面程序的输出结果是A)不确定的值 B)3 C)2 D)131.请读程序片段:CHAR STR=“ABCD”,*P=STR;PRINTF(“%D、N”,*(P4);上面程序片段的输出结果是A)68 B)0 C)字符D的地址 D)不确定的值(32)请读程序:#INCLUDE MAIN()INT A,B;FOR(A=1,B=1,A=100;)IF(B=20)BREAK;I
12、F(B%3=1)B=3;CONTINUE;B=5;PRINTF(“%D、N”,A);上面程序的输出结果是A)7 B)8 C)9 D)1033.若要用下面的程序片段使指针变量P指向一个存储型变量的动态存储单元;INT *P;P =MALLOC(SIZEOF(INT);则应填入A)INT B)INT * C)(*INT) D)(INT *)34.请读程序片段(字符串内没有空格字符):PRINTF(“%D、N”,STRLEN(“ATS、N012、1、”);上面程序片段的输出结果是A)11 B)10 C)9 D)835.请读程序:#INCLUDESTDIP.H#INCLUDESTRING.HMAIN(
13、)CHAR *SL=“ABCDEF”,*s2=“aB;”s1;s2;PRINTF(“%D、N”,STRCMP(s1,s2)上面程序的输出结果是A)正数 B)负数 C)零 D)不确定的值36.请读程序:#INCLUDESTDIP.HFUNC(INT A,INT B)INT C;C=AB;RETURN C;MAIN()INT X=6,Y=7,Z=8,R;R=FUNC(X,Y,XY),Z);PRINTF(“%D、N”,R);上面程序的输出结果是A)11 B)20 C)21 D)3137.请读程序:#INCLUDESTDIO.HINT A=2,4,6,8;MAIN()INT I;INT *P=A;FO
14、R(I=0;I4;I)AI=*P;PRINTF(“%D、N”,A2);上面程序输出结果是A)6 B)8 C)4 D)238.请读程序#INCLUDESTDIO.HCHAR FUN(CHAR *C)IF(*C=Z&*C=A)*C =Aa;RETURN *C;MAIN()CHAR S81,*P=S;GETS(S);WHILE(*P)*P=FUN(P);PUTCHAR(*P);P;PUTCHAR(、N);若运行时从键盘上输入OPEN THE DOOR(表示回车),则一面的输出结果是A)oPEN tHE dOOR B)open the doorC)OPEN THE DOOR D)Open The Do
15、or39.请读程序:#INCLUDESTDIO.HVOID FUN(INT *S)STATIC INT J=0;DOSJ=SJ1;WHILE(J2);MAIN()INT K,A10=1,2,3,4,5;FOR(K=1;K3;K)FUN(A);FOR(K=0;K5;K)PRINTF(“%D”,AK);上面程序输出结果是A)34756 B)23445C)35745 D)1234540.请读程序:#includestdio.h#define SUB(X,Y)(X)*Ymain()int a=3,b=4;printf(“%d、n”,SUB(a,b);上面程序的输出结果是A)12 B)15C)16 D)
16、2041.请读程序:#includemain()int num=0;while(num=2)num;printf(“%d、n”,num);上面程序的输出结果是A)1 B)1 C)1 D)12 2 2 3 3 442.请读程序:#includemain()float x,y;scanf(“%f”,&x);if(x0.0)y=0.0else if(x5.0)&(x!=2.0)y=1.0/(x2.0);else if(x10.0)y=1.0/x;else y=10.0;printf(“%f、n”,y);若运行时从键盘上输入2.0(表示回车),则上面程序的输出结果是A)0.000000 B)0.250
17、000C)0.500000 D)1.00000043.请读程序:#includemain()int x=1,y=0,a=0,b=0;switch(x)case 1:switch(y)case 0:a;break;case 1:b;break;case 2:a;b;break;printf(“a=%d,b=%d、n”,a,b);上面程序输出结果是A)a=2,b=1 B)a=1,b=1C)a=1,b=0 D)a=2,b=244.若有下面的程序片段:int a12=0,*p3,*pp,i;for(i=0;i3;i)pi=&ai*4;pp=p;则对数组元素的错误引用是A)PP01 B)a10 C)P3
18、1 D)*(*(P2)2)45.请读程序:#include#includemain()float x,y,z;scanf(“%f%f”,&x,&y,),z=x/y;while(1)if(fabs(z)1.0)x=y;y=z;z=x/y;else break;printf(“%f、n”,y);若运行时从键盘上输入3.6 2.4(表示回车),则输出结果是A)1.500000 B)1.600000 C)2.000000 D)2.40000046.请读程序:#includef(int b,int n)int i,r;r=1;for(i=0;i=n;i)r=r*bi;return r;main()int
19、 x,a=2,3,4,5,6,7,8,9;x=f(a,3);printf(“%d、n”,x);上面程序输出结果是A)720 B)120 C)24 D)647.请读程序:#include#includevoid fun(char *s)char a10;strcpy(a,“STRING”);s=a;main()char *p;fun(p);printf(“%s、n”,p);上面程序的输出结果是(表示空格)A)STRING B)STRINGC)STRING D)不确定的值48.若已建立下面的链表结构,指针PS分别提向图中所示的结点,则不能将S所指的结点插入到链末尾的语句组是data nexthea
20、d E F NULLp s A)snext=NULL;p=pnext;pnext=s;B)p=pnext;snext=pnext;pnext=s;C)P=PNEXT;SNEXT=P;Pnext=s;D)p=(*p)。next;(*s)。next=(*p)。next;(*p)。next=s;49.请读程序:#includevoid fun(float *pl,float *p2,float *s)s=(float *)calloc(1,sizeof(float);*s=*pl *(p2)lmain()float a2=1.1,2.2,b2=10.0,20.0,*s=a;fun(a,b,s);pr
21、intf(“%f、n”,*s);上面程序的输出结果是A)11.100000 B)12.100000C)21.100000 D)1.10000050.请读程序:#include#includevoid fun(char *w,int m)char s,*pl,*p2;p1=w;p2=wm1;while(plmain()static char b=“Goodbye”;char *chp=&b7;while(chp=&b0putchar(*chp);putchar(、n);8.下面程序输出结果是。#includevoid as(int x,int y,int *cp,int *dp)*cp=xy;*
22、dp=xy;main()int a=4,b=3,c,d;as(a,b,&c,&d);printf(“%d %d、”,c,d);9.请读程序:#includemain(int argc,char *argv)int i;printf(“%d、n”,argc);for(i=0;i=argc1;i)printf(“%s ”,argvi);printf(“、n”);若上面的程序编译连接后生成可执行文件ABC.EXE,则输入以下命令行abc filel file2(表示回车)程序执行后的输出结果是。10.条件“20”#define N 5fun(char *s,char a,int n)int j;*s
23、=a;j=n;while(evoid fun(char *al,char *a,int n)int k;for(k=0;ksk)。return k;16.下面程序的输同结果是。#includefun(int x)int p;if(x=0x=1)return(3);p=xfun(x2);return p;main()printf(“%d、n”,fun(9);17.下面程序的输出结果是。#includefuna(int a,int b)return ab;funb(int a,int b)return ab;sub(int(*t)(),int x,int y;)return (*t)(x,y);m
24、ain()int x,(*p)();p=funa;x=sub(p,9,3);x=sub(funb,8,3);print(“%d、n”,x);18.下面程序的输出结果是。#includemain()char *p=“BOOL”,OPK“,”H“,”SP“;”int i;for(i=3;i=0;i,i)printf(“%c”,*pi);printf(“、n”);19.为了建立如图所示的存储结构(即每个结点含两个域,data 是数据域,next是指向结点的指针域,)请填空。data nextstruct link char data;19node;20.下面的的程序用来统计文件中字符的个数,请填空。
25、#includemain()FILE *fp;long num=0;if(fp=fopen(“fname.dat”,“r”)=NULL)printf(“Cantopen file!、n”);exit(0);whilefgetc(fp);num;printf(“num=%d、n”,num);fclose(fp);1996年4月全国计算机等级考试二级笔试试卷一选择题(1)(40)题每题1分,(41)(50)题每题2分,共60分)(1)C (2)A (3)B (4)D (5)D (6)A (7)C (8)B (9)D (10)C (11)B (12)D (13)A (14)C (15)B (16)A
26、 (17)B (18)A (19)C (20)C (21)D (22)B (23)B (24)A (25)C (26)D (27)D (28)B (29)C (30)A (31)B (32)B (33)D (34)C (35)A (36)C (37)A (38)B (39)C (40)A (41)C (42)C (43)A (44)C (45)B (46)B (47)D (48)C (49)D (50)C 二填空题(每空2分,共40分)(第(2)(3)空允许小写或大小写混合使用,其它空均须与答案一样)(1)外部(2)DIR ?C*。*(3)A:、X、Y、W、QR.C (4)64(5)92 (6)6 pow(sin(x),2)*(ab)/(ab)或sit(x)*sit(x)*(ab)/(ab)(7)eybdooG (8)7 1(9)3abc.exe file1 file2 (注:两个答案,每个1分)(10)10(20
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1