首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #include<stdio.h> main() {int x=1,y=0,a=0,b=0; switch(x) {case1: switch(y) {case0:a++;break; case1:b++;break; } case2:a++
有以下程序: #include<stdio.h> main() {int x=1,y=0,a=0,b=0; switch(x) {case1: switch(y) {case0:a++;break; case1:b++;break; } case2:a++
admin
2021-06-15
52
问题
有以下程序:
#include<stdio.h>
main()
{int x=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:a++;break;
case1:b++;break;
}
case2:a++;b++;break;
case3: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;在进入case2,(这里case1:没有break,)执行了a++,b++,由于存在break,则跳出switch,得到a=2.b=1,因此答案为B选项。
转载请注明原文地址:https://www.kaotiyun.com/show/8Atp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列程序的运行结果是()。#include<stdio.h>voidsub(int*s,int*y){staticintm=4;*y=s[0];m++;}voidmain(){inta[]={1,2,3,4,5},k;i
请编写函数fun:在形参指针所指的4个整数中找出最大值和最小值,最大的放在a中,最小的放在d中。注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。#inolude<stdi
若有说明inta[3][4];则a数组元素的非法引用是()。
下列定义变量的语句中错误的是()。
下列各选项中,不属于序言性注释的是()。
以下不能将键盘输入的字符串:Thisisastring读入到str中的程序段是()。
以下叙述中正确的是
设有定义“char*c;”,以下选项中能够使c正确指向一个字符串的是()。
以下叙述中正确的是
在结构化程序设计中,模块划分的原则是
随机试题
下列关于员工招聘的说法,错误的是()
引起社会保险法律关系产生、变更、消灭的原因和条件是()。
衡量组织兴奋性高低的指标是
我国金融期货的套期保值额度不实行审批制。( )
《杠杆率办法》规定,商业银行并表和未并表的杠杆率均不得低于5%。()
关于以下历史知识,叙述正确的有()。
波兰维斯特普拉特半岛,在第二次世界大战中是希特勒法西斯进攻波兰打响第一炮的地方,半岛尽头矗立着一座巍峨的半岛保卫战纪念碑,上方是______。
简述因缺乏共同故意从而不构成共同犯罪的具体情形。(2013一专一51)
翻译普遍特征
甲总是怀疑乙发给他的信在传输过程中遭人篡改,为了消除甲的怀疑,一般采用的技术是()。
最新回复
(
0
)