1997 年 4 月全国计算机二级 C 语言考试真题及答案
一、 选择题((1)-(40)每小题 1 分, (41)-(50)每小题 2 分, 共 60 分)
下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题
卡相应位置上,答在试卷上不得分。
(1) 下列设备中只能作为输入设备的是
A.磁盘驱动器
B.鼠标器
C.存储器
D.显示器
(2) 下列 DOS 组合控制键中,能使标准输出同时送到屏幕与打印机的是
A.Ctrl+Break
B.Ctrl+P
C.Ctrl+C
D.Ctrl+H
(3) 通常所说的 386 机是
A.8 位机
B.16 位机
C.32 位机
D.64 位机
(4) 二进制数 01100100 转换成十六进制数是
A.64
B.63
C.100
D.144
(5) 十六进制数 100 转换成十进制数是
A.1024
B.512
C.256
D.128
1
(6) 对于存有重要数据的 5.25 英寸软盘,防止计算机病毒感染的方法是
A.不要与有病毒的软盘放在一起
B.在写保护口贴上胶条
C.保持软盘清洁
D.定期对软盘格式化
(7) 在启动 DOS 系统时,启动盘的根录下必须包含的文件是
A.START.COM
B.COMMAND.COM
C.FORMAT.COM
D.BOOT.COM
(8) DOS 系统启动后,下列文件中常驻内存的是
A.DOS.COM
B.COMMAND.COM
C.DISKCOPY.COM
D.SYS.COM
(9) 下列名字中,不能作为 DOS 磁盘文件名的是
A.JTU
B.93GZ.PRG
C.CON
D.ATT&T.BAS
(10) 下列命令中属于内部命令的是
A.SYS
B.COMP
C.DIR
D.DISKCOMP
(11) 下列文件名中,能与 ABC?.?匹配的是
A.AB12.C
B.ABCD.FOR
C.ABC.TXT
2
D.ABCD.C
(12) 要列出当前盘当前目录中第三个字符为"B"的所有文件的清单,可使用的命令为
A.DIR **B*.*
B.DIR ??B*.?
C.DIR ??B.*
D.DIR ??B*.*
(13) 设当前盘为 C 盘,其根目录下有两个子目录 D1 与 D2,且当前目录为 D1,若要进入子
目录 D2,可使用的命令为
A.CD D2
B.CD D2\
C.CD \D2
D.CD D1\D2
(14) 设当前盘为 C 盘,A 盘当前目录为根目录。为了删除 A 盘目录\WS 下扩展名为.TXT 的
所有文件,可用的命令为
A.DEL WS\*.TXT
B.DEL \WS\*.TXT
C.DEL A:\WS\?.TXT
D.DEL A:WS\*.TXT
(15) 设当前盘为 C 盘,C 盘当前目录为\AAA\BBB\A\B\X。下列命令中能正确执行的是
A.MD \AAA\BBB\A
B.MD X
C.MD \
D.MD \AAA\BBB\A\B\X
(16) 在下列各组的两个命令中,根据给定的条件,执行效果互相等价的是
A.DEL \DOS 与 RD \DOS(当前盘上有目录\DOS)
B.FORMAT A:与 DEL A:*.*(A 盘为启动盘)
C.DISKCOPY A: B: 与 COPY A:*.* B:(A 盘为启动盘)
D.COPY F1 F2 与 TYPE F1>F2(当前盘当前目录下有文件 F1)
(17) 为了在 1.2MB 的高密驱动器 A 中格式化一张 360KB 的启动盘,可用的命令为
3
A.FORMAT A:
B.FORMAT A:/S/1
C.FORMAT A:/S/4
D.FORMAT A:/S
(18) 要在打印机上输出当前盘当前目录下扩展名为.TXT 的所有文件内容,正确的命令为
A.COPY *.TXT PRN
B.COPY *.TXT>PRN
C.TYPE *.TXT PRN
D.TYPE *.TXT>PRN
(19) 设 B 盘目录结构如下:
设 B 盘的当前目录为\F2,要将 A 盘当前目录下的文件 P.BAS 复制到 B 盘的 F3 子目录中,可
用的命令为
A.COPY P.BAS B:
B.COPY A:P.BAS B:\
C.COPY A:P.BAS B:\F3
D.COPY A:P.BAS B:F3\
(20) 设当前盘为 A 盘,要将 B 盘当前目录下的两个文件 A.TXT 与 X.TXT 连接后以文件名
Y.TXT 存放到 A 盘的当前目录中,可用的命令为
A.COPY A.TXT+X.TXT A:Y.TXT
B.COPY B:A.TXT+X.TXT A:Y.TXT
C.COPY B:A.TXT+B:X.TXT >Y.TXT
D.COPY B:A.TXT+B:X.TXT Y.TXT
(21) C 语言中简单的数据类型包括
A.整型、实型、逻辑型
B.整型、实型、字符型
C.整型、字符型、逻辑型
D.整型、实型、逻辑型、字符型
(22) C 语言中,运乍对象必须是整型数的运算符是
A.%
4
B.\
C.%和\
D.* *
(23) 为表示关系 x≥y≥z,应使用 C 语言表达式
A.(x>=y)&&(y>=z) B(x>=y)AND(y>=z)
C.(x>=y>=z)
D.(x>=y)&(y>=z)
(24) 下述对 C 语言字符数组的描术中错误的是
A.字符数组可以存放字符串
B.字符数组中的字符串可以整体输入、输出
C.可以在赋值语句中通过赋值运算符"="对字符数组整体赋值
D.不可以用关系运算符对字符数组中的字符串进行比较
(25) 设有如下定义: int x=10,y=3,z; 则语句
printf("%d\n",z=(x%y,x/y)); 的输出结果是
A.1
B.0
C.4
D.3
(26) 以下程序的输出结果是
main()
{ int x=10,y=10;
printf("%d %d\n",x--,--y); }
A.10 10
B.9 9
C.9 10
D.10 9
(27) 定义如下变题和数组:
int i;
int x[3][3]={1,2,3,4,5,6,7,8,9};
5
则下面语句的输出结果是
for(i=0;i<3;i++) printf("%d",x[i][2-1]);
A.1 5 9
B.1 4 7
C.3 5 7
D.3 6 9
(28) 若要求在 if 后一对圆括号中表示 a 不等于 0 的关系,则能正确表示这一关系的表达式
为
A.a<>0
B.!a
C.a=0
D.a
(29) 阅读程序:
#include
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%x\n",p);
printf("%x\n",p+9); }
该程序有两个 printf 语句, 如果个 printf 语句输出的是 194, 则第二个 printf 语句的输
出结果是
A.203
B.204
C.1a4
D.1a6
(30) 设有如下函数定义:
int f(char *s)
{ char *p=s;
while(*p!=’\0’) p++;
6
return(p-s); }
如果在主程序中用下面的语句调用上述函数,则输出结果为
printf("%d\n",f("goodbey!"));
A.3
B.6
C.8
D.0
(31) 以下说法中正确的是
A.C 语言程序总是从个的函数开始执行
B.在 C 语言程序中,要调用的函数必须在 main()函数中定义
C.C 语言程序总是从 main()函数开始执行
D.C 语言程序中的 main()函数必须放在程序的开始部分
(32) 执行下面的程序后,a 的值为
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; } }
A.7
B.8
C.9
D.10
(33) 以下程序段的输出结果是
int x=3;
do { printf("=",x-=2);} while(!(--x));
A.1
B.3 0
C.1-2
7
D.死循环
(34) 定义如下变量: int n=10; 则下列循环的输出结果是
while(n>7)
{ n--;
printf("%d\n",n); }
A.10
B.9
C.10
D.9
9 8 9 8
8 7 8 7
7 6
(35) 两次运行下面的程序,如果从键盘上分别输入 6 和 4,则输出结果是
main( )
{ int x;
scanf("%d",&x);
if(x + + >5) printf("%d",x);
else printf("%d\n",x - -); }
A.7 和 5
B.6 和 3
C.7 和 4
D.6 和 4
(36) 设有如下定义: char *aa[2]={"abcd","ABCD"}; 则以下就法中正确的是
A.aa 数组成元素的值分别是"abcd"和 ABCD"
B.aa 是指针变量,它指向含有两个数组元素的字符型一维数组
C.aa 数组的两个元素分别存放的是含有 4 个字符的一维字符数组的首地址
D.aa 数组的两个元素中各自存放了字符’a’和’A’的地址
(37) 以下程序的输出结果是
main( )
8