C语言程序 运算符

  1. ------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
  C语言中的运算符及优先级
  1,运算符是告诉编译程序执行特定运算或逻辑操作的符号,C语言中一共有34种运算符。
  2,运算符的分类
   按照功能划分:算术运算符、关系运算符与逻辑运算符、按位运算符。

2.1 算术运算符有加减乘除运算、取余运算、自增自减运算。

2.1.1 取余运算也叫模运算,用“%”表示,取余运算是两个整数相除的余数,如5%3==2, 取余结果正负性只跟“%”左边数值有关,如-5%3==-2,5%(-3)==2。

2.1.2赋值运算符:用“=”表示,从右往左运算,如a = 4表示把4赋值给a。

2.1.3 自增自减运算:也称复合赋值运算,自增用“++”表示,a++可写成a=a+1,自增有两种方式:

(1)++a  ++在前面表示先把a+1再进行赋值

(2)a++ ++在后面表示先把a赋值再进行a+1运算

自减同理。

2.2 sizeof运算:也称长度运算,是C语言特有的运算符。用来计算一个变量或者一个常量、一种数据类型所占的内存字节数。

语法为   sizeof();是常量或变量时括号可以不要,但直接放数据类型时括号不能省,如sizeof 0.20 == 8,sizeof(int)==4。

2.3 关系运算符:也叫比较运算符,表示在某个条件成立的情况下才会执行某一代码。

真假:在C语言中,条件成立称之为“真”,反之为“假”,任何非0值都为真,只有0才是假。

关系运算符有:大于(“>”)、小于("<")、大于等于(">=")、小于等于(“<=”)、不等于(“!=”)和等于(“==”)。

注意点:等号“==”与赋值符号“=”容易弄混。

2.4 逻辑运算:分3种:

逻辑与:用“&&”表示,使用格式:条件A&&条件B     A与B同时成立时条件才为真,如1&&2==1即为真;

逻辑或:用“||”表示,    使用格式: 条件A||条件B       A和B都不成立时为假, 如1||0==1为真,((1>2 )|| (2>3))==0即为假;

逻辑非: 用“!”表示,  使用格式: !条件                条件为真时其结果为假,条件为假时结果为真,如!2==0即为假,!0==1即为真

2.5 三目运算符: 使用格式:条件?数值1:数值2,  条件成立时输出数值1条件不成立时输出数值2,一般用于比较大小,如 2 > 3 ? 2 : 3==3。

2.6 按位运算:主要用于二进制中的运算,分6种:

2.6.1 按位与:用“&”表示,只有对应的两个二进制位都为1时,结果才为1,否则为0,可用来精确每个二进制的位。

2.6.2 按位或:用“|”表示, 对应的二进制位有一个为1时结果为1,否则为0。

2.6.3 按位异或:用“^”表示,对应的二进制位不相同时结果为1,否则为0。相同数值异或,结果为0,如a^a==0,多个数值异或时可交换异或,任何数值与0异或,结果为本身,如a^b^a==a^a^b==b。

2.6.4 按位取反:用“~”表示,把每个二进制位取反(即0取1,1取0),一般用于原码、反码及补码的计算。

2.6.5 左移:用“<<”表示,把整个二进制位都向左移n位,保持符号不变,左移后的值为原来的2的n次方倍。

2.6.6 右移:用“>>”表示,符号位不变,其余整体右移,空余位用符号位补齐,右移后的值为原来的2的-n次方倍。

3.优先级:



优先级

描述

运算符

1

括号

()[]

2

正负号

+-

3

自增自减,非

++--!

4

乘除,取余

*/%

5

加减

+-

6

移位运算

<<>>>>>

7

大小关系

>>=<<=

8

相等关系

==!=

9

按位与

&

10

按位异或

^

11

按位或

|

12

逻辑与

&&

13

逻辑或

||

14

条件运算

?:

15

赋值运算

=+=-=*=/=%=

16

位赋值运算

&=|=<<=>>=>>>=

你可能感兴趣的:(C语言程序 运算符)