算术操作符:+,—,*,/,%.

注意点:除法中只要有浮点型执行就是浮点型除法,取余两边必须都为整形


移位操作符:>>右移操作符 <<左移操作符 左移右移都是对二进制形式,左移有乘以二的效果,右移有除二的效果。(只能作用于整数)

右移分        算术移位,右边丢掉,左边补符号位。                逻辑右移,右边丢掉,左边补0.


位操作符 只能作用于整数。&(按位与),|(按位或),^(按位异或) 

a^b可以看作一个密码,在与a异或是b,与b异或是a。求一个数中二进制的一利用按位与

赋值操作符:一个等号 很简单


单目操作符:只有一个操作数,

!(非),-,+(加减号),&(取地址操作符),sizeof()(计算所占内存空间的大小)

  ~(按位取反),++,--,分前置先自增加或减在运算,同理。*解引用操作符。(类型)强制类型转换


关系操作符:比较大小,大于小于等于这些只有等于时注意是两个等号,一个等号为赋值


逻辑操作符:&&逻辑与,||逻辑或, 逻辑与假如算出一个为零后面的运算都不在参与运算

与只要出现一个零结果肯定为零,后面运算不在运算,同理或非也是,注意注意。


条件操作符:exp1?exp2:exp3  exp1结果为真,exp2运算,为假exp3运算

c里面的三目操作符


逗号操作符:用逗号隔开多个表达式,从左向右执行,结果是最后一个表达式


下标应用,函数调用和结构成员:对数组一个数组名一个[],两个操作数一个数组名一个下标数

函数名(),函数的调用时候函数调用操作符,操作数函数名,还有实参

结构体:列如struct stu s1={"","','"}对strtuct这个类型初始化创建了一个学生s1

                   strtuct stu 创建一个结构体类型-stu


表达式隐形类型转换, c的整型算术总是至少以缺省整型类型的精度来进行,为了获得这个精度,表达式中的字符和短整型在使用中会转化为普通整型,这种转换为整型提升。

算术转换,如果某个操作符的各个操作数属于不同的类型,那么除非其中一个操作数转换为另一个操作数的类型否则操作无法进行。

操作符有优先级,结合性,是否控制求值顺序。