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

C语言操作符总结

2017-10-18 19:24 405 查看
操作符分类:

算术操作符
移位操作符
位操作符
赋值操作符
单目操作符
关系操作符
逻辑操作符
条件操作符
逗号表达式

下标引用、函数调用和结构成员
1、算数操作符
     +、-、*、/、%
除了%操作符之外,其他的几个操作符可以作用于整数和浮点数。
%操作符的两个操作数必须为整数。返回的是整除之后的余数。

2、移位操作符:移位操作符是将数据看成二进制数,对其进行向左或向右移动若干位的运算。
     <<  左移操作符 、       >>   右移操作符   
左移操作符移位规则:左边抛弃、右边补0         (左移1位所得的结果乘2)
右移操作符移位规则:1.逻辑右移:右边丢弃、左边补0        2.算术右移:右边丢弃、左边补符号位(正数补0、负数补1)
警告:对于位移运算符,不要移动负数位,这个标准是未定义的
3、位操作符:
    &(按位与)      丨(按位或)       ^(按位异或)
例: A = 6,B = 10;
A的二进制位为       00000000 00000000 00000000 00000110
B的二进制位为       00000000 00000000 00000000 00001010
A&B          =           00000000 00000000 00000000 00000010     (同真为真、有假为假)    
A丨B         =            00000000 00000000 00000000 00001110
    (有真为真)
A^B          =            00000000 00000000 00000000 00001100
     (相同为0、相异为1)
注:它们的操作数必须为整数
4、赋值操作符:   
赋值操作符是一个很棒的操作符,他可以让你得到一个你之前不满意的值。也就是你可以给自己重新赋值。
例:int weight = 120;//体重
        weight = 89;//不满意就赋值
        double salary = 10000.0;
        salary = 20000.0;//使用赋值操作符赋值。
5、复合操作符:
+=  加且赋值运算符                          C+=A相当于C=C+A

-=  减且赋值运算符                          C-=A相当于C=C-A

*=  乘且赋值运算符                          C*=A相当于C=C*A

/=  除且赋值运算符                          C/=A相当于C=C/A

%=  求模且赋值运算符                         C%=A相当于C=C%A

<<=  左移且赋值运算符                        C<<=1相当于C=C<<1

>>=  右移且赋值运算符                        C>>=1相当于C=C>>1

&=  按位与且赋值运算符                       C&=1相当于C=C&1

^=  按位异或且赋值运算符                      C^=A相当于C=C^1

|=  按位或且赋值运算符                       C|=A相当于C=C|1

6、单目操作符:
!      逻辑反操作
-       负值
+       正值
&       取地址
sizeof   操作数的类型长度(以字节为单位)
~      对一个数的二进制按位取反
--      前置、后置--
++       前置、后置++
*                  间接访问操作符
(类型)           强制类型转换
7、关系操作符:
 >    >=   <   <=   !=    ==
!=         用于测试“不相等”
==        用于测试“相等”
8、逻辑操作符:
    && (逻辑与)          ||  (逻辑或)
例:#include<stdio.h> 
int main()

   int i = 0,a=0,b=2,c =3,d=4; 
   i = a++&&++b&&d++; 
   //i = a++||++b||d++; 
   printf("a = %d\n b = %d\n c = %d\nd = %d\n", a, b, c, d);
   return 0;
}
输出的结果为  a = 1, b = 2, c = 3, d = 4. 
进行逻辑与运算时,左操作数为假时,则右操作数不需要计算
进行逻辑或运算时,左操作数为真时,则右操作数不需要计算
9、条件操作符(又称三目操作符):
   exp1 ? exp2 : exp3
例: a = (b>0)? b: -b;
  当b>0时,a=b;当b不大于0时,a=-b;其实上面的意思就是把b的绝对值赋值给a。
10、逗号表达式:
exp1,
exp2, exp3, .........expN
逗号表达式,就是用逗号隔开的多个表达式。
逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。

11、下标引用、函数调用和结构成员
(1).
[ ] 
 
    操作数:一个数组名+一个索引值
(2).()
函数调用操作符:接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。
(3).访问一个结构的成员
. 结构体
. 成员名
->结构体指针->成员名
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: