首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 #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
2015-11-24
0
问题
有以下程序
#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/jkID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
甲持刀追杀乙,眼见就要被追上时,乙见路旁停有一辆未熄火摩托车,便驾车逃跑,使摩托车遭受严重损毁。乙的行为构成()。
甲为某汽配店员工.一日和老板乙一起外出送货,甲趁乙和经销商对账时,便携带乙让自己代为看管的5万货款潜逃。甲的行为构成()。
假如通货膨胀的初始原因是成本推动,如果没有()的伴随,将会引起严重的经济萧条。
同样走100米,小明要走180步,父亲要走120步。父子同时同方向从同一地点出发,如果每走一步所用的时间相同,那么父亲走出450米后往回走,还要走多少步才能遇到小明?
一个各位不相同的8位数密码,任意相邻两个数字之和为质数,则最大的8位数各位数字之和为多少?
学校运动会4×400米比赛,甲班最后一名选手起跑时,乙班最后一名选手已经跑出20米。已知甲班选手跑8步的路程乙班选手只需跑5步,但乙班选手跑2步的时间甲班选手能跑4步,则当甲班选手跑到终点时,乙班选手距离终点()米。
某收藏家有三个古董钟,时针都掉了.只剩下分针,而且都走得较快,每小时分别快2分钟、6分钟及12分钟。如果在中午将这三个钟的分针都调到指向钟面的12点位置,()小时后这三个钟的分针会再次指向相同的位置。
有两列正态变量x和y,已知其中Sx=4,Sy=2,Sx-y=3,那么这两列变量的积差相关系数是()
下列叙述中,错误的是()。
若变量已正确定义,则以下for循环for(x=0,y=0;(y!=123)&&(x<4);x++);
随机试题
高血压病动脉硬化常累及血管为()
(2001)ThepolicefoundthatGeorgehadstillanother______ofincome.
患儿准备入光疗箱时,以下做法错误的是
施工现场临时架空线路必须采用()。
()被认为是导致经济衰退的“杀手”。
甲公司发生的下列资产置换行为中,属于非货币性资产交换的有()。
社会工作者用于评估与老人自杀有关的风险因素的线索,不包括()。
下列关于效果主导型绩效考评的叙述,正确的有()。
英语学习的策略不包括______。
根据思维任务的性质、内容和解决问题的方法对思维进行分类,可分为_____________、_____________、_____________。
最新回复
(
0
)