8、运行符

1、概括表格
运算符 具体操作
算术运算符 + - / * % ++ –
赋值运算符 =
关系运算符 >,<,>=,<=,==,!=
逻辑运算符 &&,,!
位运算符 &, ,^,~,>>,<<,
三目条件运算符 ?:
扩展赋值运算符 +=,-=,*=,/=
2、逻辑运算符
2.1、逻辑与 &&
A && B result
true && false false
true && true true
flase && false flase
flase && true true
2.2、逻辑或||
A B result
true false true
true true true
flase false flase
flase true true
2.3、逻辑取反!
A ! result
true ! false
flase ! true
2.4、总结
  • 逻辑与中如有一个操作数为false,则结果必为false
  • 逻辑或中如有一个操作数为true,则结果必为true
  • 针对逻辑与和逻辑或可以采用短路方式。即从左往右计算,如果确定值则不会再计算下去
3、位运算
3.1、符号汇总
符号 含义 备注
~ 取反
按位或
& 按位与
^ 按位异或
<< 左移 左移一位则相当于乘2
>> 右移 右移一位则相当于除2取商
3.2、按位或例子说明

|操作数 |按位或|
|2 |00000010|
|3 |00000011|
|结果 |3|

4、拓展运算
符号 例子 备注
++ a++ a自增一
a– a自减一
4.1、注意事项

符号放在操作数前面还是后面有区别

* ++a 则代表a先自增1,再进行其它操作    
* a++ 则代表a先进行其它操作,再自增1
5、三目运算符
5.1、语法格式

x?y:z;
其中x为boolean类型表达式,如果x为ture,则该表达式的结果为y,否则则为z

5.2、应用场景

用于代替ifelse语句,简化代码,提高代码阅读性

6、运算符优先级

表达式里面使用小括号

7、代码案例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
include <stdio.h>
int main()
{
int i,j;
// 1、赋值
i = 10;
j = 20;
// 2、算术运算
printf("i+j=%d\n",(i+j));
printf("i-j=%d\n",(i-j));
printf("i*j=%d\n",(i*j));
printf("j/i=%d\n",(j/i));
// 3、拓展运算
printf("i++=%d\n",i++);
printf("++i=%d\n",++i);
// 4、关系运算
if(j>i){
printf("j>i\n");
}
// 5、逻辑运算
if( (j==20) && (j>i) ){
printf("j=20 and j>i\n");
}
return 0;
}