一、选择题((1)~(40)题每题1分,(41)~(50)题每题2分共60分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在度卷上不得分。 1.一个完整的计算机系统包括______ A)主机健盘与显示器B)计算机与外部设备 C)硬件系统与软件系统D)系统软件与应用软件 2.十六进制数1000转换成十制数是 A)4096 B)1024 C)2048 D)8192 3.十进制数269转换成十六进制数是 A)10E B)10D C)10C D)10B 4.如果用八位二进制补码表示带符号的定点整数,则能表示的十进制数的范围是 A)——127到127 B)——128到128 C)——127到128 D)——128到127 5.下列设备中,既可作为输入设备又可作为输出设备的是 A)鼠标器B)打印机C)键盘D)磁盘驱动器 6.下列各叙述中,正确的是 A)正数二进制原码的补码是原码本身 B)所有的十进制数都能准确地转换为有限位二进制小数 C)汉字的计算机机内码就是国标码 D)存储器具有记忆能力,其中的信息任何时候都不会丢失 7.在下列操作中,能导致DOS系统重新启动但不进行系统自检的是 A)加电开机B)按《CTRL》《BREAK》 C)按《CTRL》《ALT》《DEL》D)按RESET按钮 8.如果给定一个带有通配符的文件名F *。?,则在下列各文件中,它能代表的文件名是 A)FA.EXE B)F.C C)EF.C D)FABC.COM 9.DOS系统启动后,下列文件中常驻内存的是 A)*。COM B)FORMAT.COM C)AUTOEXEC.BAT D)COMMAND.COM 10.设A盘的目录结构为(画方框的为目录) ┌───┬───┼─────┬─────┬────┐ │ │ │ │ │ A.FOR ABC [D1]DX.C Q.DAT [D2] ┌───┴┬───┬───┐┌──┼───┐ │││││││ B.PAS [D3]Y.BAS A.C A1.C [D4]XYZ.C ┌───┴┬──┬────┐ QR.C NA.C A.TXT B.C 如果当前盘为C盘,A盘的当前目录为、D2,则下列对A盘上文件QR.C的指定中,合法的是 A)、D2、D4、QR.C B)D4、QR.C C)A:D4、QR.C D)A:D2、D4、QR.C 11.为了要将当前目录(不是根目录)中所有扩展名为。C的文件同名复制到A 盘的根目录、USER中,正确的命令是 A)COPY A:*。C USER、*。C B)COPY A:*。C A:、USER C)COPY A:*。C A:USER、D)COPY A:*。C A:USER、*。C 12.为了在屏幕上一次显示当前盘当前目录下的所有扩展名为。TXT的文件内容,下列命令中正确的是 A)TYPE *。TXT B)TYPE *。TXT CON C)COPY *。TXT 》CON D)COPY *。TXT CON 13.设当前盘为A盘,为了将当前盘当前目录下的文件AB1.TXT连接在C 盘根目录下的文件XYZ.TXT的后面,正确的命令是 A)COPY C:、XYZ.TXTAB1.TXT B)COPY AB1.TXT 》》C:、XYZ.TXT C)TYPE AB1.TXT 》C:、XYZ.TXT D)COPY AB1.TXTC:、XYZ.TXT 》C:、XYZ.TXT 14.设A盘为启动盘,其目录结构为(画方框的为目录) 、 ┌──────┴──────┐ [DOS]COMMAND.COM ┌───┴──────┐ [USER]AUTOEXEC.BAT 其中文件AUTOEXEC.BAT的内容为 MD 、XYZ CD 、DOS、USER 则由A启动成功后,A盘的当前目录是 A)、DOS、USER B)XYZ C)、D)、DOS 15.下列DOS命令中为内部命令的是 A)COMP B)PATH C)PRINT D)FORMAT 16.设当前盘为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.FOR C)COPY *。C PRN D)COPY CON PRN 18.设当前盘为C盘,在当前目录下有全部的DOS系统文件与批处理命令文件AB.BAT,且该批处理命令文件的内容为 FORMAT A:/4 MD 、XYZ CD 、XYZ RD 、XYZ MD 、XYZ 如果在1.2M软盘驱动器A中插入一张360K容量的软盘片,执行批处理命令文件AB.BAT后,结果A盘的目录结构是 A)根目录 B)根目录──子目录XYZ──子目录XYZ C)根目录─┬子目录XYZ └─子目录XYZ D)根目录──子目录XYZ 19.下列带有通配符的文件名中,能代表文件ABC.FOR的是 A)*。BC.?B)A?。* C)?BC.*D)?。? 20.设当前盘为C盘,且C盘上含有子目录、DOS,A盘为只有根目录的启动盘(根目录下只有三个DOS系统文件与扩展名为。C的文件)。下列命令组中的两个命令从效果上可以认为等价的是 A)DEL 、DOS 与RD 、DOS B)FORMAT A:与DEL A:*。* C)FORMAT A:/S 与DEL A:*。? D)COPY A:F1 F2 与REN A:F1 F2 21.设A`B和C都是INT型变量,且A=3,B=4,C=5,则一表达式中,值为0的表达式是 A)'A'&&'B'B)A《=B C》A││BC&&BC D》!((A='A'&&CH 《='Z'》?(CH 32):CH 上面表达式的值是 A)A B)a C)Z D)z 24.若X和Y都是INT型变量,X=100,Y=200,且有下面的程序片段: PRINT(“%D”,(X,Y)); 上面程序片段的输出结果是 A)200 B)100 C)100 200 D)输出格式符不够,输出不确定的值 25.下面各语句行中,能正是行赋字符串操作的语句行是 A)CHAR ST[4][5]={“ABCDE”}; B)CHAR S[5]={'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;X《6;X》PRINTF((X%2)?(“**%D”):(“##%D、N”),X); 上面程序片段的输出结果是 A》**3 B》##3 C》##3 D》**3##4 ##4 **4 **4##5 **5 **5 ##5 28.请读程序: #INCLUDE F(CHAR *S) {CHAR *P=S; WHILE(*P !='、0')P; RETURN(P——S); } MAIN() {PRINTF(“%D、N”,F(“ABCDEF”));} 上面输出结果是 A》3 B》6 C》8 D》0 29.请读程序: #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=4321.000000 C》A=98,B=765.0,C=4321.0 30.请读程序: #INCLUDE 《STDIO.D》 MAIN() {INT N[2],I,J,K; FOR(I=0;I《2;I》N[J]=N[I]1; PRINTF(“%D、N”,N[K]); 》 上面程序的输出结果是 A》不确定的值B》3 C》2 D》1 31.请读程序片段: 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;A) {IF(B》=20)BREAK; IF(B%3==1) {B=3; CONTINUE; } B——=5; } PRINTF(“%D、N”,A); } 上面程序的输出结果是 A)7 B)8 C)9 D)10 33.若要用下面的程序片段使指针变量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}8 35.请读程序: #INCLUDE《STDIP.H》 #INCLUDE《STRING.H》 MAIN() {CHAR *SL=“ABCDEF”,*s2=“aB';” s1;s2; PRINTF(“%D、N”,STRCMP(s1,s2) ) 上面程序的输出结果是 A)正数B}负数 C}零D}不确定的值 36.请读程序: #INCLUDE《STDIP.H》 FUNC(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)31 37.请读程序: #INCLUDE《STDIO.H》 INT A[]={2,4,6,8}; MAIN() {INT I; INT *P=A; FOR(I=0;I《4;I)A[I]=*P; PRINTF(“%D、N”,A[2]); } 上面程序输出结果是 A)6 B)8 C)4 D)2 38.请读程序 #INCLUDE《STDIO.H》 CHAR FUN(CHAR *C) {IF(*C《='Z'&&*C》='A')*C ——='A'——'a'; RETURN *C; } MAIN() {CHAR S[81],*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 Door 39.请读程序: #INCLUDE《STDIO.H》 VOID FUN(INT *S) {STATIC INT J=0; DO S[J]=S[J1]; WHILE(J《2); } MAIN() {INT K,A[10]={1,2,3,4,5}; FOR(K=1;K《3;K)FUN(A); FOR(K=0;K《5;K)PRINTF(“%D”,A[K]); } 上面程序输出结果是 A)34756 B)23445 C)35745 D)12345 40.请读程序: #include《stdio.h》 #define SUB(X,Y)(X)*Y main() {int a=3,b=4; printf(“%d、n”,SUB(a,b)); } 上面程序的输出结果是 A》12 B》15 C》16 D》20 41.请读程序: #include main() {int num=0; while(num=《=2》 {num;printf(“%d、n”,num);} ) 上面程序的输出结果是 A)1 B)1 C)1 D)1 2 2 2 3 3 4 42.请读程序: #include main() {float x,y; scanf(“%f”,&x); if(x《0.0》y=0.0 else if((x《5.0》&&(x!=2.0)) y=1.0/(x2.0); else if(x《10.0》y=1.0/x; else y=10.0; printf(“%f、n”,y); ) 若运行时从键盘上输入2.0(表示回车),则上面程序的输出结果是 A)0.000000 B)0.250000 C)0.500000 D)1.000000 43.请读程序: #include main() {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=1 C)a=1,b=0 D)a=2,b=2 44.若有下面的程序片段: int a[12]={0},*p[3],**pp,i; for(i=0;i《3;i》 p[i]=&a[i*4]; pp=p; 则对数组元素的错误引用是 A)PP[0][1]B)a[10]C)P[3][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.400000] 46.请读程序: #include f(int b[],int n) {int i,r; r=1; for(i=0;i《=n;i)r=r*b[i]; return r; 》 main() {int 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》6 47.请读程序: #include #include void fun(char *s) {char a[10]; strcpy(a,“STRING”); s=a; } main() {char *p; fun(p); printf(“%s、n”,p); } 上面程序的输出结果是(表示空格) A》STRING B》STRING C》STRING D》不确定的值 48.若已建立下面的链表结构,指针P`S分别提向图中所示的结点,则不能将S所指的结点插入到链末尾的语句组是 data next head ───┤E ││────┤F │NULL│ ↑p │ s ───→ A》s——》next=NULL;p=p——}next;p——}next=s; B}p=p——}next;s——}next=p——}next;p——}next=s; C}P=P——}NEXT;S——}NEXT=P;P——}next=s; D}p=(*p)。next;(*s)。next=(*p)。next;(*p)。next=s; 49.请读程序: #include void fun(float *pl,float *p2,float *s) {s=(float *)calloc(1,sizeof(float)); *s=*pl *(p2)l } main() {float a[2]={1.1,2.2},b[2]={10.0,20.0},*s=a; fun(a,b,s); printf(“%f、n”,*s); } 上面程序的输出结果是 A}11.100000 B}12.100000C)21.100000 D)1.100000 50.请读程序: #include #include void fun(char *w,int m) {char s,*pl,*p2; p1=w;p2=wm——1; while(pl main() {static char b[]=“Goodbye”; char *chp=&b[7]; while(——chp》=&b[0]putchar(*chp); putchar('、n'); } 8.下面程序输出结果是。 ─── #include void as(int x,int y,int *cp,int *dp) {*cp=xy; *dp=x——y; } main() {int a=4,b=3,c,d; as(a,b,&c,&d); printf(“%d %d、”,c,d); } 9.请读程序: #include main(int argc,char *argv[]) {int i; printf(“%d、n”,argc); for(i=0;i《=argc——1;i》printf(“%s ”,argv[i]); printf(“、n”); 》 若上面的程序编译`连接后生成可执行文件ABC.EXE,则输入以下命令行 abc filel file2(表示回车) 程序执行后的输出结果是 。 ─── 10.条件“20” #define N 5 fun(char *s,char a,int n) {int j; *s=a;j=n; while(e void fun(char *al,char *a2,int n) {int k; for(k=0;ks[k]) 。 ──── return k; } 16.下面程序的输同结果是。 ─── #include fun(int x) {int p; if(x==0││x==1)return(3); p=x——fun(x——2); return p; } main() {printf(“%d、n”,fun(9));} 17.下面程序的输出结果是 。 ─── #include funa(int a,int b) {return ab;} funb(int a,int b) {return a——b;} sub(int(*t)(),int x,int y;) {return ((*t)(x,y));} main() {int x,(*p)(); p=funa; x=sub(p,9,3); x=sub(funb,8,3); print(“%d、n”,x); 18.下面程序的输出结果是 。 ── #include main(){char *p[]={“BOOL”,OPK“,”H“,”SP“};” int i; for(i=3;i》=0;i——,i——)printf(“%c”,*p[i]); printf(“、n”); } 19.为了建立如图所示的存储结构(即每个结点含两个域,data 是数据域,next是指向结点的指针域,)请填空。 data next ┌─┐ struct link {char data;│19│}node; └─┘ ── 20.下面的的程序用来统计文件中字符的个数,请填空。 #include main() {FILE *fp; long num=0; if((fp=fopen(“fname.dat”,“r”))==NULL) {printf(“Can'topen file!、n”);exit(0);} while ─── {fgetc(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 (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)/(a——b)或sit(x)*sit(x)*(ab)/(a——b) (7)eybdooG (8)7 1 (9)3abc.exe file1 file2 (注:两个答案,每个1分) (10)│10│((20
|