二级C语言考试必备(真题)考点18 switch-case 语句
【2000年4月】(37) 若有定义: float w; int a, b; 则合法的switch语句是
A) switch(w) B) switch(a);
{ case 1.0: printf("*\n"); { case 1 printf("*\n");
case 2.0: printf("**\n"); case 2 printf("**\n");
} }
C) switch(b) D) switch(a+b);
{ case 1: printf("*\n"); { case 1: printf("*\n");
default: printf("\n"); case 2: printf("**\n");
case 1+2: printf("**\n"); default: printf("\n");
} }
【答案】C
【2000年9月】(23) 有如下程序
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\n”,a,b);
}
该程序的输出结果是
A) a=2,b=1 B) a=1,b=1
C) a=1,b=0 D) a=2,b=2
【答案】A
【2001年4月】(24) 若a、 b、c1、c2、x、y、均是整型变量,正确的switch语句是
A) swich(a+b); B) switch(a*a+b*b)
{ case 1:y=a+b; break; { case 3:
case 0:y=a-b; break; case 1:y=a+b;break;
} case 3:y=b-a,break;
}
C) switch a D) switch(a-b)
{ case c1 :y=a-b; break { default:y=a*b;break;
case c2: x=a*d; break case 3:case 4:x=a+b;break;
default:x=a+b; case 10:case 11:y=a-b;break;
} }
【答案】D
【2001年4月】(10) 下列程序段的输出结果是 【 】 。
int n=’c’;
switch(n++)
{ default: printf(“error”);break;
case ‘a’:case ‘A’:case ‘b’:case ‘B’:printf(“good”);break;
case ‘c’:case ‘C’:printf(“pass”);
case ‘d’:case ‘D’:printf(“warn”);
}
【答案】passwarn
【2001年9月】(26) 以下程序的输出结果是
main()
{ int a=0,i;
for(i=1;i<5;i++)
{ switch(i)
{ case 0:
case 3:a+=2;
case 1:
case 2:a+=3;
default:a+=5;
}
}
printf("%d\n",a);
}
A) 31 B) 13 C) 10 D) 20
【答案】A
【2002年4月】(26)有以下程序
main()