打印本文 打印本文  关闭窗口 关闭窗口  
全国计算机等级考试二级C语言模拟试题15
作者:佚名  文章来源:不详  点击数  更新时间:2008/4/18 14:12:14  文章录入:杜斌  责任编辑:杜斌

一、选择题(每题2分,共计70分)

1.与十进制数200等值的十六进制数为
A)A8 B)A4 C)C8 D)C4
A       B       C       D      
2.DOS文件系统的组织结构属于
A)星形结构 B)网形结构 C)环形结构 D)树型结构
A       B       C       D      
3.对存储器按字节进行编址,若某存储器芯片共有10根地址线,则该存储器芯片的存储容量为
A)1KB B)2KB C)4KB D)8KB
A       B       C       D      
4.在DOS环境下,代表键盘和显示器的设备文件名为
A)PRN B)CON C)NUL D)LPT
A       B       C       D      
5.计算机网络的主要特点是
A)运算快 B)运算精度高 C)资源共享 D)人机交互
A       B       C       D      

6.磁盘处于写保护状态时其中的数据
A)不能读出,不能删改 B)可以读出,不能删改
C)不能读出,可以删改 D)可以读出,可以删改
A       B       C       D      
7.从Windows环境进入MS-DOS方式后,返回Windows环境的DOS命令为
A)EXIT B)QUIT C)RET D)MSDOS
A       B       C       D      
8.在Windows环境下,若资源管理器左窗口中的某文件夹左边标有“+”标记,则表示
A)该文件夹为空
B)该文件夹中含有子文件夹
C)该文件夹中只包含有可执行文件
D)该文件夹中包含系统文件
A       B       C       D      
9.在Windows菜单中,暗淡的命令名项目表示该命令
A)暂时不能用 B)正在执行
C)包含下一层菜单 D)包含对话框
A       B       C       D      
10.在Windows环境下,单击当前窗口中的按钮 ,其功能是
A)将当前应用程序转为后台运行
B)退出Windows后再关机
C)终止当前应用程序的运行
D)退出Windows后重新启动计算机
A       B       C       D      

11.用C语言编写的代码程序
A)可立即执行 B)是一个源程序
C)经过编译即可执行 D)经过编译解释才能执行
A       B       C       D      
12.结构化程序由3种基本结构组成,3种基本结构组成的算法是
A)可以完成任何复杂的任务 B)只能完成部分复杂的任务
C)只能完成符合结构化任务 D)只能完成一些简单的任务
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;
A       B       C       D      
14.下列选择中,不能用作标识符的是
A)_1234_ B)_1_2 C)int_2_ D)2_int_
A       B       C       D      
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
A       B       C       D      

16.以下程序的输出结果是
main()
{int m=3,n=4,x;
x=-m++;
x=x+8/++n;
printf("%d\n",x);
};
A)3 B)5 C)-1 D)-2
A       B       C       D      
17.以下程序的输出结果是
main()
{char a=′a′,b;
printf("%c,",++a);
printf("%c\n",b=a++);
}
A)b,b B)b,c C)a,b D)a,c
A       B       C       D      
18.main()
{int m=0256,n=256;
printf("%o%o\n",m,n);
}
A)02560400 B)0256256 C)256400 D)400400
A       B       C       D      
19.以下程序的输出结果是
main()
{int a=666,b=888;
printf("%d\n",a,b);
}
A)错误信息 B)666 C)888 D)666,888
A       B       C       D      
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
A       B       C       D    

21.若x和y代表整型数,以下表达式中不能正确表示数据关系|x-y|<10的是
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
A       B       C       D      
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
A       B       C       D      
23.下列条件语句中,功能与其他语句不同的是
A)if(a)printf("%d\n",x);elseprintf("%d\n",y);
B)if(a==0)printf("%d\n",y);elseprintf("%d\n",x);
C)if(a!=0)printf("%d\n",x);elseprintf("%d\n",y);
D)if(a==0)printf("%d\n",x);elseprintf("%d\n",y);
A       B       C       D      
24.以下程序的输出结果是
main()
{int i=0,s=0;
for(;;)
{
if(i==3‖i==5)continue;
if(i==6)break;
i++;
s+=i;
};
printf("%d\n",s);
}
A)10 B)13 C)21 D)程序进入死循环
A       B       C       D      
25.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是
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);
A       B       C       D     

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 D)6,5,6,6
A       B       C       D      
27.以下能正确定义二维数组的是
A)int a [][3]; B)int a[][3]={2*3};
C)int a[][3]={}; D)int a[2][3]={{1},{2},{3,4}};
A       B       C       D      
28.以下程序的输出结果是
int f(inta)
{return a%2;}
main()
{int s[8]={1,3,5,2,4,6},i,d=0;
for(i=0;f(s[i]);i++)d+=s[i];
printf("%d\n",d);
}
A)9 B)11 C)19 D)21
A       B       C       D      
29.若有以下说明和语句int c[4][5],(*p)[5];p=c;能够正确引用c数组元素的是
A)p+1 B)*(p+3) C)*(p+1)+3 D)*(p[0]+2)
A       B       C       D      
30.以下程序的输出结果是
main()
{int a=7,b=8,*p,*q,*r;
p=&a;q=&b;
r=p;p=q;q=r;
printf("%d,%d,%d,%d\n",*p,*q,a,b);
}
A)8,7,8,7 B)7,8,7,8 C)8,7,7,8 D)7,8,8,7
A       B       C       D      

31.s1和s1已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是
A)if(s1>s2)S; B)if(strcmp(s1,s2))S;
C)if(strcmp(s2,s1)>0)S; D)if(strcmp(s1,s2)>0)S;
A       B       C       D      
32.设有定义语句int x[6]={2,4,6,8,5,7},*p=x,i;要求依次输出x数组6个元素中的值,不能完成此操作的语句是
A)for(i=0;i<6;i++)printf("%2d",*(p++));
B)for(i=0;i<6;i++)printf("%2d",*(p+i));
C)for(i=0;i<6;i++)printf("%2d",*p++);
D)for(i=0;i<6;i++)printf("%2d",(*p)++);
A       B       C       D      
33.以下程序的输出结果是
#include
main()
{int a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;
*q=*(q+5);
printf("%d%d\n",*p,*q);
}
A)运行后报错 B)66
C)611 D)510
A       B       C       D      
34.设有以下定义和语句int a[3][2]={1,2,3,4,5,6},*p[3];
p[0]=a[1];
则*(p[0]+1) 所代表的数组元素是
A)a[0][1] B)a[1][0] C)a[1][1] D)a[1][2]
A       B       C       D      
35.以下程序的输出结果是
main()
{char str[][10]={"china","Beijing"},*p=str;
printf("%s\n",p+10);
}
A)China B)Beijing C)ng D)ing
A       B       C       D     

37.以下程序的输出结果是
main()
{char s[]="ABCD",*p;
for(p=s+1;p}
A)ABCD B)A
BCD B
CD C
D D
C)B D)BCD
C CD
D D
A       B       C       D      
38.在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则
A)称为函数的直接递归调用 B)称为函数的间接递归调用
C)称为函数的循环调用 D)C语言中不允许这样的递归调用
A       B       C       D      
39.已有定义:int i,a[10],*p;,则合法的赋值语句是
A)p=100; B)p=a[5]; C)p=a[2]+2; D)p=a+2
A       B       C       D      
40.以下叙述中正确的是
A)局部变量说明为static的存储类,其生存期将得到延长
B)全局变量说明为static存储类,其作用域将被扩大
C)任何存储类的变量在末赋初值时,其值都是不确定的
D)形参可以使用的存储类说明符与局变量完全相同
A       B       C       D      
41.设有定义的语句:char c1=92,c2=92;,则以下表达式中值为零的是
A)c1^c2 B)c1&c2 C)~c2 D)c1|c2
打印本文 打印本文  关闭窗口 关闭窗口