您的位置:首页 > 编程语言 > C语言/C++

C语言-表达式

2016-03-08 16:38 302 查看
表达式是使用运算符连接起来的式子,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,这个称为断路;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: