首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #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
69
问题
有以下程序: #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全国计算机二级
相关试题推荐
若有以下程序#includeintk=7,m=5;voidf(int**s){int*t=&k;s=&t;*s=&m;printf("%d,%d,%d,",k,*t,**s);}main()
若有以下函数首部intfun(doublex[10],intn)则下面针对此函数的函数声明语句中正确的是
以下关于结构化程序设计的叙述中正确的是
数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是
对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是
以下不构成无限循环的语句或语句组是
当变量e的值不为2、4、6时,值为“真”的表达式是()。
关于C语言的符号常量,以下叙述中正确的是
在嵌套使用if语句时,C语言规定else总是
随机试题
以动物体某一部分的加工品入药的药材有
氨气试验时,若焊缝区有泄漏,则硝酸汞试纸的相应部位将呈现()斑纹。
甲状腺功能亢进症最常见于
下列哪项小是真正的肿瘤
患者水肿反复发作,日轻夜重,下肢肿甚,腰膝酸软,畏寒肢冷,呼吸急促,呼多吸少,舌淡胖有齿痕,脉沉细,其治法是
阳性对比剂的特点,错误的是
正常人肺部的叩诊音是
某施工单位在土方挖掘施工作业过程中,发现了近代古墓葬,但考虑到发掘会影响工程正常工期,因此没有向文物主管部门报告,造成部分文物损害,则应对施工单位采取的处罚措施是()。
让学生以自己的水平和速度进行学习的一种教学策略称之为()
Lookatthenotesbelow.Someinformationismissing.Youwillhearapresentationaboutaholidaytourcompany.Foreac
最新回复
(
0
)