1.算术操作符:+、-、*、/、%
操作符也被叫做:运算符。
1.2 + 和 - 用加法和减法
+ 和 - 都是有2个操作数的,位于操作符两端的就是它们的操作数,这种操作符也叫双⽬操作符。
#include <stdio.h>
int main()
{
int x = 1 + 2 ;
int y = 3 - 2 ;
printf("%d\n", x);
printf("%d\n", y);
return 0;
}
1.3 *
运算符 * ⽤来完成乘法。
#include <stdio.h>
int main()
{
int num = 2;
printf("%d\n", num * num); // 输出 4
return 0;
}
1.4 /
运算符 / ⽤来完成除法。但是 除号的两端如果是整数,执行的是整数除法,得到的结果也是整数。
#include <stdio.h>
int main()
{
float x = 9 / 4;
int y = 9 / 4;
printf("%f\n", x); // 输出 2.000000
printf("%d\n", y); // 输出 2
return 0;
}
如果希望得到浮点数的结果,两个运算数必须⾄少有⼀个浮点数,这时 C 语⾔就会进行浮点数除法。例如:
#include <stdio.h>
int main()
{
float x = 9.0 / 4; // 或者写成 9/ 4.0
printf("%f\n", x); // 输出 2.2500000
return 0;
}
1.5 %
运算符 % 表示求模运算,即返回两个整数相除的余值。这个运算符只能⽤于整数,不能用于浮点数。
#include <stdio.h>
int main()
{
int x = 6 % 4; // 2
return 0;
}
2.复合赋值
在写代码时,我们经常可能对⼀个数进⾏⾃增、⾃减的操作,如下代码:
int a = 10;
a = a+3;
a = a-2;
这样代码C语⾔给提供了更加⽅便的写法:
+= -=
*= /= %= //等
3.单⽬操作符:++、--、
3.1 ++
++是⼀种⾃增的操作符,⼜分为前置++和后置++
#include<stdio.h>
int main()
{
int a = 10;
int b = ++a;//++的操作数是a,是放在a的前⾯的,就是前置++
printf("a=%d b=%d\n",a , b);
return 0;
}
计算:先+1,后使⽤; a原来是10,先+1,后a变成了11
后置++就是 ++ 的操作数是a,是放在a的后⾯的,就是后置++
计算:先使⽤,后+1
例如:
int a = 10;
int b = a++;
printf("a=%d b=%d\n",a , b)
a原来是10,先使⽤,就是先赋值给b,b得到了10,然后再+1,然后a变成了11,所以直接结束后a是 11,b是10。
3.2 --
如果你理解了前置++,那前置--是同理的,只是把加1,换成了减1;
计算:先-1,后使⽤
同理后置--类似于后置++,只是把加⼀换成了减⼀
计算:先使⽤,后-1
4.逻辑操作符:&& , || , !
! :逻辑取反运算符(改变单个表达式的真假)
&& :与运算符,就是并且的意思(两侧的表达式都为真,则为真,否则为假)。
|| :或运算符,就是或者的意思(两侧⾄少有⼀个表达式为真,则为真,否则为假)。 注:C语⾔中,⾮0表⽰真,0表⽰假
4.1逻辑取反运算符 !
a | !a |
非0 | 0 |
0 | 非0 |
4.2与运算符
&& 就是与运算符,也是并且的意思, && 是⼀个双⽬操作符,使⽤的⽅式是 a&&b , && 两边的表达 式都是真的时候,整个表达式才为真,只要有⼀个是假,则整个表达式为假。
注:“1”代表成立的意思
4.3或运算符
a | b | a||b |
非0 | 非0 | 1 |
非0 | 0 | 0 |
0 | 非0 | 0 |
0 | 0 | 0 |
|| 就是或运算符,也就是或者的意思, || 也是⼀个双⽬操作符,使⽤的⽅式是 a || b , || 两边的表达式只要有⼀个是真,整个表达式就是真,两边的表达式都为假的时候,才为假。
5.关系操作符
C 语⾔⽤于⽐较的表达式,称为 “关系表达式”,⾥⾯使⽤的运算符就称 为“关系运算符”,主要有下⾯6个。
> ⼤于运算符
< ⼩于运算符
>= ⼤于等于运算符
<= ⼩于等于运算符
== 相等运算符
!= 不相等运算符
关系表达式通常返回 0 或 1 ,表⽰真假。 C 语⾔中, 0 表⽰假,所有⾮零值表⽰真。⽐如, 20 > 12 返回 1 , 12 > 20 返回 0 。
避免的错误是:多个关系运算符不宜连⽤
例如:
i < j < k
连续使⽤两个⼩于运算符。这是合法表达式,不会报错,但是通常达不到想要的结果, 即不是保证变量 j 的值在 i 和 k 之间。因为关系运算符是从左到右计算,所以实际执⾏的是下⾯的 表达式。 1 (i < j) < k 上⾯式⼦中, i < j 返回 0 或 1 ,所以最终是 0 或 1 与变量 k 进⾏⽐较。如果想要判断变量 j 的值是否在 i 和 k 之间,应该使⽤下⾯的写法。
i < j && j < k
好了本期就跟大家分享到这里,我们下期再见。。。