首页 > 搜索 > 自增自减运算算法,表达式

自增自减运算算法,表达式

互联网 2020-10-30 04:23:14
在线算命,八字测算命理

变量和赋值表达式

int a,b;

a=3+4+5;3+4+5就是一个赋值表达式

什么是表达式,之前的章节也说过了,表达式就是会返回一个值的。

赋值运算符‘='的优先性近高于,结合方向是从右到左(重点)。

例子:

a=b=+3;是合法的。a=b,b+=3,先将b=b+3赋值给b;再将b的值赋给a。

赋值运算符的左边只能是一个变量,不能是一个表达式:

a+2=3+4+5;这种写法是错误的,

这里讲解下C语言的另外两种表达式:逗号表达式和条件表达式中的三目运算符。

逗号运算符:优先级别最低,从左往右逐个计算表达式,整个表达式的值为最后一个表达式的值。

例子:int a,b;b=( a=1,a+1,a++);

首先a=1;a++后a=2。a++后a=3。返回3的值。b=3。

三目运算符:表达式1?表达式2:表达式3;

执行顺序:先求解表达式1,若值为非0,表示条件为真,则求表达式2,此时表达式2的值就作为整个条件表达式的值;

例子:求2者中较大者

c=a>b?a:b;

如果a>b则返回1,则整个表达式的值为a,c=a,否则返回0,表达式的值为b,c=b;

自增和自减i++和++i意味着i=i+1;i--和--i意味着i=i-1;i++是先访问再自增。++i是先自增再访问。例子:int a;int i=0;如果a=i++的话{a等于0,i等于1}.如果++i的话,(a等于1,i等于1)。

同样的,i--和--i就是自减,跟上述一样。:例子:int a;int i=1;如果a=i--的话{a等于1,i等于0}.如果--i的话,(a等于0,i等于0)。

自增和自减的副作用:比如a+++b是(a++)+b呢还是a+(++b)呢?这里给出解释:C语言规定每一个有意义的符号应该包含尽可能多的字(重点)编译器扫描程序的方法是从左到右边一个字符一个字符的扫描。

因此a+++b,编译器将会理解为扫描到a++时,再扫描下一个加号时会发现没有a+++,因此会判定为(a++)+b

---------------------------------------------------------------------

想了解更多,可以关注公众号"程序员快速修炼

免责声明:非本网注明原创的信息,皆为程序自动获取互联网,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责;如此页面有侵犯到您的权益,请给站长发送邮件,并提供相关证明(版权证明、身份证正反面、侵权链接),站长将在收到邮件12小时内删除。

相关阅读

一周热门

查看更多