2010上半年等考二级C语言笔试精选试题(2)

全国等级考试资料网 2019-01-23 14:13:29 80
 1.若有以下定义:floatx;inta,b,c=2;,则正确的switch语句是()

A)switch(x)

{ case1.0∶printf("* ");

case2.0∶printf("** ");

}

B)switch(int(x))

{ case1∶printf("* ");

case2∶printf("** ");

}

C)

switch(a+b)

{ case1∶printf("* ");

case1+2∶printf("** ");

}

D)switch(a+b)

{ case1∶printf("* ");

casec∶printf("** ");

}

2.执行下面程序片段的结果是()

int x=123;

do

{ printf("= ",x--);}

while(!x);

A)打印出321

B)打印出123

C)不打印任何内容

D)陷入死循环

3.以下程序的输出结果是()

# include

main()

{ int i=0,a=0;

while(i<20)

{ for(;;){ if((i)==0)break;else i--; }

i+=11;a+=i;

}考试通

printf("%d ",a);

}

A)21 B)32 C)33 D)11

4.下列与表达式“b=(a<0?-1∶a>0?1∶0)”的功能等价选项是()

A)b=0;

if(a>=0)

if(a>0) b=1;

else b=-1;

B)if(a>0)b=1;

else if(a<0)b=-1;

elseb=0

C)if(a)

if(a<0) b=-1;

else if(a>0)b=1;

else b=0;

D) b=-1;

if(a)

if(a>0)b=1;

else if(a==0)b=0;

else b=-1;

5.若有以下定义:char a; int b; float c; double d; 则表达式“a*b+d-c”值的类型为()

A)float B)int C)char D)double

6.以下叙述中正确的是()

A)在函数中必须要有return语句

B)在函数中可以有多个return语句,但只执行其中的一个

C)return语句中必须要有一个表达式

D)函数值并不总是通过return语句传回调用处

7.有以下程序

float fun(int x,int y)

{ return(x+y);

}

main()

{int a=2,b=5,c=8;

printf("%3.0f ",fun((int)fun(a+c,b),a-c));

}

程序运行后的输出结果是()

A)编译出错 B)9 C)21 D)9.0

8.若已定义:

inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,I;

其中0≤i≤9,则对a数组元素不正确的引用是()

A)a[p-a] B)*(&a[i]) C)p[i] D)a[10]

9.以下叙述中正确的是()

A)全局变量的作用域一定比局部变量的作用域大

B)静态(static)类型变量的生存期贯穿于整个程序的运行期间

C)函数的形参都属于全局变量

D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值

10.若有如下程序:

main()

{char a[][9]={"china","Japan","USA","France"};

printf("′%s′ ",a[2]);}

则程序运行后的输出结果是()

A)′Japan′ B)′USA′ C)USA D)′inaJapanUSAFrance′

答案:1.C 2.B 3.B 4.B 5.D 6.B 7.B 8.D 9.B 10.B

相关资料

相关阅读