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;
㈢举例
#include<stdio.h>
int main(void)
{
int i;
i=(5>3?4:3)
printf("%d",i);
return 0;
}
输出结果:4
㈣注意
三目运算符不常用,因为他没有if函数结构清晰,但代码量更少
逗号表达式
㈠格式
(A,B,C,D)
㈡功能
从左到右执行A B C D
最终表达式的值是最后一项的值
㈢举例
int i=(1,2,3,4)
printf("%d")
原文:https://www.cnblogs.com/qinenxi/p/11111860.html