2003 年 4 月全国计算机二级 C 语言考试真题及答案
一、选择题((1)~(40)每小题 1 分,(41)~(55)每小题 2 分,共 60 分)
下列各题 A、B、C、D.四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡
相应位置上,答在试卷上不得分。
(1) 用 8 位无符号二进制数能表示的十进制数为
A.127
B.128
C.255
D.256
(2) 在 64 位高档微机中,一个字长所占的二进制位数为
A.8
B.16
C.32
D.64
(3) 在 Windows 环境下,为了复制一个对象,在用鼠标拖动该对象时应同时按住
A.Alt 键
B.Esc 键
C.Shift 键
D.Ctrl 键
(4) 在 Windows 菜单中,暗淡(灰色)的命令项表示该命令
A.暂时不能用
B.正在执行
C.包含下一层菜单
D.包含对话框
(5) 在 DOS 环境下,为了得到 TYPE 命令的帮助信息,正确的 DOS 命令为
A.TYPE
B.TYPE/H
C.TYPE/*
D.TYPE/?
1
(6) 下列选项中,能作为合法 DOS 文件名的是
A.ANP/A.DAT
B.ABCCOM
C.ECD.BASIC
D.XY+Z.TXT
(7) 下列叙述中正确的是
A.在 Windows 环境下,化的窗口是不能移动的
B.在 Windows 环境下,应用程序窗口小化后,该应用程序暂停执行
C.在 Windows 环境下,只有小化的窗口才能关闭
D.在 Windows 环境下,不能关闭化的窗口
(8) 在 Windows 环境下,工具栏中的复制按钮是
A.打印机图标
B.剪刀标志
C.复制标志
D.粘贴标志
(9) 在 Windows98 环境下,若要将整个屏幕上显示的内容存入剪贴板,可以按
A.Ctrl+PrintScreen 键
B.Alt+PrintScree 键
C.Shift+PrintScreen 键
D.PrintScreen 键
(10) 目前,计算机病毒扩散快的途径是
A.通过软件复制
B.通过网络传播
C.通过磁盘考贝
D.运行游戏软件
(11) 以下叙述中正确的是
A.C 语言比其他语言高级
B.C 语言可以不用编译就能被计算机识别执行
C.C 语言以接近英语国家的自然语言和数学语言作为语言的表达形式
2
D.C 语言出现的晚,具有其他语言的一切优点
(12) C 语言中用于结构化程序设计的三种基本结构是
A.顺序结构、选择结构、循环结构
B.if、switch、break
C.for、while、do-while
D.if、for、continue
(13) 在一个 C 程序中
A.main 函数必须出现在所有函数之前
B.main 函数可以在任何地方出现
C.main 函数必须出现在所有函数之后
D.main 函
(14) 下列叙述中正确的是
A.C 语言中既有逻辑类型也有集合类型
B.C 语言中没有逻辑类型但有集合类型
C.C 语言中有逻辑类型但没有集合类型
D.C 语言中既没有逻辑类型也没有集合类型
(15) 下列关于 C 语言用户标识符的叙述中正确的是
A.用户标识符中可以出现在下划线和中划线(减号)
B.用户标识符中不可以出现中划线,但可以出现下划线
C.用户标识符中可以出现下划线,但不可以放在用户标识符的开头
D.用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头
(16) 若有以下程序段(n 所赋的是八进制数)
int m=32767,n=032767
printf("%d,%o/n",m,n);
执行后输出结果是
A.32767,32767
B.32767,032767
C.32767,77777
D.32767,077777
3
(17) 下列关于单目运算符++、--的叙述中正确的是
A.它们的运算对象可以是任何变量和常量
B.它们的运算对象可以是 char 型变量和 int 型变量,但不能是 float 型变量
C.它们的运算对象可以是 int 型变量,但不能是 double 型变量和 float 型变量
D.它们的运算对象可以是 char 型变量、int 型变量和 float 型变量
(18) 若有以下程序段
int m=0xabc,n=0xabc;
m-=n;
printf("%X\n",m);
执行后输出结果是
A.0X0
B.0x0
C.0
D.0XABC
(19) 有以下程序段
int m=0,n=0; char c='a';
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%d\n",m,c,n);
若从键盘上输入:10A10<回车>,则输出结果是:
A.10,A,10
B.10,a,10
C.10,a,0
D.10,A,0
(20) 有以下程序
main()
{ int i;
for(i=0;i<3;i++)
switch(i)
{ case 1: printf("%d",i);
4
case 2: printf("%d",i);
default: printf("%d",i);
}
}
执行后输出结果是
A.011122
B.012
C.012020
D.120
(21) 有以下程序
main()
{ int i=1,j=1,k=2;
if((j++‖k++)&&i++) printf("%d,%d,%d\n",i,j,k);
}
执行后输出结果是
A.1,1,2
B.2,2,1
C.2,2,2
D.2,2,3
(22) 有以下程序
main()
{ int a=5,b=4,c=3,d=2;
if(a>b>
C.
printf("%d\n",
D.;
else if((c-1>=
D.==1)
printf("%d\n",d+1);
5
else
printf("%d\n",d+2)
}
执行后输出结果是
A.2
B.3
C.4
D.编译时有错,无结果
(23) 有以下程序
main()
{ int p[7]={11,13,14,15,16,17,18},i=0,k=0;
while(i<7&&p[i]%2){k=k+p[i];i++;}
printf("%d\n",k);
}
执行后输出结果是
A.58
B.56
C.45
D.24
(24) 有以下程序
main()
{ int i=0,s=0;
do{
if(i%2){i++;continue;}
i++;
s +=i;
}while(i<7);
printf("%d\n",s);
}
6
执行后输出结果是
A.16
B.12
C.28
D.21
(25) 有以下程序
main()
{ int i=10,j=1;
printf("%d,%d\n",i--,++j);
}
执行后输出结果是
A.9,2
B.10,2
C.9,1
D.10,1
(26) 有以下程序
main()
{ char a,b,c,*d;
a='\'; b='\xbc';
c='\0xab'; d="\017";
print("%c%c%c\n",a,b,c,*
D.;
}
编译时出现错误,以下叙述中正确的是
A.程序中只有 a='\';语句不正确
B.b='\xbc';语句不正确
C.d="\0127";语句不正确
D.a='\';和 c='\0xab';语句都不正确
(27) 有以下程序
7
int fl(int x,int y)
{ return x>y?x:y; }
int f2(int x,int y)
{ return x>y?y:x; }
main()
{ int a=4,b=3,c=5,d,e,f;
d=f1(a,
B.; d=f1(d,
C.;
e=f2(a,
B.; e=f2(e,
C.;
f=a+b+c-d-e;
printf("%d,%d,%d\n",d,f,e);
}
执行后输出结果是
A.3,4,5
B.5,3,4
C.5,4,3
D.3,5,4
(28) 有如下程序
void f(int x,int y)
{ int t;
if(x
}
main()
{ int a=4,b=3,c=5;
f(a,
B.; f(a,
8