在c++编程中,这两个句子,n=--x&&++y和n=(--x)||(++y)是什么意思?特别是中间的符号,&&和||

如题所述

&&即我们说的且,如a>0且b>9写成a>0&&b>9;同理||是或;即a>0或b>9表达为a>0||b>9,需要&&两边为真(即非0)结果才为真,||只要有一边为真(即非0)结果就为真,应注意||和&&都是先判断左再到右的,n=(--x)||(++y)中,先做的是--x;即x自减1后若结果为假(等于0),就会再执行++y;但如果--x结果为真,就可以知道整个表达式为真,其后的++y不被执行。打字很累的,楼主须知,呵呵
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-03-23
”&&“是逻辑与的意思,它的前后两个表达式都为真时整个表达式为真, ”||“是逻辑或的意思,它的前后两个表达式都为假时整个表达式为假。C语言中,&&和||都是短路运算符,先计算左边表达式的值,当左边表达式的值能确定整个表达式的值时,就不再计算右边表达式的值……
第2个回答  2013-03-23
第一个句子的意思:n = (x-1)&&(y+1)
第二个句子:n = (x-1)||(y+1)
&&意思是“与”,就是说两个分式都为1时 整个表达式的值才是1 否则为0
||意思是“或),就是说两个分式都为0时 整个表达式的值才是0 否则为1
第3个回答  2013-03-23
&&是“并且”的意思,它的前后两个表达式都为真时整个大表达式为真
||是“或者”的意思,它的前后两个表达式都为假时整个大表达式为假

例如:(2>1)&&(3>2)是真,(2<1)||(3<2)为假。

需要注意的是,在C++中,非零的值都是真的,只有0才是假的。

然后,你只需要判断n=--x、++y的数值,
n=--x、++y和n=(--x)、(++y)是一样的,两个括号没作用
第4个回答  2013-03-23
&&是并且的意思,当且仅当左右两边都为真则整个式子为真;
||是或者的意思,当且仅当左右两边都为假则整个式子为假;
n=--x&&++y 中先执行“--x”即x=x-1和“++y”即y=y+1;执行后如果x和y的值都为1(即为真),则n的值为1(即为真),否则n=0(即为假)。后面的式子也是同样的道理

...x)||(++y)是什么意思?特别是中间的符号,&&和||
需要&&两边为真(即非0)结果才为真,||只要有一边为真(即非0)结果就为真,应注意||和&&都是先判断左再到右的,n=(--x)||(++y)中,先做的是--x;即x自减1后若结果为假(等于0),就会再执行++y;

c++编程中--x&&++y&&++z是什么意思
所以++y不会算,且(--x&&++y)的值是0 而0 && ++z同样的,右边不用算,所以结果x,y,z就分别是 0,1,1了

C语言的--x&&++y||++z要怎么理解
--x&&++y ; 这句执行完成后,x=0, y依然是2 如:int y=0, z=2;++y||++z ; 这句执行完成后,y=1 z依然是2

关于C++三目运算的问题
先判断--x == y++,--x是先执行-运算,实际上你可以理解成两句语句就是x-1 == y ; y = y+1;所以就是 10-1 == 9,成立,等到判断过了之后,y++生效,y = 10;然后给a赋值,--x,就是 a = x -1 ;你老师说的y++没有执行大概说的事 --x:y++里的y++。

在c++中,++x||++y是什么意思
这是一个逻辑表达式, 判断 ++x 的值 或者 ++y 的值 是否有一个为真,如果有,则逻辑表达式++x||++y为真,否则为假。而且当 ++x 为真后,表达式将不会判断 ++y 的值。即++y不会执行。如果要输出x,y的值时,就会很明显了。

在C++中,如果输入f= --x || y-- && z++;请求输出z时Z等于2,为什么f=...
这个在于你的y值。因为在c++表达式中,逻辑运算会出现“短路”现象。比如y=1,z=1,则y--&&z++的时候,y=1为真,就会计算z++,z就变成了2;而--y&&z++的时候,y=1先变成了0,而0表示假,&&运算符后面的表达式就不会处理了,因此z++根本就不执行,因此z还保持原来的值,为1!

JS里的++、--、+=、*=分别表示什么啊,还有这类的符号吗,可以详细一点吗...
++和--这是算数运算符。比如 x=5 ,y=++x,y=6 比如 x=5 ,y=--x,y=4+= 是赋值运算符。比如 x+=y,相当于x=x+y = 比如 x*=y,相当于x=x*y 类似的符号:还有 1、除法 (\/)除法运算符的结果是操作数的商 ,左操作数是被除数,右操作数是除数。2、求余 (%)求余运算...

(C++) 输入一个由数字、+、-、*、\/及括号组成的自述表达式,求其值。
S.top++=e;} float Pop_f(SqStack_f &S,float &e){ \/* 若栈不空,则删除运算数栈S的栈顶元素,用e返回其值,并返回OK;否则返回ERROR *\/ if(S.top==S.base)return ERROR;e=*--S.top;return e;} char Pop_ch(SqStack_ch &S,char &e){ \/* 若栈不空,则删除运算符栈S的栈...

C++运算问题,求x++*++y和x--*--y
i++;++i 是使用 i 之前先使 i 加一,即运算式值是6,i的值也为6 i++ 是使用 i 之后再加一,即运算式值是5,i的值是6 第二问题,百度一下“C++ 运算符优先级列表”,就很清楚了,--和++的优先级都在*运算符之前,也就是说有++或--先运算。那么第一个就是5*7=35。第二个是5*5...

...{ int x=1,y; y=++x*++x; printf("%d\\n",y); }
1。i-- i 参与运算后,i 的值再自减 1。解答问题:x=1为初始化值.y=++x * ++x;第一个++x, x=2;第二个++x, x=3; 同样道理 第一个++x 也=3; 因为x的内存地址不变.第二个++x加了1后=3.第一个++x也会改变自身的值.所以:结果=9 在visual C++6.0编译后结果=9 ...

相似回答