C语言操作符
2017-11-16 21:04
148 查看
1.算术操作符
+ - * / %
(1)%操作符必须为整形操作数;
(2)/一边为浮点型,则结果为浮点型。
2.移位操作符
(1)左移操作符:<<
(2)右移操作符:>>
分为逻辑移位(左边补0),算术移位(左边补符号位);
例:int num=-1; //操作数在内存中以补码的形式存在
num>>1;
//逻辑移位:01111111111111111111111111111111
//算术移位:11111111111111111111111111111111
3.位操作符
& | ^
在这安利一个打省略号的方法:中文输入法下,shift+6;
一道不走寻常路的题:
不创建第三个变量,实现两个数的交换:
=
5.复合赋值操作符
+= -= *= /= %= >>= <<= &= |= ^=
6.单目操作符
! - = &
sizeof //求操作数类型长度,以字节为单位
~
-- //在前:先-再用;在后:先用再-
++ //同--
* //解引用
(类型) //强制类型转换
7.关系操作符
> >= < <= != ==
8.逻辑操作符
&& ||
注意:区别与位操作符;逻辑操作符只有两种结果:0或1。
9.条件操作符
exp1?exp2:exp3
10.逗号表达式
exp1,exp2,exp3,…… expn
注意:逗号表达式是顺序执行,以最后一个为准;
11.下标引用,函数调用和结构成员
(1)[ ] 数组
(2)() 函数调用
(3) . -> 访问结构体成员变量
奉上奇犽以表敬意。
+ - * / %
(1)%操作符必须为整形操作数;
(2)/一边为浮点型,则结果为浮点型。
2.移位操作符
(1)左移操作符:<<
(2)右移操作符:>>
分为逻辑移位(左边补0),算术移位(左边补符号位);
例:int num=-1; //操作数在内存中以补码的形式存在
num>>1;
//逻辑移位:01111111111111111111111111111111
//算术移位:11111111111111111111111111111111
3.位操作符
& | ^
在这安利一个打省略号的方法:中文输入法下,shift+6;
一道不走寻常路的题:
不创建第三个变量,实现两个数的交换:
#include<stdio.h> int main() { int a=10; int b=20; a=a^b; b=a^b; a=a^b; printf("%d %d\n",a,b); return 0; }4.赋值操作符
=
5.复合赋值操作符
+= -= *= /= %= >>= <<= &= |= ^=
6.单目操作符
! - = &
sizeof //求操作数类型长度,以字节为单位
~
-- //在前:先-再用;在后:先用再-
++ //同--
* //解引用
(类型) //强制类型转换
7.关系操作符
> >= < <= != ==
8.逻辑操作符
&& ||
注意:区别与位操作符;逻辑操作符只有两种结果:0或1。
9.条件操作符
exp1?exp2:exp3
10.逗号表达式
exp1,exp2,exp3,…… expn
注意:逗号表达式是顺序执行,以最后一个为准;
11.下标引用,函数调用和结构成员
(1)[ ] 数组
(2)() 函数调用
(3) . -> 访问结构体成员变量
奉上奇犽以表敬意。