首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #include<iostream> using namespace std; int main( ) { int a=5;b=4,c=3,d=2; if(a>b>c)
有以下程序: #include<iostream> using namespace std; int main( ) { int a=5;b=4,c=3,d=2; if(a>b>c)
admin
2010-03-29
26
问题
有以下程序: #include<iostream> using namespace std; int main( ) { int a=5;b=4,c=3,d=2; if(a>b>c) cout<<d<<end1; else if((c-1>:d) ==1) cout<<d+1<<end1; else cout<<d+2<<end1; return 0; } 执行后的输出结果是( )。
选项
A、2
B、3
C、4
D、编译时有错,无结果
答案
2
解析
表面上看,本题很容易得到答案。其实不然,出题者在题中隐藏了一个陷阱。粗心的读者可能会想当然地认为if语句中的条件表达式“a>b>c”成立(因为 a=5,b=4,c=3)。然后执行if后面的语句,就得到错误答案A。
要想正确解答本题,先来了解关系运算符的一些知识:在C++语言中,true(真)是不为0的任何值,而false(假)是0。在使用关系运算符和逻辑运算符的表达式时,若结果为true(真),则返回1;若结果为false(假),则返回的是0。根据以上知识分析程序:第1步,判断if后面的条件表达式(a>b>C) 是否成立。根据运算符的结合性,先计算表达式a>b,因为a=5,b=4,所以可得到答案true,其返回值为1。再计算表达式1>c,由于c=3,所以可得到答案为false(假),其返回值为0。因此if后面的条件表达式不成立,继续下面的条件判断。第2步,计算else if后面的条件表达式((c-1>=D) ==1),把c=3,d=2代入此条件表达式,可得到答案为true,此条件表达式成立,故执行else if后面的语句,输出结果为3。
转载请注明原文地址:https://kaotiyun.com/show/wFjp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序#includemain(){inta=0,b=0,c=0,d=0;(++a||++b)?++c:++d;printf("%d,%d,%d,%d\n",a,b,c,d);}程序的运行结果是()。
定义学生、教师和课程的关系模式S(S#,Sn,Sd,Dc,Sa)(其属性分别为学号、姓名、所在系、所在系的系主任、年龄);C(C#,Cn,P#)(其属性分别为课程号、课程名、先修课);SC(S#,C#,G)(其属性分别为学号、课程号和成绩)。包含对非主属性
有以下程序#include#includestructA{inta;charb[10];doublec;};voidf(structAt);main(){structAa={1001,"ZhangDa",1098.0};f(a);
设有定义:doublex=2.12;,以下不能完整输出变量x值的语句是()。
在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
C语言中char类型数据占字节数为()。
若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是()。
下列选项中,当x为大于1的奇数时,值为0的表达式是()。
在快速排序法中,每经过一次数据交换(或移动)后()。
若有定义语句:inta=3,b=2,c=1;以下选项中错误的赋值表达式是
随机试题
下列有关存储器读写速度的排列,正确的是_________。
婴儿少尿的标准是每日尿量少于()
下列有关资产减值准备的论断中,正确的有( )。
某小学学生小洋,在课外活动结束后从操场回宿舍途中与同学边说边走,上楼时凉鞋前端在楼梯上绊了一下,摔倒在地头破血流。学校一边将小洋送往医院,一边通知家长。在此事故中,应该承担主要责任的是()。
设f(x)二阶连续可导,且=1,f’’(0)=e,则=_________。
J.Martin关于企业业务活动关键成功因素有诸多的论述,下面哪个不属于此论述?()
使用输入输出操作符setw,可以控制()。
若希望使用一个或多个字段的值进行计算,需要在查询设计视图的设计网格中添加【】字段。
Thereisanabundantsupplyofcheaplaborinthiscountry.
【B1】【B7】
最新回复
(
0
)