不知道有没有同学发现之前几节都是在讲关于数据
那么有的同学会问 计算机是怎么处理操作运算这些数据的呢?
好的 这节课就讲解C语言运算符
一、运算符
1.首先我们来看看C语言有哪几种运算符,先了解下
2.算数运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符(sizeof 三目运算符)
3.这些运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。
4.是不是想迫切的知道这些运算符怎么使用呢?
5.下面我们先介绍算数运算符 关系运算符 逻辑运算符 ,其他运算符我们后面的章节再讲
二、算数运算符+ - * / % ++ –
2.1.+ 加号
1
2
3
4
|
int i1 = 1;
int i2 = 2;
int i3 = i1 + i2;
printf("i3=%d \n",i3);
|
2.2. - 减号
1
2
|
int i4 = i2 - i1;
printf("i4=%d \n", i4);
|
2.3.* 乘号
1
2
|
int i5 = i2 * i1;
printf("i5=%d \n", i5);
|
2.4. / 除号
1
2
|
int i6 = i2 / i1;
printf("i6=%d \n", i6);
|
2.4.1 除数 不能为0
1
2
3
4
|
int i7 = 3;//2 +1
int i8 = 0;
int i9 = i7 / i8;//错误 因为除数不能为0
printf("i9=%d",i9);
|
我们编译观察下,是否报异常
发现会报错, 因为除数不能为0
2.4.2 注意类型会影响到结果
1
2
3
4
5
6
7
8
9
10
|
//int类型
int i7 = 3;//2 +1
int i8 = 2;
int i10 = i7 / i8; //1.5
printf("i10=%d \n", i10);//1
//float类型
float f7 = 3;
float f8 = 2;
float f10 = f7 / f8; //1.5
printf("f10=%f \n", f10);//1.5
|
2.5. % 取余数
1
2
|
int i11 = i7 % i8;
printf("i11=%d \n", i11);
|
2.6.++ 自加1
1
2
3
4
|
int i1=1;
printf("前 i1=%d \n", i1);
i1++;// i1=i1+1;
printf("后 i1=%d \n", i1);
|
2.7. – 自减1
1
2
3
4
|
int i2=1;
printf("前 i2=%d \n", i2);
i2--;// i1=i2-1;
printf("后 i2=%d \n", i2);
|
三、关系运算符== != > >= < <=
3.1 == 等于 = 赋值 ==等于
3.2 != 不等于
3.3 > 大于
3.4 >= 大于等于
3.5 < 小于
3.6 <= 小于等于
3.7 例如
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
int i13 = 9;
int i14 = 10;
if (i13 == i14)// 相等 返回真 否则返回假
{
//执行这里
printf("i13 等于 i14 \n");
}
else//i13 != i14
{
printf("i13 不等于 i14 \n");
if(i13 > 14)
{
//执行这里
printf("i13 大于 i14 \n");
}
else if(i13 < 14)
{
//执行这里
printf("i13 大于 i14 \n");
}
}
|
备注:
if else if 是用来判断表达式的真假,用于流程控制,这个后面我们会讲解.
四、逻辑运算符&& ||
4.1 && 与 同真 结果为真 否则为假
4.2 || 或 有一个为真 结果就为真
4.3 ! 反 真变假 假变成真
1
2
3
4
5
|
BOOL b1 = FALSE;
BOOL b2 = FALSE;
printf("!b1为:%d\n",!b1);
printf("b1 || b2 为:%d\n",b1 || b2);
printf("b1 && b2 为:%d\n",b1 && b2);
|