首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 #include <stdio.h> main() { int x=1, y=0, a=0, b=0; switch ( x ) { case 1: switc
有以下程序 #include <stdio.h> main() { int x=1, y=0, a=0, b=0; switch ( x ) { case 1: switc
admin
2021-04-28
75
问题
有以下程序
#include <stdio.h>
main()
{ int x=1, y=0, a=0, b=0;
switch ( x )
{ case 1:
switch(y)
{ case 0: a++; break;
case 1: b++; break;
}
case 2: a++; b++; break;
case 3: a++; b++;
}
printf("a=%d, b=%d\n", a, b);
}
程序的运行结果是
选项
A、a=2,b=2
B、a=2,b=1
C、a=1,b=1
D、a=1,b=0
答案
B
解析
C语言还提供了一种用于多分支选择的switch语句,计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。
x=1;进入第一层switch,y=0;进入第二层switch,执行a++;break;后a=1;在进入case 2,(这里case 1:没有break,)执行了a++,b++,由于存在break,则跳出switch,得到a=2,b=1,因此答案为B选项。
左边所有副作用都结束后,才对其右边的子表达式进行运算,并以最右边表达式值作为整个逗号表达式的值。1、后置自增运算:k++表示先运算,后自加。 2、前置自增运算:++k表示先自加,后运算。因此,表达式x=0,x+10,x++的计算过程为首先赋值x=0,然后将x加10,但是并不对x进行赋值,最后计算x++,并,根据后置自增运算的计算结果,即为x=0.0。,故答案为C选项。
转载请注明原文地址:https://kaotiyun.com/show/qTtp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有以下程序main(){inta=6,b=0,c=0;for(;a;){b+=a;a-=++c;}printf("%d,%d,%d\n",a,b,c);}则程序的输出结果是
以下叙述中错误的是( )。
若有定义语句:inta[2][3],*p[3];,则以下语句中正确的是
若有定义语句:intx=12,y=8,z;,在其后执行语句z=0.9+x/y;,则z的值为()。
下面属于黑盒测试方法的是
在关系表中,属性值必须是另一个表主键的有效值或空值,这样的属性是
“商品”与“顾客”两个实体集之间的联系一般是
代码编写阶段可进行的软件测试是
深度为7的二叉树共有127个结点,则下列说法中错误的是()。
下列不属于软件工程3个要素的是,()。
随机试题
A.鳞状上皮细胞癌B.肺泡细胞癌C.腺癌D.小细胞未分化癌E.大细胞未分化癌内分泌紊乱综合征多见于
男性,53岁,3年前开始有心慌,心悸,气促,近日症状加重伴乏力,双下肢水肿。查体:血压110/80mmHg,心界向左下扩大,心率115次/分,心房颤动,A2SM2/6反流样杂音,双肺呼吸音稍粗,无明显干、湿性啰音,颈静脉怒张,肝肋下2cm,双下肢水肿(+
关于内痔硬化剂注射治疗的部位,下列哪项是正确的
血管神经性水肿少发或不发的部位是()
患者,男性,54岁。患肝炎后肝硬化10年,近l周来病情加重,腹腔积液量增加,腹胀明显,并出现呼吸困难。为减少腹腔积液,下列最佳的治疗药物是
生活和工作中难免会出现负面情绪,当你出现负面情绪的时候,通常你会怎么做?
一、注意事项1.申论考试,是对分析驾驭材料能力、提出和解决问题能力、文字表达能力的测试。2.作答参考时限:阅读资料40分钟,作答110分钟。3.仔细阅读给定的材料,然后按申论要求依次作答,答案书写在指定的位置。二、给定资料
我国《刑法》规定的刑罚有()
在长度为n的线性表中顺序查找元素x时,查找成功的平均查找长度为【】。
Weareenteringaperiodinwhichrapidpopulationgrowth,thepresenceofdeadlyweapons,anddwindlingresourceswillbringin
最新回复
(
0
)