首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 #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
46
问题
有以下程序
#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全国计算机二级
相关试题推荐
有以下程序#include<stdio.h>#include<stdlib.h>main(){int*a,*b,*c;a=b=c=(int*)malloc(sizeof(int));*a=l;*b=2,*c=3;a=b:printf
以下函数不能用于向文件中写入数据的是
有以下程序#includevoidfun(char*t,char*S){while(*t!=0)t++;while((*t++=*s++)!=0);}main(){chars
设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)0的程序段是
以下叙述中错误的是
程序中对fun函数有如下说明voidfun();此说明的含义是
若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是
设数据元素的集合D={1,2,3,4,5},则满足下列关系R的数据结构中为线性结构的是()。
一个工作人员可使用多台计算机,而一台计算机被多个人使用,则实体工作人员与实体计算机之间的联系是
以下说法正确的是()。
随机试题
男,60岁,持续干咳2个月,又有痰中带血,胸部正侧位片,显示右肺上叶不张。下列关于肺癌描述错误的是
关于绷带包扎的注意事项,哪一项是不正确的
实脾散的功用是
下列关于“整理工作底稿和归集有关资料”的表述中,不正确的是()。
期货公司首席风险官是负责对期货公司()进行监督检查的期货公司高级管理人员。
为了满足投资者中途抽回资金、实现变现的需要,()一般在基金资产中保持一定比例的现金。
现在时间为6点整,请问最少过了多少分钟以后,数字“6”恰好在时针和分针中间?
下列哪组成语与所对应的历史人物同指一人?()
《静静的顿河》所描写的顿河地区那些走向新生活的人们是_______。
Heneverhesitatestomake______criticisms______areconsideredhelpfultoothers.
最新回复
(
0
)