C++中的符号常量与基本数据类型

需积分: 29 0 下载量 200 浏览量 更新于2024-08-24 收藏 1.26MB PPT 举报
"C++编程中的符号常量、基本数据类型及其使用" 在C++编程语言中,符号常量是一种预处理指令,通过`#define`关键字来定义。它与普通变量相似,但其值是不可改变的。例如,定义一个表示圆周率的符号常量`PI`和一个表示最大数值的`MAXNUM`: ```cpp #define PI 3.1415926 #define MAXNUM 10000 ``` 这些常量可以在表达式中使用,如计算圆的面积`f1 = r * r * PI;`,但它们不能作为左值,也就是说,你不能给它们赋值,尝试这样做会导致编译错误。 C++中的基本数据类型是编程中最基础的元素,它们包括: 1. **整型**:有符号整型(signed int)、无符号整型(unsigned int)、短整型(short int)和长整型(long int)。在32位系统中,通常`int`和`long`都是4字节,取值范围可能因编译器而异。例如,有符号整型`int`的取值范围可能是-2^31到2^31-1。 2. **浮点型**:分为单精度浮点型(float)和双精度浮点型(double)。浮点数用于表示带有小数部分的数值。例如,`float`通常占用4字节,`double`占用8字节,具有更高的精度。 3. **字符型**(char):用于存储单个字符,如字母、数字或其他ASCII字符。它占用1字节。 4. **布尔型**(bool):只有两个值,`true`和`false`,分别表示真和假。 5. **指针类型**:表示内存地址,可以用来间接访问其他变量。例如,`int* p`定义了一个指向整型变量的指针。 6. **空类型**(void):没有具体的数据,常用于函数声明的返回类型,表示函数不返回任何值。 7. **构造类型**:包括数组、枚举(enum)、结构体(struct)和联合体(union)。枚举类型允许定义一组命名的整数常量。 8. **const修饰符**:用于定义常量,可以是变量或函数参数,防止其值被修改。与`#define`不同,const常量可以在运行时进行类型检查,更安全。 9. **typedef**:类型别名,用于创建新的类型名,使得代码更具可读性,例如`typedef unsigned int uint;`。 在实际编程中,`sizeof`运算符用于获取数据类型的大小或变量所占内存的字节数。例如,`sizeof(int)`会返回4(对于32位系统),`sizeof(short)`返回2,`sizeof(12)`(这里的12是int类型)返回4。 当超出数据类型的取值范围时,会发生数据溢出。例如,将`short`类型的最大值加1会导致结果变为负数,这是因为数值超过了`short`能表示的最大值,产生了二进制的溢出。对于浮点数,虽然不会出现溢出错误,但可能会有精度损失,因为浮点数的存储方式决定了它们不能精确表示所有小数。 理解并熟练掌握这些基本数据类型及其使用规则,对于编写高效、可靠的C++程序至关重要。