2004 年 9 月全国计算机二级 C 语言考试真题及答案
1.与十进制数 200 等值的十六进制数为
A.A8
B.A4
C.C8
D.C4
2.DOS 文件系统的组织结构属于
A.星形结构
B.网形结构
C.环形结构
D.树形结构
3. 对存储器按字节进行编址,若某存储器芯片共有 10 根地址线,则该存储器芯片的存储容
量为
A.1KB
B.2KB
C.4KB
D.8KB
4. 在 DOS 环境下,代表键盘和显示器的设备文件名为
A.PRN
B.CON
C.NUL
D.LPT
5. 计算机网络的主要特点是
A.运算速度快
B.运算精度高
C.资源共享
D.人机交互
6.磁盘处于写保护状态时其中的数据
A.不能读出,不能删改
1
B.可以读出,不能删改
C.不能读出,可以删改
D.可以读出,可以删改
7.从 Windows 环境进入 MS-DOS 方式后,返回 Windows 环境的 DOS 命令为
A.EXIT
B.QUIT
C.RET
D.MSDO
8. 在 Windows 环境下,若资源管理器左宣传品中的某文件夹左边标有“+”标记,则表示
A.该文件夹为空
B.该文件夹中含有子文件夹
C.该文件夹中只包含有可执行文件
D.该文件夹中包含系统文件
9.在 Windows 菜单中,暗淡的命令名项目表示该命令
A.暂时不能用
B.正在执行
C.包含下一层菜单
D.包含对话框
10.在 Windows 环境下,单击当前窗口中的按钮“× ”(右上角的关闭按钮),其功能是
A.将当前应用程序转为后台运行
B.退出 Windows 后再关机
C.终止当前应用程序的运行
D.退出 Windows 后重新启动计算机
11.用 C 语言编写的代码程序
A.可立即执行
B.是一个源程序
C.经过编译即可执行
D.经过编译解释才能执行
12.结构化程序由三种基本结构组成,三种基本结构组成的算法
2
A.可以完成任何复杂的任务
B.只能完成部分复杂的任务
C.只能完成符合结构化的任务
D.只能完成一些简单的任务
13. 以下定义语句中正确的是
A.char a='A'b='B';
B.float a=b=10.0;
C.int a=10,*b=&a;
D.float *a,b=&a;
14.下列选项中,不能用作标识符的是
A._1234_
B._1_2
C.int_2_
D.2_int_
15.有以下定义语句
double a,b; int w; long c;
若各变量已正确赋值,则下列选项中正确的表达式是
A.a=a+b=b++
B.w%(int)a+b
C.(c+w)%(int)a
D.w=a==b;
16.有以下程序
main()
{ int m=3,n=4,x;
x=-m++;
x=x+8/++n;
printf("%d\n",x);
}
程序运行后的输出结果是
3
A.3
B.5
C.-1
D.-2
17.有以下程序
main()
{ char a='a',b;
print("%c,",++a);
printf("%c\n",b=a++);
}
程序运行后的输出结果是
A.b,b
B.b,c
C.a,b
D.a,c
18.有以下程序
main()
{ int m=0256,n=256;
printf("%o %o\n",mn,n);
}
程序运行后的输出结果是
A.0256 0400
B.0256 256
C.256 400
D.400 400
19.有以下程序
main()
{ int a=666,b=888;
printf("%d\n",a,
4
B.;
}
程序运行后的输出结果是
A.错误信息
B.666
C.888
D.666,888
20.有以下程序
main()
{ int i;
for(i=0;i<3;i++)
switch(i)
{
case 0:printf("%d",i);
case 2:printf("%d",i);
default:printf("%d",i);
}
}
程序运行后的输出结果是
A.022111
B.021021
C.000122
D.012
21.若 x 和 y 代表整型数,以下表达式中不能正确表示数学关系|x-y|<10 的是
资料来源:东方教育网全国计算机等级考试频道 //www.eastedu.com.cn
A.abs(x-y)<10
B.x-y>-10&& x-y<10
C.@(x-y)<-10||!(y-x)>10
D.(x-y)*(x-y)<100
5
22.有以下程序
main()
{
int a=3,b=4,c=5,d=2;
if(a>
B.
if(b>
C.
printf("%d",d++ +1);
else
printf("%d",++d +1);
printf("%d\n",
D.;
}
程序运行后的输出结果是
A.2
B.3
C.43
D.44
23.下列条件语句中,功能与其他语句不同的是
A. if(a) printf("%d\n",x); else printf("%d\n",y);
B. if(a==0) printf("%d\n",y); else printf("%d\n",x);
C. if (a!=0) printf("%d\n",x); else printf("%d\n",y);
D. if(a==0) printf("%d\n",x); else printf("%d\n",y);
24.有以下程序
main()
{ int i=0,x=0;
for (;;)
{
6
if(i==3||i==5) continue;
if (i==6) break;
i++;
s+=i;
};
printf("%d\n",s);
}
程序运行后的输出结果是
A.10
B.13
C.21
D.程序进入死循环
25.若变量已正确定义,要求程序段完成求 5!的计算,不能完成此操作的程序段是 B
A.for(i=1,p=1;i<=5;i++) p*=i;
B.for(i=1;i<=5;i++){ p=1; p*=i;}
C.i=1;p=1;while(i<=5){p*=i; i++;}
D.i=1;p=1;do{p*=i; i++; }while(i<=5);
26.有以下程序
main()
{ char a,b,c,d;
scanf("%c,%c,%d,%d",&a,&b,&c,&
D.;
printf("c,%c,%c,%c\n",a,b,c,
D.;
}
若运行时从键盘上输入:6,5,65,66<回车>。则输出结果是
A.6,5,A,B
B.6,5,65,66
C.6,5,6,5
7
D.6,5,6,6
27)以下能正确定义二维数组的是
A.int a[][3];
B.int a[][3]=2{2*3};
C.int a[][3]={};
D.int a[2][3]={{1},{2},{3,4}};
28. 有以下程序
int f(int a)
{ return a%2; }
main()
{ int s[8]={1,3,5,2,4,6},i,d=0;
for (i=0;f(s);i++) d+=s;
printf("%d\n",
D.;
}
程序运行后的输出结果是
A.9
B.11
C.19
D.21
29.若有以下说明和语句,int c[4][5],(*p)[5];p=c;能正确引用 c 数组元素的是
A.p+1
B.*(p+3)
C.*(p+1)+3
D.*(p[0]+2])
30.有以下程序
main()
{ int a=7,b=8,*p,*q,*r;
p=&a;q=&b;
8