基础概念回顾
内存与数据表示
内存的最小单位是一个二进制位,也称为比特。能够直接寻址(访问)的最小内存单位是字节。现代标准规定一个字节等于8个比特。
数据类型基础
数据类型告诉编译器如何以有意义的方式解释内存中的内容。C++支持许多基本数据类型,包括:
- 浮点数
- 整数
- 布尔值
- 字符
- 空指针
- 无类型
类型系统详解
类型大小与sizeof运算符
不同类型的大小不同,且在不同机器上可能会有所不同。sizeof运算符可用于返回类型的大小(以字节为单位)。
整数类型
有符号整数
- 用于存储正数和负数(包括0)
- 需要注意溢出和整数除法问题
无符号整数
- 只存储正数(和0)
- 除非进行位级操作,否则通常应避免使用
特殊整数类型
定宽整数
- 具有保证大小的整数
- 可能并非在所有架构上都存在
size_t类型
- 无符号整数类型
- 用于表示对象的大小或长度
数值表示与计算
科学记数法
- 用于书写长数字的简写方法
- C++支持与浮点数结合使用
- 有效数字中的数字称为有效位数
浮点数特性
- 用于存储实数(包括小数部分)
- 精度定义了可表示的有效位数
- 需要注意舍入误差问题
条件判断与布尔类型
布尔值基础
布尔类型用于存储真或假值。
if语句使用
- 允许在条件为真时执行代码
- 可以使用else语句处理假值情况
字符处理
字符类型特性
- 用于存储ASCII字符
- 注意区分ASCII码值和数字
- 使用static_cast进行类型转换
实践测验
数据类型选择练习
选择适当的数据类型:
// 示例代码
Enter a double value: 6.2
Enter a double value: 5
Enter +, -, *, or /: *
6.2 * 5 is 31
高级应用练习
模拟小球下落程序:
Enter the height of the tower in meters: 100
At 0 seconds, the ball is at height: 100 meters
At 1 seconds, the ball is at height: 95.1 meters
At 2 seconds, the ball is at height: 80.4 meters
At 3 seconds, the ball is at height: 55.9 meters
At 4 seconds, the ball is at height: 21.6 meters
At 5 seconds, the ball is on the ground.
注意事项:
- 使用双精度浮点数字面量
- C++中^不是指数运算符
- 根据塔的高度,结果可能有所不同