1.表达式
表达式由操作符和操作数组成,表达式只返回结果值
2.赋值运算符(=)
赋值表达式类型 变量名 = 常数/表达式
数据大小超过数值类型的取值范围时会发生截断
3.算术运算符
分类
算数运算符包括单目运算符、双目运算符
单目运算符包括正、负
双目运算符包括乘、除、取模、加、减
plain

优先级
- 先乘除取余,后加减,括号优先
- 优先级相同,从左到右依次计算
自增/自减运算符
plain
#include<stdio.h>
int main()
{
int i = 3;
int j = 3;
int A,B,C,D;
A = ++i; //先加1,再赋值
B = j++; //先赋值,再加1,下次用
printf("A自增后的值为%d\n自增后的表达式值为%d\n",i,A);
printf("B自增后的值为%d\n自增后的表达式值为%d\n",j,B);
i = 3;
j = 3;
C = --i;
D = j--;
printf("C自减后的值为%d\n自减后的表达式值为%d\n",i,C);
printf("D自减后的值为%d\n自减后的表达式值为%d",j,D);
return 0;
}
4.关系运算符
| 符号 | 功能 |
|---|---|
| > | 大于 |
| < | 小于 |
| >= | 大于等于 |
| <= | 小于等于 |
| == | 等于 |
| != | 不等于 |
plain
//比较成绩大小
#include<stdio.h>
int main()
{
int i = 0;
for(i=0;i<3;i++){
int Chinese,English;
printf("请输入语文成绩:",Chinese);
scanf("%d",&Chinese);
printf("请输入英语成绩:",English);
scanf("%d",&English);
if(Chinese>English)
{
printf("语文成绩更高!\n");
}
if(Chinese<English)
{
printf("英语成绩更高!\n");
}
if(Chinese==English)
{
printf("成绩相同!\n");
}
}
return 0;
}
5.逻辑运算符
| 符号 | 功能 |
|---|---|
| && | 逻辑与 |
| ! | 逻辑非 |
plain
#include<stdio.h>
int main()
{
int i=1;
int j=10;
printf("1为正确,0为错误!\n");
printf("5<i与j是%d\n",5<i&&j);
printf("5<i或j是%d\n",5<i||j);
return 0;
}
6.位逻辑运算符
位逻辑运算符可以实现位的设置、清零、取反、取补操作
位逻辑运算符一般用作开关的标志
| 符号 | 功能 |
|---|---|
| & | 位逻辑与 |
| ^ | 位逻辑非 |
| ~ | 取补 |
7.逗号运算符(,)
逗号将多个表达式分隔开来
8.复合赋值运算符
复合运算符是C语言独有的,是一种缩写形式
plain
Value = Value +3; //常规写法
Value += 3; //缩写形式
