C语言—操作符总结
2017-11-19 22:47
585 查看
1.运算操作符
加: + (可作为正号) 例: a + b , +4
减: - (可作为正号) 例: a - b , -5
乘: * 例: a * b
除: / 例: a / b 注意: 分母不能为零
取余: %
运算操作符的使用方法,基本与数学上的使用一致
2.赋值操作符
例:a = 2; //可读为将2赋给a
注意:从右向左进行运算
3.其他符赋值操作符
+= 例: a += 1; 相当于 a = a + 1;
-= 例: b -= 1; 相当于 b = b-1;
= 例: c = 2; 相当于 c = c * 2;
/= 例: d /= 2; 相当于 d = d / 2;
4.自增与自减
++ 例: ++a a++ 相当于 a = a+1;
- - 例: - -a a- - 相当于 a = a - 1;
++或(- -) 在后表示先使用再+1或(-1)
++或(- -)在前表示先+1或(-1)再使用
结果为:
a = 2;
a = 4;
5.关系操作符
条件成立为1, 条件不成立为0
6.位操作符
按位与 & a & b
按位或 | c | d
拿a&b来说,将a和b 转换为二进制码
a = 1010
b = 1101
a&b = 1000
7.逻辑操作符
与 && 注:非零数相与结果为 1 , 只要有一个 0,结果为 0
或 || 注:0与0相或为0,只要一个 1,结果为1
非 ! 注: !0 为 1, 当一个非0 的数前面家!时,结果为0
&& 和 || 从左到右进行运算,所以只要&&左操作数为0,右边所有表达式不参与运算,结果直接是0,||的左操作数为1时,右边所有表达式不参与运算,结果直接为1
8.移位操作符
左移操作符 << 例: a>>1
右移操作符 >> 例: a<<1
左移是将 a存的变量所对应的2进制向左移1位,最低位补0,将这个数扩大1倍
右移是将 a存的变量所对应的2进制向右移1位,最高位补符号位,将这个数缩小1倍
注意 : a>>1 (或 a<<1) 并没有改变a的值,但是这个表的是的结果是a的一般(或者两倍)
9.sizeof
用来计算变量,常量或者是一种数据类型所占的内存字节数。
基本形式:sizeof(变量名|常量|数据类型),完成之后返回一个值。
注:当sizeof()的操作数单独为一个数组名时,虽然我们常说数组名是数组首元素的首地址,但是这时sizeof计算的是整个数组的大小。
10.三目运算符
三目:需要3个数值参与
格式:条件?数值1:数值2
先判断?前的条件,若条件成立则返回数值1,若条件不成立则返回条件2。
要求比较a和b的值,把数值大的存入到c中 c=a>b?a:b
当 a>b 为真时 把a的值赋给c
当 a>b 为假时 把b的值赋给c
操作符一览表
加: + (可作为正号) 例: a + b , +4
减: - (可作为正号) 例: a - b , -5
乘: * 例: a * b
除: / 例: a / b 注意: 分母不能为零
取余: %
运算操作符的使用方法,基本与数学上的使用一致
2.赋值操作符
例:a = 2; //可读为将2赋给a
注意:从右向左进行运算
3.其他符赋值操作符
+= 例: a += 1; 相当于 a = a + 1;
-= 例: b -= 1; 相当于 b = b-1;
= 例: c = 2; 相当于 c = c * 2;
/= 例: d /= 2; 相当于 d = d / 2;
4.自增与自减
++ 例: ++a a++ 相当于 a = a+1;
- - 例: - -a a- - 相当于 a = a - 1;
++或(- -) 在后表示先使用再+1或(-1)
++或(- -)在前表示先+1或(-1)再使用
int a = 2; printf("a = %d\n",a++);//先打印 再加1 printf("a = %d\n",++a); // 先加1 再打印
结果为:
a = 2;
a = 4;
5.关系操作符
> >= < <= == !=
条件成立为1, 条件不成立为0
6.位操作符
按位与 & a & b
按位或 | c | d
拿a&b来说,将a和b 转换为二进制码
a = 1010
b = 1101
a&b = 1000
7.逻辑操作符
与 && 注:非零数相与结果为 1 , 只要有一个 0,结果为 0
或 || 注:0与0相或为0,只要一个 1,结果为1
非 ! 注: !0 为 1, 当一个非0 的数前面家!时,结果为0
&& 和 || 从左到右进行运算,所以只要&&左操作数为0,右边所有表达式不参与运算,结果直接是0,||的左操作数为1时,右边所有表达式不参与运算,结果直接为1
8.移位操作符
左移操作符 << 例: a>>1
右移操作符 >> 例: a<<1
左移是将 a存的变量所对应的2进制向左移1位,最低位补0,将这个数扩大1倍
右移是将 a存的变量所对应的2进制向右移1位,最高位补符号位,将这个数缩小1倍
注意 : a>>1 (或 a<<1) 并没有改变a的值,但是这个表的是的结果是a的一般(或者两倍)
9.sizeof
用来计算变量,常量或者是一种数据类型所占的内存字节数。
基本形式:sizeof(变量名|常量|数据类型),完成之后返回一个值。
注:当sizeof()的操作数单独为一个数组名时,虽然我们常说数组名是数组首元素的首地址,但是这时sizeof计算的是整个数组的大小。
10.三目运算符
三目:需要3个数值参与
格式:条件?数值1:数值2
先判断?前的条件,若条件成立则返回数值1,若条件不成立则返回条件2。
要求比较a和b的值,把数值大的存入到c中 c=a>b?a:b
当 a>b 为真时 把a的值赋给c
当 a>b 为假时 把b的值赋给c
操作符一览表