2002 年 4 月全国计算机二级 C 语言考试真题及答案
一、选择题((1)—(40)题每小题 1 分,(41)—(50)题每小题 2 分,共和 60 分)
下列各题 A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题
卡相应位置上,答在试卷上不得分。
(1) 在计算机中,一个字长的二进制位数是
A.8
B.16
C.32
D.随 CPU 的型号而定
(2) 计算机网络的突出优点是
A.速度快
B.资源共享
C.精度高
D.容量大
(3) 计算机网络能传送的信息是:
A.所有的多媒体信息
B.只有文本信息
C.除声音外的所有信息
D.文本和图像信息
(4) 切断计算机电源后,下列存储器中的信息会丢失的是:
A.RAM
B.ROM
C.软盘
D.硬盘
(5) 十进制数 127 转换成二进制数是
A.11111111
B.01111111
C.10000000
D.11111110
1
(6) 要想打印存放在当前盘当前目录上所有扩展名为.TXT 的文件内容, 应该使用的 DOS 命
令为
A.DIR *.TXT>PRN
B.TYPE *.TXT>PRN
C.COPY *.TXT PRN
D.COPY *.TXT>PRN
(7) 将当前盘当前目录及其子目录中的全部文件 (总量不足 1.2M
B.复制到一张空的 A 盘的根目录下,应该使用的 DOS 命令为
A.XCOPY *.*A:\ /M
B.XCOPY *.*A:\ /S
C.XCOPY *.*A:\ /P
D.XCOPY *.*A:\ /A
(8) 在 C 盘根目录下执行 PROMPT $p$g 命令之后,DOS 的提示符变为
A.C:>
B.C:\>
C.C>
D.C:\
(9) DOS 命令 "COPY CON DISP"中的 CON 代表
A.子目录
B.磁盘文件
C.键盘
D.显示器
(10) 结构化程序设计所规定的三种基本控制结构是
A.输入、处理、输出
B.树形、网形、环形
C.顺序、选择、循环
D.主程序、子程序、函数
(11) 要把高级语言编写的源程序转换为目标程序,需要使用
A.编辑程序
2
B.驱动程序
C.诊断程序
D.编译程序
(12) 英文小写字母 d 的 ASCII 码为 100,英文大写字母 D 的 ASCII 码为
A.50
B.66
C.52
D.68
(13) Windows 环境下,PrintScreen 键的作用是
A.复制当前窗口到剪贴板
B.打印当前窗口的内容
C.复制屏幕到剪贴板
D.打印屏幕内容
(14) 在 Windows 环境下,为了终止应用程序的运行,应
A.关闭该应用程序窗口
B.小化该应用程序窗口
C.双击该应用程序窗口的标题栏
D.将该应用程序窗口移出屏幕
(15) 下列各带有通配符的文件名中,能代表文件 XYZ.TXT 的是
A.*Z.?
B.X*.*
C.?Z,TXT
D.?.?
(16) 若有定义:int a=8,b=5,C;,执行语句 C=a/b+0.4;后,c 的值为
A.1.4
B.1
C.2.0
D.2
(17) 若变量 a 是 int 类型,并执行了语句:a=‘A'+1.6;,则正确的叙述是
3
A.a 的值是字符 C
B.a 的值是浮点型
C.不允许字符型和浮点型相加
D.a 的值是字符‘A’的 ASCII 值加上 1。
(18) 以下程序段的输出结果是
int a=1234;
printf("-\n",a);
A.12
B.34
C.1234
D.提示出错、无结果
(19) 以下选项中不属于 C 语言的类型的是
A.signed short imt
B.unsigned long int
C.unsigned int
D.long short
(20) 若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量 a、b、
c 的语句是
A.scanf("%d%d%d",&a,&b,&d;
B.scanf("%d%d%d",&a,&b,&d;
C.scanf("%d%d%d",a,b,d;
D.scanf("%d%d%d",a,b,*d;
(21) 在 16 位 C 编译系统上,若定义 long a; ,则能给 a 赋 40000 的正确语句是
A.a=20000+20000;
B.a=4000*10;
C.a=30000+10000;
D.a=4000L*10L;
(22) 以下叙述正确的是
A.可以把 define 和 if 定义为用户标识符
4
B.可以把 define 定义为用户标识符,但不能把 if 定义为用户标识符
C.可以把 if 定义为用户标识符,但不能把 define 定义为用户标识符
D.define 和 if 都不能定义为用户标识符
(23) 若定义:int a=511,*b=&a;, 则 printf("%d\n",*b);的输出结果为
A.无确定值
B.a 的地址
C.512
D.511
(24) 以下程序的输出结果是
main()
{ int a=5,b=4,c=6,d;
printf("%d\n",d=a>b?(a>c?a:c):(b));
}
A.5
B.4
C.6
D.不确定
(25) 以下程序中,while 循环的循环次数是
main()
{ int i=0;
while(i<10)
{ if(i<1) continue;
if(I==5) break;
i++;
}
......
}
A.1
B.10
5
C.6
D.死循环,不能确定次数
(26) 以下程序的输出结果是
main()
{ int a=0,i;
for(i=;i<5;i++)
{ switch(i)
{ case 0:
case 3:a+=2;
case 1:
case 2:a+=3;
default:a+=5;
}
}
printf("%d\n",a);
}
A.31
B.13
C.10
D.20
(27) 以下程序的输出结果是
main()
{ int a=4,b=5,c=0,d;
d=!a&&!b||!c;
printf("%d\n",d);
}
A.1
B.0
C.非 0 的数
6
D.-1
(28) 以下程序的输出结果是
#include
main()
{ int i=0,a=0;
while(i<20)
{ for(;;)
{ if((i )==0) break;
else i--;
}
i+=11; a+=i;
}
printh("%d\n",a);
}
A.21
B.32
C.33
D.11
(29) 以下程序的输出结果是
char cchar(char ch)
{
if(ch>=‘A’&&ch<=‘Z') ch=ch-‘A'+‘a';
return ch;
}
main()
{ char s[]="ABC+abc=defDEF",*p=s;
while(*p)
{ *p=cchar(*p);
p++;
7
}
printf("%s\n",s);
}
A.abc+ABC=DEFdef
B.abc+abc=defdef
C.abcaABCDEFdef
D.abcabcdefdef
(30) 以下程序的输出结果是
int f()
{ static int i=0;
int s=1;
s+=i; i++;
return s;
}
main()
{ int i,a=0;
for(i=0;i<5;i++) a+=f();
printf("%d\n",a);
}
A.20
B.24
C.25
D.15
(31) 以下程序段的输出结果是
char s[]="\\141\141abc\t";
printf ("%d\n",strlen(s));
A.9
B.12
C.13
8