首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #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
25
问题
有以下程序: #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全国计算机二级
相关试题推荐
若有以下函数首部intfun(doublex[10],intn)则下面针对此函数的函数声明语句中正确的是
己知天写字母A的ASCII码是65,小写字母a的ASCII码是97。以下不能将变量c中的大写字母转换为对应小写字母的语句是
有以下程序main(){inta=1,b=3,c=5;int*p1=&a,*p2=&b,*p=&c;*p=*p1*(*p2);printf("%d\n",c);}执行后的输出结果是
有以下程序#include#includestructA{inta;charb[10];doublec;};voidf(structAt);main(){structAa={1001,"ZhangDa",1098.0};f(a);
负责数据库中查询操作的数据库语言是
以下选项中与if(a==1)a=b;elsea++;语句功能不同的switch语句是
在数据库设计中,将E-R图转换成关系数据模型的过程属于()。
下列定义数组的语句中,正确的是()。
一个栈的初始状态为空。现将元素1,2,3,A,B,C依次人栈,然后再依次出栈,则元素出栈的顺序是()。
随机试题
国际码GB2312-80是国家制定的汉字()标准。
Iftheweatherisfine,weshallgoonplayingbasketball______.
丸剂的特点是( )
护理风湿性关节炎,以下哪项措施不妥
A.破伤风梭菌B.β溶血性链球菌C.铜绿假单胞菌D.金黄色葡萄球菌E.梭状芽胞杆菌痈的主要致病菌是
A.清燥救肺汤B.养阴清肺汤C.麦门冬汤D.百合固金汤E.普济消毒饮治疗大头瘟的方剂是
早期发现直肠癌最重要的检查方法是
“古之天下,亦今之天下,今之天下,亦古之天下”这是()。
左边给定的是纸盒的外表面,右边哪一项能由它折叠而成?
A公司刚刚发放了0.5元的股票红利,预计接下来四年红利的增长率为5%,股东的预计投资回报率为15%,每年年末发放红利,第四年末发放红利后的预计股价10元(分红后),四年后红利的增长率为g2,求:求g2。
最新回复
(
0
)