目录
一、运算符:
(一)运算符分类:
运算符类型 | 作用 |
---|---|
算术运算符 | 用于处理四则运算 |
赋值运算符 | 用于将表达式的值赋给变量 |
比较运算符 | 用于表达式的比较并返回一个真值或假值 |
逻辑运算符 | 用于根据表达式的值返回真值或假值 |
位运算符 | 用于处理数据的位运算 |
sizeof运算符 | 用于求字节数长度 |
1、算术运算符:
运算符 | 术语 | 注意事项 |
---|---|---|
+ | 正号 | —— |
- | 负号 | —— |
+ | 加 | —— |
- | 减 | —— |
* | 乘 | —— |
/ | 除 | 两个整型数据相除结果还是整型 |
% | 取模(取余) | 两边运算对象必须是整型 |
++ | 自增 | i++(先用后增)、++i(先增后用)、只能用于变量,不能用于常量或表达式 |
-- | 自减 | i--(先用后减)、--i(先减后用)、只能用于变量,不能用于常量或表达式 |
#include <stdio.h>
//后自增
int main()
{
int a ,b ,c;
a = 10;
b = a++;
printf("b=%d,a=%d",b,a);
return 0;
}
#include <stdio.h>
//前自增
int main()
{
int a ,c ;
a = 10;
c = ++a;
printf("c=%d,a=%d\n",c,a);
return 0;
}
2、赋值运算符:
运算符 | 术语 | 说明 |
---|---|---|
= | 赋值 | |
+= | 加等于 | a+=2相当于a=a+2 |
-= | 减等于 | a-=2相当于a=a-2 |
*= | 乘等于 | a*=2相当于a=a*2 |
/= | 除等于 | a/=2相当于a=a/2 |
%= | 模等于 | a%=2相当于a=a%2 |
3、比较运算符:
在比较运算中,真用1表示,假用0表示
运算符 | 术语 |
---|---|
== | 相等于 |
!= | 不等于 |
< | 小于 |
> | 大于 |
<= | 小于等于 |
>= | 大于等于 |
4、逻辑运算符:
运算符 | 术语 | 示例 | 结果 |
---|---|---|---|
! | 非 | !a | a为假则!a为真 a为真则!a为假 |
&& | 与 | a&&b | a和b都为真结果为真 否则都为假 |
|| | 或 | a||b | a和b有一个为真结果为真 二者都为假时结果为假 |
(二)运算符优先级和结合性:
(三)强制类型转换:(显式转换)
可将表达式的值转换成指定类型。
格式①:
(类型名)表达式 中间无空格如:(int)x
格式②:
(类型名) (表达式) 中间有空格如:(int) (x)
强制类型转换不会四舍五入:
#include <stdio.h> int main() { float a = 2.99; printf("%d", (int)a); return 0; }
进行强制类型转换得到的是一个中间值,原来的表达式或变量的值未变
隐式转换是编译器自动完成:占用内存字节数少的类型向占用内存字节数多的类型转换,以保证精度不降低。
二、表达式:
表达式是用运算符将数据连起来的合法式子。
①单独的常量、变量或函数调用都是合法的表达式
②凡是表达式都有一个确定的值
③不同类型数据运算时先转换成同类型(哪种类型精度高转成哪种类型)
④同类型运算结果还是该类型
⑤同级运算符考虑结合性