若有定义“int x=1,y=1;",表达式(!x||y- -)的值是? 请说明怎么计算

如题所述

||结果是1。||两边只要有一边为“真”就取1,因为!x==0,所以还要计算||右边的y--,而y--先用值后--,y的值是1为“真”,所以整个表达式的值就为“真”即1。而后才对y作--操作使其值变为0。

根据运算符优先级和结合性可知,原式等效于

((!x)||(y--))

对于子表达式代入xy值可知

!x值为0(假)

y--,由于是自减运算符后缀,所以表达式值为y的原值1(真)

所以整个表达式值为1(真)

扩展资料:

一个表达式的赋值和算符的定义以及数值的定义域是有关联的。

两个表达式若被说是等值的,表示对于自由变量任意的定值,两个表达式都会有相同的输出,即它们代表同一个函数。

一个表达式必须是合式的。亦即,其每个算符都必须有正确的输入数量,在正确的地方。如表达式2+3便是合式的;而表达式*2+则不是合式的,至少不是算术的一般标记方式。

表达式和其赋值曾在20世纪30年代由阿隆佐·邱奇和Stephen Kleene在其λ演算中被公式化。λ演算对现代数学和电脑编程语言的发展都曾有过重大的影响。

参考资料来源:百度百科-表达式

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-11-23
结果是1。||两边只要有一边为“真”就取1,因为!x==0,所以还要计算||右边的y--,而y--先用值后--,y的值是1为“真”,所以整个表达式的值就为“真”即1。而后才对y作--操作使其值变为0。就是这么算的!
第2个回答  推荐于2017-11-23
1
!优先级比 || 高,所以先!x = 0, 然后 !x||y 等于1, 至此表达式已经完成,其值为1。
y有个额外动作,再执行一次--, y 变成 0;本回答被提问者采纳
第3个回答  2011-03-15
值为1;
先计算!x 值为0;再使用y的值,y的值为1,所以0||1值为1
第4个回答  2011-03-15
逻辑值是真,用1表示。因为!a为假,但表达式b--值为1是真,故为真

若有定义“int x=1,y=1;",表达式(!x||y- -)的值是? 请说明怎么计算
||结果是1。||两边只要有一边为“真”就取1,因为!x==0,所以还要计算||右边的y--,而y--先用值后--,y的值是1为“真”,所以整个表达式的值就为“真”即1。而后才对y作--操作使其值变为0。根据运算符优先级和结合性可知,原式等效于 ((!x)||(y--))对于子表达式代入xy值可知 !...

设int x=2,y=1;,表达式(!x||y--)的值是___。
楼主您好!该表达式的值是1。分析:运算顺序是,先对X取逻辑非(结果是0),然后将Y的值代入进行逻辑或运算(结果是1)注:因为这个地方是后缀运算,所以是先用值在运算,最后是括号。所以答案是1。注:此时Y的值是0。

设int x=1, y=1; 表达式(!x||y--)的值是 要说明方法
((!x)||(y--))对于子表达式代入xy值可知 !x值为0(假)y--,由于是自减运算符后缀,所以表达式值为y的原值1(真)所以整个表达式值为1(真)例如:逻辑运算的表达式,非0即1。!x的结果是0 y--的结果是1 0跟1逻辑或的结果是1

设int x=1,y=1;表达式(!x||y--)的值 是怎么 运算的.
(!x||y--)中,括号等级最高为第一优先等级,所以先计算括号里面的内容;逻辑运算符号 !和算术运算符号--为相同等级,为第二优先等级,逻辑或运算符号||为第12优先等级,故此语句的计算是这样的:先计算!X和y--,因为!x=0;y--=1,再计算||,也就是0||1,那么此时您应该知道结果是多少了,就是1,...

设int x=1,y=1;表达式(!x||y--)的值是( )求解
在c语言中,单目运算符(即只有一个操作数)的优先级一般高于双目运算符,!的优先级高于ll,表达式从左往右计算(当然有些编译器从右往左计算,不过这并不影响),!1就是0,y--这个表达式先把y作为返回值送出去,再进行自减。所有就是0ll1,表达式的值就是1,运算结束后y的值为零。

C语言问题,设 int x=1, y=1; 表达式(!x||y--)的值是()。答案怎么是1呀...
逻辑运算的表达式,非0即1。!x的结果是0 y--的结果是1 0跟1逻辑或的结果是1

int x=1,y=1,表达式(!x‖y--)的值是多少
在C语言中,单目运算符(即只有一个操作数)的优先级一般高于双目运算符,!的优先级高于ll,表达式从左往右计算(当然有些编译器从右往左计算,不过这并不影响),!1就是0,y--这个表达式先把y作为返回值送出去,再进行自减。所有就是0ll1,表达式的值就是1,运算结束后y的值为零。

设int x=1, y=1; 表达式(!x||y--)的值是
!x=0 !x||y=1 (!x||y--)=1(其中y=0)

c语言中intx=1,y=1,!x||y――的值
首先x=1,为真 其次y=1,为真 x||y的意思是,如果有一个为真,那么都是真 因为x和y都是真,所以x||y都是真。但是这里有一个优先级的问题。!的意思是非,也就是说,如果一个真的值前面加一个!,那么他就是假,如果一个假的值前面加一个!,那么他就是真。 比如!1就是0,!0就是...

设int x=1,y=1;表达式(!x++ || y––)的值是
表达式(!x++ || y––)的值是1 分析:因为对于后缀的++与--是先取变量的值,再对变量进行自加与自减 !x++等价于!x,然后对x加1,y--等价于y,然后对y减1 即(!1 || 1),结果当然是1

相似回答