运算符种类:
1.算术运算符:+(加),-(减),*(乘),/(除),++(自加),--(自减),%(求模,可理解为求余数)
2.关系运算符:>(大于),<(小于)==(等于),<=(小于等于),>=(大于等于),!=(不等于)
3.逻辑运算符:&&(逻辑与),||(逻辑或),!(逻辑非)
4.赋值运算符:=
5.指针运算符:*(解引用,可理解为取内容),&(取地址)
6.条件运算符:?:
7.位操作运算符:&(按位与),|(按位或),!(按位非),^(按位异或),<<(左移),>>(右移)
8.逗号运算符:,(在一个括号内使用逗号,从左到右进行运算,赋值)
运算符的优先级
运算符重点解析
(一)算术运算符(+,-,*,/,%,++,--)
1.易混淆点,前置和后置运算
后置: i++ : 先引用,后增加 前置:++i : 先增加,再引用
2.易错点,%求模运算符在C语言中只能进行整数求模,而且分母不能为0
(二)关系运算符(>,<,>=,<=,!=,==)
跟数学符号差不多,要注意区分赋值符号=和关系运算符的等于==就好了
(三)逻辑运算符(||,&&,!)
区分:逻辑与和逻辑或是判断两端真假,按位与按位或是进行二进制展开运算
难点:逻辑运算符的短路性(与之相对的是,按位或 & 和按位与 | 并没有短路性)
设有式子a,b; a&&b如果a的式子不成立,则b就不进行判断了,同理,当a||b的a式子成立时,b就不判断了,!没什么好说的就是取“非”的意思
(四)指针运算符(*,&)
没什么好说的,&取地址,*取内容
(五)条件运算符(?:)
设有式子a,b,c 则a?b:c的意思就是,如果a成立,执行b,如果a不成立执行c
(六)位操作运算符(&,|,^,<<,>>)
<<,>>左移和右移,移操作的左边是被操作的数,右边是要移动 多少位数,如a=4;a<<1表示左移一位,最高位舍弃,最后位补0
如有错误 欢迎指正。(@_@;)
转载请注明原文地址: https://www.6miu.com/read-5035158.html