执行下面C语言程序段的结果是_____________。 main() { int x=1,a=1,b=1; switch(x) { case 0: b++; case 1: a++; case 2: a++; b++; } printf(’’

admin2018-11-21  28

问题 执行下面C语言程序段的结果是_____________。
main()  {
int x=1,a=1,b=1;
switch(x)  {
case 0:  b++;
case 1:  a++;
case 2:  a++;  b++;

printf(’’a=%d,b=%d’’,a,b);

选项 A、a=2,b=2
B、a=3,b=2
C、a=2,b=1
D、a=3,b=3

答案B

解析 本题考查C语言基础知识。
switch语句是多分支语句。它的一般形式如下:
switch(表达式)
{  case常量表达式1:语句1
case常量表达式2:语句2

case常量表达式n:语句n
default:语句n+1

    switch后面括弧内的“表达式”,可以是整型表达式或字符型表达式,也可以是枚举型数据。当表达式的值与某一个case后面的常量表达式的值相等时,就执行此case后面的语句,若所有的case中的常量表达式的值都没有与表达式的值匹配的,就执行default后面的语句。每一个case的常量表达式的值必须互不相同。执行完一个case后面的语句后,流程控制转移到下一个case继续执行,“case常量表达式”只是起语句标号作用,并不是在该处进行条件判断。在执行switch语句时,根据switch后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断。因此,一般用一个break语句使得在执行一个case分支后,使流程跳出switch结构,即终止switch语句的执行。
    本题的switch结构没有使用break语句,变量x=1,因此从case 1的语句开始执行,之后接着执行case2的语句。
转载请注明原文地址:https://kaotiyun.com/show/0RWZ777K
0

相关试题推荐
最新回复(0)