1996 年 4 月全国计算机二级 C 语言考试真题及答案
一、选择题((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.磁盘驱动器
1
(6) 下列各叙述中,正确的是
A.正数十进制原码的补码是原码本身
B.所有的十进制小数都能准确地转换为有限位二进制小数
C.汉字的计算机内码就是国标码
D.存储器具有记忆能力,其中的信息任何时候都不会丢失
(7) 在下列操作中,能导致 DOS 系统重新启动但不进行系统自检的是
A.加电开机
B.按+
C.按++
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 盘的目录结构为(画方框的为目录)
如果当前盘为 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) 为了要将 A 盘当前目录(不是根目录)中所有扩展名为.C 的文件同名复制到 A 痰哪柯
糪 USER 中,正确的命令是
A.COPY A:*.C USER\*.C
2
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.TXT+AB1.TXT
B.COPY AB1.TXT>>C:\XYZ.TXT
C.TYPE AB1.TXT>C:\XYZ.TXT
D.COPY AB1.TXT+C:\XYZ.TXT>C:\XYZ.TXT
(14) 设 A 盘为启动盘,其目录结构为(画方框的为目录)
其中文件 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
3
(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.2 软盘驱动器 A 中插入一张 360K 容量的软盘片,执行批自理命令文件 AB.BAT 后,
结果 A 盘的目录结构是
A.根目录
B.根目录----子目录 XYZ----子目录 XYZ
C.根目录 ─┬─ 子目录 XYZ
└─ 子目录 XYZ
D.根目录----子目录 XYZ
(19) 下列带有通配符的文件名,能代表文件 ABC.FOR 的是
A.*BC.?
B.A?.*
C.?BC.*
D.?.?
4
(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||b+c&&b-c
D.!((a(22) 请读程序片段:
int i=65536; printf("%d\n",i);
上面程序片段的输出结果是
A.65536
B.0
C.有语法错误,无输出结果
D.-1
(23) 设 ch 是 char 型变量,其值为 A,且有下面的表达式:
ch=(ch>=’A’&&ch<=’Z’)?(ch+32):ch
上面表达式的值是
A.A
B.a
C.Z
D.z
(24) 若 x 和 y 都是 int 型变量,x=100,y=200,且有下面的程序片段:
printf("%d",(x,y));
上面程序片段的输出结果是
5
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
6
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("-?O",&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=432, c=8765
C.a=98, b=765.000000, c=4321.000000
D.a=98, b=765.0, c=4321.0
(30) 请读程序:
#include
main()
7
{ int n[2], i, j, k;
for(i=0;i<2;i++) n[i]=0;
k=2
for(i=0;ifor(j=0;jprintf("%d\n",n[k]);
}
上面程序的输出结果是
A.不确定的值
B.3
C.2
D.1
(31) 请读程序片段:
char str[]="ABCD", *p=str;
printf("%d\n",*(p+4));
上面程序的输出结果是
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;
8