2010上半年等考二级C语言笔试精选试题(3)
A)′a′<=c<=′z′
B)(c>=′a′)||(c<=′z′)
C)(′a′=C)
D)(c>=′a′)&&(c<=′z′)
2.下面程序的输出结果是()
main()
{ int x=2,y=0,z;
x+=3+2;printf("%d",x);
x*=y=z=4;printf("%d",x);
}
A)728 B)无法计算 C)7,4 D)8,4
3.有如下程序
main()
{int x=1,a=0,b=0;
switch(x){
case 0∶b++;
case 1∶a++;
case 2∶a++;b++;
}
printf("a=%d,b=%d ",a,b);
}
程序运行后的输出结果是()
A)a=2,b=1 B)a=1,b=1 C)a=1,b=0 D)a=2,b=2
4.以下选项中,正确的if-else语句是()
A)if(x!=0)
printf("%d",x)
else
printf("%d",-x);
B)if(x!=0)
{x=x+y;printf("%d",x); }
else
printf("%d",-x);
C)if(x!=0)
x=x+y;printf("%d",x);
else
printf("%d",-x);
D)if(x!=0)
{x=x+y;printf("%d",x)};
else
printf("%d",-x);
5.有以下程序段
int n=0,p;
do {scanf("%d",&p);n++;}while(p!=12345 &&n<3);
此处do-while循环的结束条件是()
A)p的值不等于12345并且n的值小于3
B)p的值等于12345并且n的值大于等于3
C)p的值不等于12345或者n的值小于3
D)p的值等于12345或者n的值大于等于3
6.若有如下程序段:
main()
{ int n=0;
while(printf("*"))
{ n++;
if(n<3)break; }}
则下列描述正确的是()
A)其中循环控制表达式与0等价
B)其中循环控制表达式与’0’等价
C)其中循环控制表达式是不合法的
D)以上说法都不对
7.C语言中main函数参数的非法表示形式是()
A)main(char *argv[],int argc)
B)main(int a,char**b)
C)main(int y,char *x[])
D)main(int argv,char *argc[])
8.设有如下枚举类型定义:
enum language {Basic=3,Assembly,Ada=100,COBOL,Fortran};
枚举类型Fortran的值为()
A)4 B)7 C)102 D)103
9.阅读下述程序段:
y=-1;http://
if (x!=0)
if (x>0)
y=1;
else
y=0;
该程序段所描述的数学关系是()
A)y=-1(x<0)
0(x=0)
1(x>0)
B)y=1(x<0)
0(x=0)
-1(x>0)
C)y=0(x<0)
-1(x=0)
1(x>0)
D)y=-1(x<0)
1(x=0)
0(x>0)
10.设有数组定义:char array[]="China";蚴閍rray所占的空间为()
A)4个字节 B)5个字节 C)6个字节 D)7个字节
答案:1.D 2.A 3.A 4.B 5.D 6.B 7.A 8.C 9.C 10.C