C++ 数据类型与表达式的题

1、字符串“\t\v\\\0which\n"的长度是多少?答案是3,求解释。

2、设int x=2, y=3, z=4,则下列表达式中值不为1的是( )
A.'x'&&'z' B.(!y=1)&&(!z=0) C.(x<y)&&!z||1 D.x||y+y&&z-y 答案是B,求解释

3、设int x=2, y=4, z=7;,则执行x=y--<=x||x+y!=z后,x,y的值分别是???求解释

    \t 水平制表符一个    \v垂直制表符 一个     \\ 一个反斜杠一个  \0字符串结束总共长度就3

    'x' &&'z' =0x78 && 0x7a 前后都不是0自然不是0

    B 选项你确定你没抄错,这是语法错误的!无语。。。。是(!y==1)&&(!z==0)么

    !y=0 0==1 自然是0             !z=0 ,0==0表达式的值是1   0&& 1 自然就是0

    对于C 先计算x<y 值是1 再计算 1&&!z 值是0,最后计算0||1 自然就是1

    对于Dx||y 值为1           y&&z值为1 ,1+1-y=-1表达式还是1

     执行完后x=1 y=3

+的优先级高于赋值运算符

所以先计算x||x值为1然后加上y 值为5 然后计算y--<=5 为1 然后计算这个1!=z为1 所以x自然就是1算

(有可能不是这样算的,我再分析一下)

事实上是这样的

表达式中出现的运算符优先级 先后顺序是这样的:

--

+

<=

!=

||

=

所以这个表达式等价于

x=((y--<=x)||((x+y)!=z))

就是x=((4<=2)||((2+4)!=7))

x=(0||1)

最后x=1;

y--后等于3

温馨提示:内容为网友见解,仅供参考
无其他回答

C++ 数据类型与表达式的题
!y=0 0==1 自然是0 !z=0 ,0==0表达式的值是1 0&& 1 自然就是0 对于C 先计算x<y 值是1 再计算 1&&!z 值是0,最后计算0||1 自然就是1 对于Dx||y 值为1 y&&z值为1 ,1+1-y=-1表达式还是1 执行完后x=1 y=3 +的优先级高于赋值运算符 所以先计算x||x值为1...

表达式1\/4+2.75这个的值算出来是什么数据类型,因为这个未定义啊,顺便...
在C\/C++中,1\/4+2.75结果是double型,值为2.75。因为计算是从左至右的,先计算1\/4,其值是0(整型取整除),然后算0+2.75,将0提升为double型与2.75相加得上述结果。如果给出的答案不是2.75,则必有错。

c++程序设计教程(高等教育出版社)练习答案龚沛曾主编
1、C 2、A 3、B(a+b=11) 4、C 5、D 6、A 7、C 8、B 第二章基本数据类型、运算符和表达式 一、选择题 1、B 2、C 3、D 4、C 5、D 6、C 7、C 8、C 9、B 10、B 第三章结构化程序设计 一、选择题 1、C 2、D 3、D(7 5其他值) 4、C 5、B 6、C 7、A 8、C ...

几道c++基础练习题,需要详细的分析,谢谢
第三题:只要定义了变量,如果变量没有初始化,那么编译器在编译的时候变量会赋一个不确定的值。不确定值位的长度和变量的类型相同,故执行相加表达式正确。第四题:弄清楚(a,c)的运算规则就ok了,(编译后执行结果一致)。第五题:if ( b = = 0 ) m = 1; n = 2;c\/c++语言规定一个语...

C++中,x=(++i)+(++i)和y=(i++)+(i++)的值
这种题与编译器有关,因为C++标准没有对这种问题做出规定,因此具体计算方法完全由编译器决定,也就是没有统一标准,如果考试出这种题,那就很垃圾。具本人所知,像这种类型的题,应该有两种算法,如下 第一种:i=5;x=(++i)+(++i);首先(++i)+(++i)整体为一个表达式,因为++i的优先级高于+,...

C++求这个是怎么类型转化的呀
由定义可知,结果为2.6且这个2.6的数据类型为double类型(注意:并非float类型)。C++编译器对该表达式详细转换如下:x+a%3*(int)(x+y)%3\/5 首先括号的优级先高于四则运算符,所以先执行括号内的运算,结果为:2.6+10%3*(int)(7.7)%3\/5 \/\/ C++编译器内部把2.6和5.1先转换成double...

C++中int i(1),sum(0); for(i=1;i<=10;i++) sum=sum+i; cout<
【1】int是C++语言中基本数据类型中的整型。【2】sum指的是返回某一单元格区域中的数、逻辑值及数字的文本表达式之和。【3】int i(1),sum(0);即int i=1,sum=0;意思是把字母i定义为整型常量,把i赋值为1。把具有“总和”意思的英文单词sum定义为整型常量,把sum赋值为0。【4】延伸一下:...

C++中,a++、a+=1、a=a+1、++a 有什么区别?以及效率问题
鉴于a++和++a的差别,C++Primer建议用++a作为for循环的递增量效率问题:1.在内建数据类型时 (即自增表示式的结果没有被使用,只是简单的用于递增操作),这时这两个表达式的效率是相同的。2.在自定义数据类型时 (主要指有类的情况),由于++a可以返回对象的引用,而a++一定要是返回对象的值。可想...

c语言和c++问题帮忙做做..谢谢
2、x为奇数时值为“真”,x为偶数时值为“假”的表达式是 (x%2)==0?0:1 3、在C++语言中,引用数组元素时,其数组元素的下标的数据类型只能是 B 。A. 整型表达式 B. 整型表达式或整型常量 C . 整型常量 D. 任何表达式 4、以下正确的数组定义是 ? 没选项 。5、若有...

C++问题, 4. 下列程序执行完后,x的值是多少?
B)所有变量都要先定义其数据类型后在使用 C)在C++语言中,变量position 和PoSitioN是相同的 D)变量声明可以在C++程序的任何地方 6. 假定一个二维数组的定义为“int a[4][5];”,则该数组所含元素的个数为多少?所占存储空间的字节数为多少?解:所含元素是20个 7. 表达式 50\/4的值是多少?在...

相似回答