首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序段,其输出的结果是( )。 int x, y, z; x = y = z = O; ++x | | ++y && ++z; cout<<x<<","<<y<<","<<z<<end1;
有以下程序段,其输出的结果是( )。 int x, y, z; x = y = z = O; ++x | | ++y && ++z; cout<<x<<","<<y<<","<<z<<end1;
admin
2013-02-27
62
问题
有以下程序段,其输出的结果是( )。 int x, y, z; x = y = z = O; ++x | | ++y && ++z; cout<<x<<","<<y<<","<<z<<end1;
选项
A、1,1,1
B、1,1,0
C、1,0,0
D、0,0,0
答案
4
解析
本题考查自增运算符和逻辑运算符两个知识点。错误解答:x,y,z都参
与逻辑运算++x||++y&&++z;,最后得到x=y=z=1。
在正确解答此题前,我们先来看看以下两个表达式:
①a++&&b++;
②a++||b++;
其中:
①式中,若a的值为0,表达式先去求a++的值,系统完全可以确定逻辑表达式的运算结果为0,因此跳过b++不再对它进行求值,所以a的值将自增1,由0变成1,而b值将不变。
②式中若a值为1,表达式先去求a++的值,由于表达式a++的值为1,无论表达式 b++为何值,系统完全可以确定逻辑表达式的运算结果为1,因此也将跳过b++不再对它进行求值,所以b将保持不变。
现在我们来看题目,首先我们对++x进行计算,由于开始x值为0,所以++x的值为 1,由上述第②点可知“||”后面已不再进行运算了,也就是y,z保持原值不变。所以输出结果应为1,0,0。
转载请注明原文地址:https://kaotiyun.com/show/HOVp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下属于系统软件的是()。
深度为3的一棵树共有30个节点,其中度为3和1的节点个数分别为3和4,则该树中的叶子节点数为()。
对于以下函数声明 voidfun(intarray[4],int*ptr);以下叙述中正确的是()。
有以下程序 #include<stdio.h> main() { inta=1,b=2,c=3; charflag; flag=b>=2&&c<=3; switch(a) { case1:sw
以下选项中错误的是()。
以下关于逻辑运算符两侧运算对象的叙述中正确的是()。
为满足运算符+的可交换性,必须将其重载为【】。
重新定义标识符的作用域规定是外层变量被隐藏,【】变量是可见的。
内部静态变量的作用域是()。
随机试题
志乎古,必遗乎今。遗:
肾小管完成重吸收功能的部位主要在()
什么是安全、危险、事故、风险?它们之间有什么关系?
按设备组成要素,电信系统可分为()
重新计量其他长期职工福利净负债或净资产所产生的变动计入其他综合收益。()
民法法系的发展基础是()。
广告证明是表明广告客户的主体资格是否合法和广告内容是否真实、合法的证明文件、证件和资料。根据以上定义,可作为广告证明的一项是()。
解决系统“做什么”和“怎么做”问题的分别是结构化方法的哪两个阶段的任务
有三个关系R、S和T如下:则由关系R和关系S得到关系T的操作是()。
AmericanpubliceducationhaschangednumbersofAmericanparentsandteachersareinrecentyears.Onechangeisthatincreasin
最新回复
(
0
)