1998 年 4 月全国计算机二级 C 语言考试真题及答案
一、选择题((1)-(40)每小题 1 分,(41)-(50)每小题 2 分,共 60 分)
下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项在答题卡相
应位置上涂黑,答在试卷上不得分。
(1) 所谓“裸机”是指
A.单片机
B.单板机
C.不装备任何软件的计算机
D.只装备操作系统的计算机
(2) 下列存储器中,存取速度快的是
A.软盘
B.硬盘
C.光盘
D.内存
(3) 系统软件中重要的是
A.操作系统
B.语言处理程序
C.工具软件
D.数据库管理系统
(4) CPU 处理的数据基本单位为字,一个字的字长
A.为 8 个二进制位
B.为 16 个二进制位
C.为 32 个二进制位
D.与 CPU 芯片的型号有关
(5) 打印当前屏幕内容应使用的控制键是
A.Scroll-Lock
B.Num-Lock
C.PgDn
D.PrtSc(Print Screen)
1
(6) 能将高级语言源程序转换成目标程序的是
A.调试程序
B.解释程序
C.编译程序
D.编辑程序
(7) 二进制数 1110111.11 转换成十进制数是
A.119.375
B.119.75
C.119.125
D.119.3
(8) 十六进制数 FF.1 转换成十进制数是
A.255.0625
B.255.125
C.127.0625
D.127.125
(9) 3.5 英寸软盘片的一个角上有一个滑动块,如果移动该滑块露出一个小孔,则该软盘
A.不能读但能写
B.不能读也不能写
C.只能读不能写
D.能读写
(10) 控制键^C 的功能为
A.终止当前操作
B.系统复位
C.暂停标准输出设备的输出
D.结束命令行
(11) COMMAND.COM 为命令处理程序,DOS 系统启动后,它
A.驻留在外存,需要时再装入内存
B.常驻内存,包含所有内部命令
C.不能处理外部命令
2
D.不能处理后缀为.EXE 的可执行文件
(12) 为了将所有扩展名为.PAS 的文件改成扩展名为.P,应使用命令
A.REN *.PAS *.?AS
B.REN PAS P
C.REN *.PAS *.P
D.REN *.PAS *.P??
(13) 设当前盘中文件 XY.C 的路径为\A\B\XU,当前目录为\A\B。为了查看文件 XY.C 的内容,
应使用命令
A.TYPE XU\XY.C
B.TYPE \XU\XY.C
C.DIR XU\XY.C
D.DIR \A\B\XU\XY.C
(14) 要将提示符改成当前盘当前目录后加一个大于号">",应使用命令
A.PROMPT
B.PROMPT $p$g
C.PROMPT $$
D.PROMPT C\>
(15) 设 C 盘根目录中有一个批处理文件 A.BAT,当前盘为 A 盘。为了执行该批处理文件,
下列命令中一定正确的是
A.C:\A
B.C:A.BAT
C.A.BAT
D.\A.BAT
(16) 设当前盘为 C 盘,将 A 盘根目录下的文件目录信息存放到当前盘当前目录下的文件 AB
中,应使用命令
A.TYPE A:\>AB
B.DIR >AB
C.DIR A:\>AB
D.DIR \>AB
3
(17) 可执行文件 ABC.EXE 所需要的输入数据已经按格式存放在文件 XYZ 中,要求将执行结
果在打印机上打印输出。下列命令中正确的是
A.ABCXYZ
C.ABC>XYZPRN
(18) 在当前盘当前目录下有一个文件 A.BAT,其内容为
CD \
MD \XYZ\AB\B\C
CD XYZ\AB\B
在正确执行上述文件后,接着执行下列命令时,不会发生错误的是
A.MD C
B.RD \XYZ
C.RD C
D.RD B
(19) 下列命令组中两个命令互相等价的是
A.TYPE AB.TXT 与 DIR AB.TXT
B.DISKCOMP A: B: 与 COMP A:*.* B:*.*
C.TYPE AB.TXT>>XY.TXT 与 COPY AB.TXT XY.TXT
D.TYPE AB.TXT>XY.TXT 与 COPY AB.TXT XY.TXT
(20) 设 A 盘为启动盘,其目录结构为
其中文件 AUTOEXEC.BAT 的内容如下:
MD \XYZ
CD \DOS\USER
则由 A 盘启动成功后,A 盘的当前目录是
A.\DOS\USER
B.\XYZ
C.根目录
D.\DOS
(21) 在 C 语言提供的合法的关键字是
A.swicth
4
B.cher
C.Case
D.default
(22) 在 C 语言中,合法的字符常量是
A.‘\084’
B.‘\x43’
C.‘ab’
D.“\0”
(23) 若已定义 x 和 y 为 double 类型,则表达式:x=1,y=x+3/2 的值是
A.1
B.2
C.2.0
D.2.5
(24) 合法的数组定义是
A.int a[]="string";
B.int a[5]={0,1,2,3,4,5};
C.vhst s="string";
D.char a[]={0,1,2,3,4,5};
(25) 设 a 为整型变量,不能正确表达数学关系:1010&&a>15
D.!(a<=10)&&!(a>=15)
(26) 若 t 为 double 类型,表达式 t=1,t5,t++的值是
A.1
B.6.0
C.2.0
D.1.0
(27) 若有定义和语句:
char s[10]:s="abcd";printf("%s\n",s);
则结果是(以下 u 代表空格)
A.输出 abcd
5
B.输出 a
C.输出 abcduuuuu
D.编译不通过
(28) 若有定义和语句:
int **pp,*p,a=10,b=20;
pp=&p;p=&a;p=&b;printf("%d\n",*p,**pp);
则输出结果是:
A.10,20
B.10,10
C.20,10
D.20,20
(29) 若有以下定义和语句:
int u=010,v=0x10,w=10;
printf("%d,%d,%d\n,u,v,w);
则输出结果是:
A.8,16,10
B.10,10,10
C.8,8,10
D.8,10,10
(30) 若有以下定义和语句
char c1=’b’,c2=’e’;
printf("%d,%c\n",c2-c1,c2-’a’+"A");
则输出结果是:
A.2,M
B.3,E
C.2,E
D.输出项与对应的格式控制不一致,输出结果不确定
(31) 若有以下定义:
char s[20]="programming",*ps=s;
6
则不能代表字符 o 的表达式是
A.ps+2
B.s[2]
C.ps[2]
D.ps+=2,*ps
(32) 若 ij 已定义为 int 类型,则以下程序段中内循环体的总的执行次数是
for (i=5;i;i--)
for(j=0;j<4;j++){...}
A.20
B.25
C.24
D.30
(33) 若有以下定义和语句:
char *s1="12345",*s2="1234";
printf("%d\n",strlen(strcpy(s1,s2)));
则输出结果是
A.4
B.5
C.9
D.10
(34) 若有以下定义和语句:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则不能表示 a 数组元素的表达式是
A.*p
B.a[10]
C.*a
D.a[p-a]
(35) 下面程序的输出是
main()
7
{ char *s="121";
int k=0, a=0, b=0;
do {k++;
if(k%2==0) {a=a+s[k]-’0’;
continue;}
b=b+s[k]-’0’;
a=a+s[k]-’0’;
}
while (s[k+1]);
printf("k=%d a=%d b=%d\n",k,a,
B.;
A.k=3 a=2 b=3
B.k=3 a=3 b=2
C.k=2 a=3 b=2
D.k=2 a=2 b=3
(36) 下面程序的输出是
main()
{ unsigned a=32768;
printf("a=%d\n",a);
}
A.a=32768
B.a=32767
C.a=-32767
D.a=-1
(37) 若有以下定义:
float x;int a,b;
则正确的 switch 语句是
A.switch(x)
B.switch(x)
8