今天,学习了C Primer Plus的第五章。本章讲解了对数据的处理以及基本运算符。
现将知识点总结如下:
- { }以及被其括起来的部分称为块
- 运算符:表示算术运算
基本算术运算的运算符:=、+、-、*、/
C没有指数运算符,可用标准数据库提供的pow()函数计算指数,eg:pow(3.5,2.2)返回3.5的2.2次幂
赋值运算符:“=”
- 几个术语:
数据对象:用于存储值的数据存储区域
左值(可修改的左值/对象定位值):表示特定数据对象的名称或表达式
右值:能赋值给可修改左值的量,且本身不是左值。其可以是常量、变量或其他可求值的表达式
运算对象(项):运算符操作的对象
一元运算符:需要一个运算对象才能完成操作
- 加法运算符和减法运算符都被称为二元运算符(同理,需要两个运算对象才能完成操作)
- 截断:整数除法结果的小数部分被丢弃
- 混合类型:浮点值除以整型值。
混合整数和浮点数计算的结果是浮点数,实际上,编译器将两个运算对象转换成相同的类型
- 趋零截断:舍入时直接丢弃小数部分
- sizeof运算符:以字节为单位返回运算对象的大小
运算对象可以是具体的数据对象(变量名)或类型,若运算对象是类型,则必须用圆括号将类型括起来
sizeof返回size_t类型的值,这是一个无符号整数类型
ssizeof返回size_t类型的值,这是一个有符号整数类型
C99中,%zd转换说明用于printf()显示size_t类型的值(可用%u、%lu代替)
- 求模运算符:求取其左侧整数除以右侧整数的余数
只能用于整数
- 递增(递减)运算符
前缀模式:++(--)出现在其作用的变量前面
后缀模式:++(--)出现在其作用的变量后面
递增/递减都有很高的结合优先级,只有圆括号的优先级比他们高
- 表达式
由运算符和运算对象组成
最简单的表达式是一个单独的运算对象
- 语句
是C程序的基本构建块
大部分语句都以分号结尾
最简单的语句是空语句
一条语句相当于一条完整的计算机指令,但并不是所有的指令都是语句
while语句是一种迭代语句(结构化语句)
-
复合语句(块)
花括号括起来的一条或多条语句
- 原型
函数的声明,描述了函数的返回值和参数