C语言基础练习题含答案 下载本文

D.3

19.当a=1,b=2,c=4,d=3时,执行完下面一段程序后x的值是(B)。 if (a

20.执行以下程序段后,变量x,y,z的值分别为(B)。 int a=1,b=0, x, y, z; x=(--a==b++)?--a:++b; y=a++; z=b;

A.x=0,y=0,z=0 B.x= -1,y= -1,z= 1 C.x=0,y=1,z=0 D.x= -1,y= 2, z= 1 21.若a、b、c、d、w均为int类型变量,则执行下面语句后的w 值是(A)。 a=1;b=2;c=3;d=4;

w=(a

22.以下程序的输出结果是(C)。 #include ”stdio.h” main() {

int a=5, b=4, c=6, d;

printf(”%d\\n”, d=a>b? a>c?a:c :b); }

A.5 B.4 C.6 D.不确定

23.若a、b、c1、c2、x、y均为整型变量,正确的switch 语句是(D)。

A.switch (a+b); B.switch a

{ case 1: y=a+b; break; { case c1: y=a-b; break; case 0: y=a-b; case c2: x=a*d; break; break; default: x=a+b; } }

C.switch (a*a+b*b) D.switch(a-b) { case 3: { default: y=a*b; break;

case 1: y=a+b; break; case 3: x=a+b; break;

case 3: y=b-a; break; case 10: case 11: y=a-b; break; } }

24.执行下列程序,输入为3的数出结果是(C)。 #include ”stdio.h” main() { int k;

scanf(”%d”, &k); switch(k)

{ case 1: printf(”%d\\n”, k++); case 2: printf(”%d\\n”, k++); case 3: printf(”%d\\n”, k++); case 4: printf(”%d\\n”, k++); break;

default: printf(”Full!\\n”); } }

A.3 B.4 C.3 D.4

5 4

25.假定等级和分数有以下对应关系: 等级:A 分数:85——100 等级:B 分数:60——84 等级:C 分数:60以下

对于等级grade输出相应的分数区间,能够完成该功能的程序段是(D)。

A.switch (grade)

{ case ’A’:printf(”85——100\\n”); case ’B’:printf(”60——84\\n”); case ’C’:printf(”<60\\n”); default:printf(”grade is error!\\n”); }

B.switch (grade)

{ case ’A’:printf(”85——100\\n”); break;

case ’B’:printf(”60——84\\n”); case ’C’:printf(”<60\\n”); default:printf(”grade is error!\\n”); }

C.switch (grade)