首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #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
71
问题
有以下程序: #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);}程序的运行结果是()。
若以下选项中的变量a,b,y均已正确定义并赋值,则语法正确的switch语句是
有以下程序#includemain(){inta=5,b=1,t;t=(a
软件设计中模块划分应遵循的准则是()。
若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,下列选项中错误的程序是()。
在E-R图中,用来表示实体的图形是
以下各项中,当x为大于1的奇数时,值为0的表达式是()。
在数据库设计中,将E-R图转换成关系数据模型的过程属于()。
在嵌套使用if语句时,C语言规定else总是
在C语言程序中,以下说法正确的是()。
随机试题
胆红素主要来源于()
下肢静脉曲张能否手术取决于()
坐骨结节间径正常值为
瘀血阻滞胸部脉络所致胸痛的特点是
采用工程量清单计价方式,业主对设计变更而导致的工程造价的变化一目了然,业主可以根据投资情况来决定是否进行设计变更。这反映了工程量清单计价方法()的特点。
三相异步电动机以如图所示的两种方式接入同一电源,它们的旋旋方向()。
《“十二五”节能减排综合性工作方案》提出,对城市污水处理设施建设严重滞后、收费政策不落实、污水处理厂建成后一年内实际处理水量达不到设计能力的(),以及已建成污水处理设施但无故不运行的地区,暂缓审批该城市项目环评。
下列关于存储系统层次结构的说法中,不正确的是()。
设有如下两个关系U和V,则UV运算结果的元组个数是(1),属性个数是(2);UV运算结果的元组个数是(3),属性个数是(4)。
我们要善于学习别人的长处。
最新回复
(
0
)