1.赋值运算符:
= 将其右侧的值赋给左侧的变量
2.算术运算符:
+ 将其左侧的值与右侧的值相加
- 将其左侧的值减去右侧的值
- 作为一元运算符,改变其右侧值的符号
* 将其左侧的值乘以右侧的值
/ 将其左侧的值除以右侧的值,如果两数都是整数,计算结果将被截断
% 当其左侧的值除以右侧的值时,取其余数(只能应用于整数)
++ 对其右侧的值加1(前缀模式),或对其左侧的值加1(后缀模式)
-- 对其右侧的值减1(前缀模式),或对其左侧的值减1(后缀模式)
其他运算符:
sizeof 获得其右侧运算对象的大小(以字节为单位),运算对象可以是一个被圆括号括起来的类型说明符,如sizeof(float),或者是一个具体的变量名、数组名等,如sizeof foo(类型名) 强制类型转换运算符将其右侧的值转换成圆括号中指定的类型,如(float)9把整数9转换成浮点数9.0
自增(自减)
㈠分类
①前自增 —— ++i
②后自增 —— i++
㈡前自增与后自增的异同
①相同点
最终都使i的值加1
②不同点
前自增的表达式是i加1后的值
后自增的表达式是i加1前的值(具体见谭C)
㈢自增的作用
①代码更精炼
②自增的运行速度更快
㈣学习自增要明白的几个问题
①我们编程时要尽量屏蔽掉前自增和后自增的区别(为了增加代码可读性)
②++i或i++单独做一个语句,不要把他作为一个完整复合语句的一部分
反例:
⑴int m=i++ + ++i + i + ++i
⑵printf("%d %d %d",i++,++i,i)
这两种写法不规范,可读性和可移植性很低
三目运算符
㈠格式:
A?B:C
"?和:"合称三目运算符
㈡功能:
等价于
if(A)
B;
else
C;
㈢举例 1 #include<stdio.h> 2
3 4 int main(void) 5 6 { 7 8 int i; 9 10 i=(5>3?4:3)
11 12 printf("%d",i); 13 14 15 return 0; 16 17 }
输出结果:4
㈣注意
三目运算符不常用,因为他没有if函数结构清晰,但代码量更少
逗号表达式
㈠格式
(A,B,C,D)
㈡功能
从左到右执行A B C D
最终表达式的值是最后一项的值
㈢举例
int i=(1,2,3,4)
printf("%d")