加入CSDN是出于记录,希望有不足之处多加指正。
1、算术运算符
-
+ 加法
-
- 减法
-
* 乘法
-
/ 除法
-
% 求余---(求余数注意运算符左右两边必须是整型)
-
++ 自加---(a++ , ++a 不仅可以操作整型还可以操作浮点、指针)
-
-- 自减
注意:
前缀++表示先加一运算,再进行表达式的运算
后缀++表示先进行表达式运算再进行加一
int a = 2;
printf("a++:%d \n",a++); //先输出2再加1变成3
printf("a:%d \n",a); //输出3
2、关系运算符
-
> 大于
-
< 小于
-
>=大于等于
-
<=小于等于
-
==等于
-
!=不等于
注意:
关系运算符用来判断运算符的两边是否满足给定的条件。
由于关系运算符组成的表达式时由一个值,这个值为布尔类型。
判断是否相等用 == 两个等号,并不是一个等号
100 == 200 ; //表达式的值为假
3、逻辑运算符
-
! 逻辑反(又称逻辑非)
!(100 == 200) ; //表达式的值为假 ,加上前面!表达式的值为真
-
&& 逻辑与
(a == b)&& (b == c) ; // &&符号左右两边都必须成立表达式才为真
- || 逻辑或
a > 10 || a < 5 ; // ||符号左右两边只要一个表达式为真则整个表达式为真
注意:
逻辑或运算中,如果表达式左边为真,则右边不被执行
逻辑与运算中,如果表达式的左边为假,则右边不被执行
if(100 > 200 && 300 + 400) //在该例子中,右边 300+400不会被执行
4、位运算符
int a = 100; // 0110 0100
int b = 3 ; // 0000 0011
-
~ 按位逻辑反(将A中的每一位进行取反)
~a ; // 1001 1011
-
& 按位逻辑与 a&b(将a跟b进行逻辑与运算,有0得0)
a&b ; 0110 0100 & 0000 0011 = 0000 0000
-
| 按位逻辑或(a | b将a跟b 进行逻辑或运算,有1得1)
a | b ; 0110 0100 | 0000 0011 = 0110 0111
- ^ 按位异或 (a^b 相同得0,不同得1)
a^b ; 0110 0100 ^0000 0011 = 0110 0111
扫描二维码关注公众号,回复: 13498280 查看本文章
- << 按位左移
0000 0000 0110 0100
0000 0110 0100 0000
6.>> 按位右移
5、特殊运算符
- 赋值运算符
1.不可以对常量进行赋值,只能对变量进行赋值
2.不能对数组进行赋值
3.连续赋值,从右向左赋值
int a = 100,b = 99; //初始化
int x [10];
a = 200; //将200赋值给a
7 = a; //等号左边不能赋值
x = 190; //不可以对数组进行赋值
a = b = 99;//先将 99 赋值给b 再将b赋值给a,从右向左赋值
- 复合运算符
只有以下 10 种符合运算符:
1.a + = n; //等价于 a = a + n ,下同
2.a - = n;
3.a * = n;
4.a / = n;
5.a % = n;
6.a & = n;
7.a | = n;
8.a ^ = n;
9.a >> = n;
10.a << = n;
5/2=2,1/2=0
注意:
5/2.0=2, 1/2=0;
除号的正负取舍和一般的算数一样,符号相同为正,相异为负
-3/16=0; 16/-3=-5 ; -16/3=-5 ;
余%算法不能有小数点的浮点型
5%2=1,1%2=1
5%2.0和5.0%2 的结果是语法错误
求余符号的正负取舍和被除数符号相同
-3%16=-3 16%-3=1
- 条件运算符(三目运算符)
1.唯一一个需要三个操作数的运算符
2.语法: 表达式1 ?表达式2 ?表达式3
3,解析:表达式1是否为真,如果为真则取表达式2,否则取表达式3
int a = 10;
int b = 20;
int m = (a > n) ? a : n ; //由于a没有大于n,第一个表达式为假。
//所以整个表达式的值为冒号右边n
//m等于20
- sizeof 运算符
含义:用来计算一个数据类型的大小(所占的字节数)
语法:sizeof(类型) / sizeof(变量),计算变量的时候这个()可以省略 sizeof a;
pringf("int : %d \n" , sizeof(int));
int a = 10;
printf("a: %d \n", sizeof(a));
printf("a: %d \n", sizeof a);
int arr [10];
printf("a: %d \n", sizeof arr);
- return 运算符
含义:退出某个函数,(如果是主函数,遇到则会直接退出整个程序,如果是子函数,则会退出当前子函数)
语法:必须出现再函数体里面,可以携带函数所对应的返回值数据。
6、优先级与结核性
推荐使用()括号来强调优先级关系。