目录
运算符与表达式
常用运算符分类
运算符类型 |
作用 |
算术运算符 |
用于处理四则运算。 |
赋值运算符 |
用于将表达式的值赋给变量。 |
比较运算符 |
用于表达式的比较,并返回一个真值或假值。 |
逻辑运算符 |
用于根据表达式的值返回真值和假值 |
位运算符 |
用于处理数据的位运算 |
sizeof运算符 |
用于求字节数长度。 |
算术运算符
运算符 |
术语 |
示例 |
+ |
正号 |
+5 |
- |
负号 |
-5 |
+ |
加号 |
3+2=5 |
- |
减号 |
3-2=1 |
* |
乘号 |
3*2=6 |
/ |
除号 |
6/2=3 |
% |
取模(取余) |
10%3=3 |
++ |
前置递加 |
a=2,b=++a;(a=3,b=3) |
++ |
后置递加 |
a=2,b=a++;(a=3,b=2) |
– |
前置递减 |
a=2.b=–a;(a=1,b=1) |
– |
后置递减 |
a=2.b=a–;(a=1,b=2) |
赋值运算符
运算符 |
术语 |
示例 |
= |
赋值 |
a=2;b=3; |
+= |
加等于 |
a=0;a+=2 (a=2) |
-= |
减等于 |
a=5;a-=3 (a=2) |
*= |
乘等于 |
a=2;a/=2 (a=1) |
/= |
除等于 |
a=4;a/=2 (a=2) |
比较运算符
运算符 |
术语 |
示例 |
== |
相等于 |
4 == 3 |
!= |
不等于 |
4 != 3 |
< (>) |
小于(大于) |
4 < 3(4>3) |
<=(>=) |
小于等于(大于等于) |
4 <= 3(4>=3) |
逻辑运算符
运算符 |
术语 |
示例 |
结果 |
! |
非 |
!a |
如果a为假,则!a为真;如果a为真,则!a为假。 |
&& |
与 |
a && b |
如果a和b都为真,则结果为真,否则为假。 |
|| |
或 |
a || b |
如果a和b有一个为真,则结果为真,二者都为假时,结果为假。 |
类型转换
数据有不同的类型,不同类型数据之间进行混合运算时,必然会涉及到类型的转换问题。
转换方法:
- 自动转换(隐式转换):遵循一定的规则,由编译系统自动完成。
- 强制类型转换:把表达式的运算结果强制转换成所需的数据类型。
转换原则:
占用内存字节数少(值域小)的类型,向占用内存字节数多(值域大)的类型转换,以保证精度不降低。
#include <stdint.h>
int main()
{
int num = 5;
printf("s1=%d\n",num / 2);
printf("s2=%lf\n",num / 2.0);
return 0;
}
#include <stdint.h>
int main()
{
float x = 0;
int i = 0;
x = 3.6f;
i = x;
i = (int)x;
printf("x = %f,i=%d\n",x,i);
return 0;
}