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

c语言的操作符总结

2018-03-31 13:02 489 查看

1.算术操作:

+ -  *  /  %/1)两个数均为整数则进行整数除法2)只要有一个数为浮点数就进行浮点数除法%1)%操作符的两个操作数必须为整数

2.关系运算符:==     等于;!=   不等于;>=     大于等于;<=     小于等于;>       
f441
大于 ;<         小于;*注意;等于为==,=为赋值运算
为了我们更清楚这一点,可以写为以下形式:if(3==i)
3.逻辑操作符:&&  逻辑与;||      逻辑或;!     非;*注:逻辑与左边为0,右边不计算
        逻辑或左边为1,右边不计算4.位操作符:

&  按位与
|  按位或
~  按位非
位指的是二进制位
注意:操作数必须是整数
5..赋值操作符
=可以重新赋一个值复合赋值符:+=     -=    *=    /=    %=   >>=   <<=   &=   |=   这些运算符都可以写成复合的效果

6.单目操作符
!逻辑反操作非0为真,0为假-  负值+  正值&  取地址sizeof   操作数的类型长度(单位:字节)1)sizeof可以求变量或类型所占空间的大小2)变量可不放在()中,但类型一定要放在()中;3)在sizeof(数组名)中  数组名表示整个数组  ~   对一个数的二进制按位取反0变为1,1变为0--   前置、后置--前置-- :先--后使用
例:int a = 1 ;int b = 0;b = --a;得到结果a=0;b=0;后置-- :先使用后--
例:int a = 1 ;int b = 0;b = a--;得到结果a=0;b=1;++ 前置、后置++与--原理相同 *     间接访问操作符(解引用操作符)
例:int num = 10;int *p = &num;*p = 20;//*p就相当于num(类型)  强制类型转换例:int   a   =   1 ;float  b  =  0;b    =  (float)a; //这里就是将整型的a强制转换为浮点型

7.条件操作符exp1?exp2:exp3例:if(a>3)b = 1;elseb = -1;用条件表达式来写是:b =(a>3)? 1 : -1

8.移位操作符
1、<<  左移操作符
   左边抛弃,右边补0;
 
2、>>  右移操作符
(1)逻辑右移
右边丢弃,左边补0;
(2)算数右移
左边用原该值的符号位填充,右边丢弃
eg: int num=-1;
      num >> 1;
num=-1;
-1的补码:11111111111111111111111111111111
逻辑右移:01111111111111111111111111111111  //-1
算数右移:11111111111111111111111111111111  //-19.操作符的属性:复杂表达式的求值有三个影响的因素。1. 操作符的优先级2. 操作符的结合性3. 是否控制求值顺序。两个相邻的操作符先执⾏哪个?取决于他们的优先级。如果两者的优先级相同,取决于他们的结合性。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: