要点总结
1. 常见运算符
- 赋值运算符: =
- 加减乘除: + - × /
- sizeof运算符: sizeof(以字节为单位返回运算对象的大小,返回的类型为size_t类型,是一个无符号整数类型,打印时用的格式转换符 %zd)
- 递增递减运算符: ++ --
- 求模运算符: %(只能用于整数,不能用于浮点数)
备注: 各运算符的优先级: 括号 > 递增递减 > 乘除 > 加减 > 赋值
2. 表达式
-
表达式是由运算符和运算对象组成的。
-
每个表达式都有一个值。
3. 语句
- 语句是C程序的基本模块。
- 一条语句相当于一条完整的计算机指令。
- 在末尾加上一个分号的表达式都可以看作是一条语句。
- 语句可以改变值或者调用函数。
4. 类型转换
- 当类型转换出现在表达式时,无论是unsigned还是signed的char和short都会被自动转换为int。
- 涉及两种类型的运算,两个值被分别转换为两种类型的更高级别。
- 类型的级别从高到底依次是 long double, double, float, unsigned long long, long long, unsigned long, long, unsigned int, int。例外情况为:当long和int的大小相同,unsigned int比long的级别更高。
- 在赋值表达式语句中,计算的最终结果会被转换成被赋值变量的类型。这个过程可能会导致类型升级或降级。降级会出现一些问题。
- 当作为函数参数传递时,char和short被自动转换为int, float被转换为double。但是函数原型会覆盖自动升级。
5. 带参数的函数
- 定义一个带参数的函数时,便在函数定义中声明了一个变量,叫做形式参数;函数调用传递的值为实际参数。
- 函数原型是函数的声明,描述了函数的返回值和参数。