C语言-表达式

表达式是使用运算符连接起来的式子,C语言中的表达式有以下几种:

 1、算数运算符 + - * / %

 2、赋值运算符 +=  -=  *=  /=  %=

 3、自增、自减 ++   --

    a++为先使用a,然后在进行a=a+1的运算,而++a为先a=a+1,然后再使用a,这个时候a的值已经不是原来的a了,而是a+1。

      int a=1;(a++)*(a++)*(a++)*(a++)的结果是24,在进行完上式之后a的值是5.

 4、关系运算符(比较运算符) <  >  >=  <=  ==  !=  关系运算结果为真(1)或假(0),即成立或不成立,对或者错,开或关

    计算机返回表达式成立与否很标准:1(真);0(假)

 5、逻辑运算符 &&  ||  !     表达式1 逻辑运算符 表达式2.

    && 表达式1和表达式2同时成立,即同时为1时返回值为1,否则返回0,也就是假。

    || 表达式1和表达式2中有一个成立,则返回值为真,返回1,否则返回0,即假。

    !  !表达式1   如果表达式成立则返回假也就是0,如果不成立则返回真即1.

  !的优先级比较高,仅此于()。

 6、位运算符  &  |  >>  <<

  a<<n相当于给一个变量乘2的n次方,a>>m 相当于a除以2的n次方。

 7、三目运算符 表达式1?表达式2:表达式3     c=a>b?a:b意思是如果a>b,那么c=a,否则c=b。相当于if判断。

 8、sizeof(表达式)用来获取表达式结果的类型在内存中存储所占用的字节数,sizeof()的结果是unsigned long ,在使用printf打印时占位符是%lu。

 不同的运算符有不同的优先级(后面的数字表示优先级,数字越小,优先级越高):

   ()     0  最高

   !       1

   + - * /  %    2

   > < >= <= == !=     3

   &&     4

   ||     5

   += -= *= /= %=     6

   =      7   最低

  如果不知道优先级的等级,就使用括号括起来,这样不但可以保证运算结果正确,也可以使逻辑关系清楚易读。

以下是上面知识的一些使用:

奇数的表示:int a=0; a%2==1

偶数的表示: int b=0; b%2==0

a/b的结果是a/b的商,a%b的结果为a/b的余数。

两位数的十位数和各位数的表示:int a=23;b=a/10表示a的十位数的数字。c=a%10表示a的各位数。

短路:在一个逻辑表达式中,如果存在||运算,且||运算符前面的逻辑结果为1,则整个逻辑表达式的结果肯定是1,这个称为短路;

断路:在一个逻辑表达式中,如果存在&&运算,且&&运算符前面的逻辑结果为0,则整个逻辑表达式的结果必然为0,这个称为断路;

原文地址:https://www.cnblogs.com/jiwangbujiu/p/5254606.html