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

C语言操作符简单总结

2018-04-06 16:16 716 查看
点击打开链接

C语言中的操作符:算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式、下标引用、函数调用和结构成员。

1.算术操作符:+  -  *  /  %         
(1) 除了 % 操作符之外,其他的几个操作符均可以作用于整数和浮点数。         
(2) 对于 /  操作符,如果两个操作数都为整数,执行整数除法;而只要有浮点数执行的就是浮点数除法。         
(3)% 操作符的两个操作数必须为整数,返回的是整除之后的余数。  
2.移位操作符: <<   左移操作符    和   >>   右移操作符(针对二进制位、是对整数的操作)(1)左移操作符移位规则:左边丢弃、右边补0。(2)右移操作符移位规则:
(1)算术移位:左边补符号位,右边丢弃。         
(2)逻辑移位:左边补0,右边丢弃。 注:对于移位运算符,不能移动负数位,这个是标准未定义的。  
3.位操作符:&  按位与  | 按位或    ^   按位异或    (操作数都必须是整数,是针对二进制数的操作)  
4.赋值操作符:=   可以重新为变量赋值(赋值操作符是可以连续使用的,从右向左执行,不建议使用)。  
5.复合赋值符:+=     =      *=        /=         %=         >>=          <<=       &=       |=       ^= 
6.单目操作符:
! 逻辑反操作:(真---假)  - 负值     + 正值     
& 取地址:从内存中取地址,不能从寄存器 register 中取址。
sizeof:操作数的类型长度(以字节为单位)注:sizeofb不是函数
-- 前置、后置-- 与++ 前置、后置++:(1)前置++和--:先自增或自减后使用,表达式的值是自增或自减之后的值 (2)后置++和--:先使用再自加减。
 *    间接访问操作符(解引用操作符)  
(类型) :      强制类型转换 
7.关系操作符: >       >=        <          <=           !=         ==   注:== 相等    = 赋值 ,二者易混淆,需注意。 
8.逻辑操作符:&& 逻辑与  || 逻辑或  注:逻辑与、逻辑或是判断真假的,按位与、按位或是对二进制数进行操作的。对逻辑与操作,只要有一个为假,便不必再进行后边的计算;对逻辑或操作,只要有一个为真,便不必再进行后边的操作。  
9.条件操作符(三目操作符):exp1 ? exp2 : exp3    
先计算表达式1 的值,如果表达式 1 为真,整个表达式的值就是表达式 2 的值,如果为假,整个表达式的值就是表达式 3 的值。 
10.逗号表达式:exp1, exp2, exp3, …expN                               
从左向右依次执行,整个表达式的结果是最后一个表达式的结果。 
11.下标引用、函数调用和结构成员  
(1) [ ]  操作数:一个数组名 + 一个索引值
(2)( )  函数调用操作符:接受一个或多个操作数:第一个操作数是函数名,剩余的操作数是传递给函数的参数。
(3) 访问一个结构的成员:.  结构体 . 成员名   -> 结构体指针 -> 成员名
12.表达式求值:  表达式求值的顺序一部分是由操作符的优先级和结合性决定。 有些表达式的操作数在求值的过程中需要转换为其他类型。 
(1)隐式类型转换:C的整型算术运算总是至少以缺省整型类型的精度来进行的。为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整型,这种转换 称为整型提升。 
(2)算术转换:如果某个操作符的各个操作数属于不同的类型,那么除非其中一个操作数的类型转换为另一个操作数的类型,否则操作就无法进行。
      寻常算术转换:long double 
                    double    
                    float        
                    unsigned long int                 
                    long int                   
                    unsigned int       
                    int 
如果某个操作数的类型在上面这个列表中排名较低,那么首先要转换为另外一个操作数的类型后执行运算。(算术转换要合理) 
( 3)复杂表达式的求值三个影响的因素:(1)操作符的优先级 (2)操作符的结合性 (3)是否控制求值顺序。         
两个相邻的操作符执行顺序取决于他们的优先级,如果两者的优先级相同,取决于他们的结合性。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C语言操作符