在一个程序的运行过程中需要进行各种运算,所以就出现了C语言的算数运算。
运算符中存在着先后顺序,和数学中的相同,先乘除后加减。可以通过加()来优先。如x+5*y-3和(x+5)*y-3不同。在运算中大多数为双目运算。双目运算的含义是由两个数字,如3*5就是双目运算。
1.算术运算
(1).单目运算
加减可以作为单目运算,可以单独的代表一个数字的正负。
例:-5,+(-5)之类的。
(2).双目运算
+ - * / %都是双目运算,分别为加减乘除和取余运算。注意:除法和取余是不同的两种运算。
在除法运算中3/2和3.0/2.0不同,结果为1和1.5。所以在运算过程中想要小数后的需要注意书写。
取余,顾名思义是去除数完的剩余部分。如7%2=1 %的运算必须是定点数,所以不能出现浮点型如3.0%2就是错误的书写。
2.赋值运算
(1).赋值运算及其功能
<1>赋值运算
赋值运算是一种双目运算。是用变量名=表达式;
如图是对x进行赋值,两个x的结果不同。一个x为5,一个x为20。
<2>自反赋值运算符
在数学中x=x+5是没有意义的,但是在程序设计中是有意义的。他也可以写作x+=5。他的含义是在x+5后 在输出x,在程序中有很多这种运算如+=,-=,*=,%=等等。
赋值表达式及其值
1,将10赋值x2,使x2的值为10,将赋值表达式x2=10赋值给x1;
2,x2=x2+10,最后x2等于20;
3,赋值运算x2=3,给x2赋值为3,将表达式x2=3的值加上2在赋值给x1,所以x1为5;
4,x1的值为5,x1*x1的值为25,所以赋值运算为x1+=(x1-=25)。先进行x-=25的运算,再是x1等于5-25=-20,所以x1=x1+(-20)=-20+(-20)=-40;
5,x1的值为-40,先求表达式x1+=2,x1为-38,再求表达式x1=-38-(-38)=0,所以最后x1=0。
<3>优先级和结合次序
再优先级中赋值运算的运算级只比逗号运算符高,再数值运算中可以加入括号来提高运算符的优先级。
<4>自加和自减运算
++是使一个值在自身的基础上加一,如x+1可以写作x++,无论是x++还是++x都是在x的基础上加一但是在意义方面++x被理解为先自加再取值,x++被理解为先取值再自加。这个就是前置表达和后置表达的区别。
以上的很多表达方式都是为了简化在写代码时的作用,因为一个程序的运行所需的代码较多。方便理解也简化了书写的量。