c语言中赋值表达式的值是啥,就比如关系表达式的值是一个逻辑值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中赋值表达式的值是啥,就比如关系表达式的值是一个逻辑值相关的知识,希望对你有一定的参考价值。

赋值表达式的值类型
也就是赋值的左值类型。
注意是最左
比如
a=b=c=d;
那么表达式的值,就是a赋值后的值。
参考技术A 没有太明白你的问题的实质,也就是问题的所在。很多事情都是明确的,也许我理解不够。就我所理解的解答:

C语言中赋值表达式的值,就是表达式的右值。比如:

int a, b;
b = 10;
a = b;

两个赋值语句的“值”,都是10。就是其“右值”的值。

你可以测试一下是否正确,在上述的后面增加语句,当然不推荐在实际的程序中使用:

int c;
if (c = a = b) /* 不推荐,仅仅测试用 */
printf(“c = %d\n", c);

输出结果应该是:

c = 10

不知这样有没有解决你的问题?有问题请继续。
参考技术B 赋值语句的返回值:错误返回0,正确返回所赋的数值。
所以会有 a=b=1;这样的表达式。 连等从右往左结合,b=1返回1 所以a等于1。
参考技术C a是把a的值赋给b,再把b的值赋给c
选项d与a类似
选项c:因为&&是逻辑与,如果c=0时,则a=c=0表示假,就不再计算(b=c)了
所以只要选项b,不管c的值是否为0,都要计算b=c的值,在这里也就是给a、b赋值了。
参考技术D 赋值语句的返回值 取决于 所赋予的值

a = (b = 10); a的值就是10
a = (b = 0); a的值就是0
a = 1 && (a = 0); a就是0

a = 1 && ( a = 10 ); a就是1
=操作符就是将给定的数字做一些处理,然后返回一个数字。
而操作符的计算也就是执行操作符的处理,并返回值

C语言中if(a<>b)是啥意思

a,c=b:b是一个“条件表达式”;而当a大于或者等于b时其中;b;再翻译过来就是说这个语句执行完得到的效果就是c的值是取得a:当a小于b时:a<,条件表达式的优先级排名13
高于赋值表达式的优先级14;而“c=

是赋值表达式,c=a,那么因为在c语言中,b俩者当中较小的那个,因此这个语句的意思就是
参考技术A 若a=1并且b=2(执行该步操作后,b的值加1为3)。
逻辑运算符是根据表达式的值来返回真值或是假值。其实在C语言中没有所谓的真值和假值,只是认为非0为真值,0为假值。
符号
功能
&&
逻辑与
||
逻辑或
!
逻辑非
当表达式进行&&运算时,只要有一个为假,总的表达式就为假,只有当所有都为真时,总的式子才为真。当表达式进行||运算时,只要有一个为真,总的值就为真,只有当所有的都为假时,总的式子才为假。逻辑非(!)运算是把相应的变量数据转换为相应的真/假值。若原先为假,则逻辑非以后为真,若原先为真,则逻辑非以后为假。
还有一点很重要,当一个逻辑表达式的后一部分的取值不会影响整个表达式的值时,后一部分就不会进行运算了。例如:
a=2,b=1;
a||b-1;
因为a=2,为真值,所以不管b-1是不是真值,总的表达式一定为真值,这时后面的表达式就不会再计算了。
这是一类特殊的运算符,自增运算符++和自减运算符--对变量的操作结果是增加1和减少1。例如:
--Couter;
Couter--;
++Amount;
Amount++;
看这些例子里,运算符在前面还是在后面对本身的影响都是一样的,都是加1或者减1,但是当把他们作为其他表达式的一部分,两者就有区别了。运算符放在变量前面,那么在运算之前,变量先完成自增或自减运算;如果运算符放在后面,那么自增自减运算是在变量参加表达式的运算后再运算。这样讲可能不太清楚,看下面的例子:
num1=4;
num2=8;
a=++num1;
b=num2++;
a
=++num1;这总的来看是一个赋值,把++num1的值赋给a,因为自增运算符在变量的前面,所以num1先自增加1变为5,然后赋值给a,最终a也为5。b=num2++;这是把num2++的值赋给b,因为自增运算符在变量的后面,所以先把num2赋值给b,b应该为8,然后num2自增加1变为
9。
那么如果出现这样的情况我们怎么处理呢?
c=num1+++num2;
到底是c=(num1++)+num2;还是c=num1+(++num2);这要根据编译器来决定,不同的编译器可能有不同的结果。所以我们在以后的编程当中,应该尽量避免出现上面复杂的情况。
参考技术B 回答

他的意思是a加一或者是b加一哦

件判断,括号里的值如果是0,那么不执行if后面的语句,否则,只要为非0的数,即条件为真,会执行if后面的语句。而括号里的,++运算优先级高于&&,即相当于(a++)&&(b++),其实在这里因为++在后面,也就相当于if(a&&b),如果a,b的值都是非0的,条件成立,如果有1个或2个为0,则为0,条件为假。&&为与运算,只有两侧都为真才为真。

参考技术C (a<>b)就是a不等于b,
判断如果a不等于b,则执行if里面的函数。
希望帮到你~
参考技术D VB里<>表示不等于,if是个条件语句。即如果a不等于b,,,,,,,,
c中一般用!=表示吧,这个我在c中没用过。

以上是关于c语言中赋值表达式的值是啥,就比如关系表达式的值是一个逻辑值的主要内容,如果未能解决你的问题,请参考以下文章

这个有大于小于号的c语言计算,怎么算。a b的值是啥?

逗号表达式的值是啥啊?

C语言中计算逗号表达式c=(a=7,b=a+2,b+1),并且输出a,b,c的值是啥意思啊?求解

求助,C语言程序中三个if表达式的连用

c++重载赋值操作符的返回值是啥?

C语言中if(a<>b)是啥意思