C运算符合表达式
负号第一优先级(一元运算符)
乘除求余第二优先级(二元运算符)
注意:
1/2的结果是0 1.0/2的结果是0.5(整型除法和浮点型除法)
取余运算两个数必须都是整型
C中没有幂运算符
实践:计算三位数的各位数字之和
复合赋值运算符
+= -= *= /= %=都是先运算再赋值
注意赋值之后,变量的值改变,在下一步运算时需要注意
增一减一运算符
m=n++
等价于m=n n=n+1
m=++n
等价于n=n+1 m=n
注意优先级++大于+
且++是左结合,-是右结合
宏常量与宏替换
scanf()中&表示取地址运算符
宏常量也叫符号常量,使用一个符号表示常量
实践:用宏常量定义π
宏定义的格式
#define 标识符 字符串
宏定义中的标识符称为宏名,一般用大写字母表示
将程序中的宏名替换为字符串的过程称为宏替换
注意宏定义中宏名与字符串之间不加等号,只加空格,并且可以有多个空白符,且末尾不加分号
const常量
作用:让常量具有数据类型
实践:使用const常量改进
自动类型转换与强制类型转换运算符
原则:不同精度运算,自动转换为类型提升,目的是提高精度
char short 转换为int
float 转换为double
赋值中将右侧表达式的值转换为左侧变量的类型
强制类型转换(神奇倚天剑)
强制类型转换是一个一元运算符
(类型)表达式
实践:强转的使用
常用的标准数学函数
使用前提:引入<math.h>
#include<math.h>
常用函数
算术平方根 sqrt()
绝对值 fabs()
lnx函数 log()
lgx函数 log10()
e的x次方函数 exp()
x的y次方 pow(x,y)
sin()
cos()
课后习题练习