经典C笔试试题Word文档下载推荐.docx
《经典C笔试试题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《经典C笔试试题Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
11.用C语言编写的代码程序
A)可立即执行B)是一个源程序
C)经过编译即可执行D)经过编译解释才能执行
12.结构化程序由三种基本结构组成,三种基本结构组成的算法
A)可以完成任何复杂的任务B)只能完成部分复杂的任务
C)只能完成符合结构化的任务D)只能完成一些简单的任务13.以下定义语句中正确的是
13.以下定义语句中正确的是
A)chara='
A'
b='
B'
;
B)floata=b=10.0;
C)inta=10,*b=&
a;
D)float*a,b=&
14.下列选项中,不能用作标识符的是
A)_1234_B)_1_2C)int_2_D)2_int_
}15.有以下定义语句
doublea,b;
intw;
longc;
若各变量已正确赋值,则下列选项中正确的表达式是
A)a=a+b=b++B)w%(int)a+b)
C)(c+w)%(int)aD)w=a==b;
16.有以下程序
main()
{intm=3,n=4,x;
x=-m++;
x=x+8/++n;
printf("
%d\n"
x);
}
程序运行后的输出结果是
A)3B)5C)-1D)-2
17.有以下程序
{chara='
a'
b;
print("
%c,"
++a);
%c\n"
b=a++);
A)b,bB)b,cC)a,bD)a,c
18.有以下程序
{intm=0256,n=256;
%o%o\n"
mn,n);
A)02560400B)0256256C)256400D)400400
19.有以下程序
{inta=666,b=888;
a,b);
A)错误信息B)666C)888D)666,888
20.有以下程序
{inti;
for(i=0;
i<
3;
i++)
switch(i)
{
case0:
printf("
%d"
i);
case2:
default:
程序运行后的输出结果是
A)022111B)021021C)000122D)012
21.若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<
10的是
资料来源:
东方教育网全国计算机等级考试频道Http:
//
A)abs(x-y)<
10B)x-y>
-10&
&
x-y<
10
C)@(x-y)<
-10||!
(y-x)>
10D)(x-y)*(x-y)<
100
22.有以下程序
inta=3,b=4,c=5,d=2;
if(a>
b)
if(b>
c)
d+++1);
else
++d+1);
d);
A)2B)3C)43D)44
23.下列条件语句中,功能与其他语句不同的是
A)if(a)printf("
elseprintf("
y);
B)if(a==0)printf("
C)if(a!
=0)printf("
D)if(a==0)printf("
24.有以下程序
{inti=0,x=0;
for(;
)
if(i==3||i==5)continue;
if(i==6)break;
i++;
s+=i;
};
s);
A)10B)13C)21D)程序进入死循环
25.若变量已正确定义,要求程序段完成求5!
的计算,不能完成此操作的程序段是B
A)for(i=1,p=1;
=5;
i++)p*=i;
B)for(i=1;
i++){p=1;
p*=i;
}
C)i=1;
p=1;
while(i<
=5){p*=i;
D)i=1;
do{p*=i;
}while(i<
=5);
26.有以下程序
{chara,b,c,d;
scanf("
%c,%c,%d,%d"
&
a,&
b,&
c,&
d);
c,%c,%c,%c\n"
a,b,c,d);
}
若运行时从键盘上输入:
6,5,65,66<
回车>
。
则输出结果是
A)6,5,A,BB)6,5,65,66C)6,5,6,5D)6,5,6,6
27)以下能正确定义二维数组的是
A)inta[][3];
B)inta[][3]=2{2*3};
C)inta[][3]={};
D)inta[2][3]={{1},{2},{3,4}};
28.有以下程序
intf(inta)
{returna%2;
{ints[8]={1,3,5,2,4,6},i,d=0;
for(i=0;
f(s);
i++)d+=s;
A)9B)11C)19D)21
29.若有以下说明和语句,intc[4][5],(*p)[5];
p=c;
能正确引用c数组元素的是
A)p+1B)*(p+3)
C)*(p+1)+3D)*(p[0]+2])
30.有以下程序
{inta=7,b=8,*p,*q,*r;
p=&
q=&
b;
r=p;
p=q;
q=r;
%d,%d,%d,%d\n"
*p,"
q,a,b);
A)8,7,8,7B)7,8,7,8C)8,7,7,8D)7,8,8,7
31.s12和s2已正确定义并分别指向两个字符串。
若要求:
当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)>
32.设有定义语句
intx[6]={2,4,6,8,5,7},*p=x,i;
要求依次输出x数组6个元素中的值,不能完成此操作的语句是
A)for(i=0;
6;
i++)printf("
%2d"
*(p++));
B)for(i=0;
*(p+i));
C)for(i=0;
*p++);
D)for(i=0;
(*p)++);
33.有以下程序
#include
{inta[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;
*q=*(p+5);
%d%d\n"
*p,*1);
A)运行后报错B)66C)611D)510
34有以下定义和语句
inta[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]
35.有以下程序
{charstr[][10]={"
China"
"
Beijing"
},*p=str;
%s\n"
p+10);
A)ChinaB)BejingC)ngD)ing
36.有以下程序
{chars[]="
ABCD"
*p;
for(p=s+1;
p<
S+4;
P++)PRINTF("
%S\N"
P);
A)ABCDB)AC)BD)BCD
BCDBCCD
CDCDD
DD
37.在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则
A)称为函数的直接递归调用B)称为函数的间接递归调用
C)称为函数的循环调用D)C语言中不允许这样的递归调用
38.已有定义:
inti,a[10],*p;
则合法的赋值语句是
A)p=100;
B)p=a[5];
C)p=a[2]+2;
D)p=a+2;
39.以下叙述中正确的是
A)局部变量说明为static存储数,其生存期将得到延长
B)全局变量说明为static存储类,其作用域将被扩大
C)任何存储类的变量在未赋初值时,其值都是不确定的
D)形参可以使用的存储类说明符与局部