C语言逻辑运算符顺序

您所在的位置:网站首页 c语言的运算符号顺序 C语言逻辑运算符顺序

C语言逻辑运算符顺序

2023-07-18 00:04| 来源: 网络整理| 查看: 265

a=b=c=1; ++a||++b&&++c; 问语句执行顺序?

a=b=c=1; ++a||++b&&++c; 问语句执行顺序?解答:“赋值语句结合性 自右向左”是正确的,所以a=b=c=1;的执行顺序是:c=1;b=1;a=1;

++a||++b&&++c;语句的执行顺序也是对的,我多啰嗦解释一下啊。

算数运算符比逻辑运算符等级高首先,++出现在a之前,表示在执行“++a||++b&&++c;”语句之前完成自加运算,所以要先执行自加。同理,b和c也是先完成自加运算。这部分解释可以表述为:++a;//即执行a=a+1;++b;//即执行b=b+1;++c;//即执行c=c+1;逻辑运算符号也是分等级的 !运算符等级最高,“&&的优先级比||高”,不是貌似,的确是的哦,所以b&&c被执行。注意,此时的b和c已经完成了自加运算。a||(b&&c)最后被执行。

 

 C语言中逻辑运算符_ ___的优先级高于算术运算符。

 逻辑非(即‘!’操作符) 优先级高于算术运算符。所有的单目操作符优先级都高于双目和三目操作符。

C语言中逻辑运算符有三种,分别是逻辑与&&,逻辑或||,逻辑非!,其中&&相当于and,||相当于or,!相当于not,而且这三种运算符之间是有级别的,逻辑非的级别最高,其次就是逻辑与、逻辑或。也就是说当三者同时出现时,先执行逻辑非,再执行逻辑与,最后执行逻辑或。当逻辑运算符、算术运算符、关系运算符、赋值运算符同时出现时,先执行逻辑非,再执行算术运算符,然后关系运算符,加下来是逻辑与逻辑或,最后是赋值运算符。

例如:if(a>b && a>c)printf("正确") 当且仅当a>b且a>c时(即两个条件要同时),此语句执行;if(a>b || a>c)printf("正确") 当且仅当a>b或者a>c时(即只需要满足一个条件就行),此语句执行;若条件a为真,!a则为假。a==b || x==y,先执行a==b和x==y,然后将二者合并取逻辑或运算…其他的类推

————————————————————————————————————————————————————————————————————————————————

单目运算符   运算所需变量为一个的运算符叫单目运算符 逻辑非运算符【!】、按位取反运算符【~】、自增自减运算符【++ --】、负号运算符【-】、类型转换运算符【(类型)】、指针运算符和取地址运算符【*和&】、长度运算符【sizeof】 运算所需变量为两个的运算符叫做双目运算符,例如+,-,*,/,%,,>=,


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3