第2章 C++简单程序设计 难点
VC++与C++的区别
VC++是IDE(集成开发环境),而C++是一种面向对象编程的语言。
基本数据类型范围
类型名 | 长度(字节) | 取值范围 |
---|---|---|
bool | 1 | false,true |
char | 1 | −27∼27−1−27∼27−1 |
unsigned char | 1 | 0∼28−10∼28−1 |
short | 2 | −215∼215−1−215∼215−1 |
unsigned short | 2 | 0∼216−10∼216−1 |
int | 4 | −231∼231−1−231∼231−1 |
unsigned int | 4 | 0∼232−10∼232−1 |
long | 4 | −231∼231−1−231∼231−1 |
unsigned long | 4 | 0∼232−10∼232−1 |
float | 4 | 3.4×10−38∼3.4×10383.4×10−38∼3.4×1038 |
double | 8 | 1.7×10−308∼1.7×103081.7×10−308∼1.7×10308 |
long double | 8 | 1.7×10−308∼1.7×103081.7×10−308∼1.7×10308 |
float可以保存7位有效数字,而double可以保存15位有效数字
数据类型的转换
隐式转换(自动转换)同C语言。
显示转换格式有两种,一种是类型说明符(表达式),另一种是(类型说明符)表达式。
此外语法还定义了四种类型转换操作符,语法如下
- const_cast<类型说明符>(表达式)
- dynamic_cast<类型说明符>(表达式)
- reinterpret_cast<类型说明符>(表达式)
- static_cast<类型说明符>(表达式)
其具体用法,含义,在后面章节会有详细的介绍。
数据流
在C++中,将数据从一个对象到另一个对象的流动抽象为“流”。
流在使用前要被建立,使用后要被删除。
从流中获取数据的操作称为提取操作,向流中添加数据的操作称为插入操作。
数据的输入与输出时通过I/O流来实现的,cin和cout是预定义的流类对象。
- << 是预定义的插入符
- I/O格式控制要包含iomanip头文件
- 设置小数点可以用setsprecision(int)
- 设置宽度可以用setw(int)
变量的实现机制与C++表达式的执行原理
将C++程序反汇编中的地址,并不是内存真实的物理地址,而是一个虚拟地址,具体可以查看操作系统原理的有关书籍。
至于为何要在声明变量的时候指明变量的类型,原因在于,对于变量的运算,针对不同类型变量会选择执行不同的操作,并且是由编译器根据变量数据类型选择合适的指令,CPU并不对操作数类型加以区分。