C++ 数据类型
1. 基本数据类型:
-
int:整型(Integer)- 用于存储整数(没有小数部分的数字),例如:
-10,0,123。 - 通常占用 4 个字节(32位),可以存储的范围通常为 -231 到 231-1。
- 注意: 实际大小可能因编译器和操作系统而异,可以使用
sizeof(int)查看。
- 用于存储整数(没有小数部分的数字),例如:
-
char:字符型(Character)- 用于存储单个字符,例如:
'a','B','1','$'. - 通常占用 1 个字节(8位),可以存储 ASCII 码表中的字符。
- 用于存储单个字符,例如:
-
float:单精度浮点型(Floating-point)- 用于存储带有小数部分的数值,精度有限。例如:
3.14,-0.5,2.0f(注意f后缀)。 - 通常占用 4 个字节,提供约 7 位有效数字的精度。
- 用于存储带有小数部分的数值,精度有限。例如:
-
bool:布尔类型(Boolean)- 用于存储逻辑值,只有两个可能的值:
true(真)或false(假)。 - 通常占用 1 个字节,但实际存储可能只用一个比特位。
- 用于存储逻辑值,只有两个可能的值:
-
void:空类型- 表示没有值。
- 主要用于以下两种情况:
- 函数返回值: 如果函数不返回任何值,则将其返回类型声明为
void。 - 函数参数: 如果函数不接受任何参数,则参数列表可以写为
void或空着。
- 函数返回值: 如果函数不返回任何值,则将其返回类型声明为
2. 基本运算符号:
sizeof()大小运算符:用于获取数据类型或变量所占用的内存大小(以字节为单位)。
3. 其他基本数据类型 (大小和范围可能因系统和编译器而异):
-
short int(简写为short):短整型- 通常占用 2 个字节,存储范围比
int小,但可以节省内存。
- 通常占用 2 个字节,存储范围比
-
long int(简写为long):长整型- 通常占用 4 或 8 个字节,存储范围比
int大。在现代 64 位系统中,通常为 8 字节。
- 通常占用 4 或 8 个字节,存储范围比
-
long long int(简写为long long):更长的整型- 通常占用 8 个字节,提供更大的整数存储范围。
-
浮点型 (精度和范围不同):
-
double:双精度浮点型- 精度比
float更高,可以存储更多位的小数。 - 通常占用 8 个字节,提供约 15 位有效数字的精度。推荐在需要较高精度的浮点数计算中使用。
- 精度比
-
long double:扩展精度浮点型- 提供比
double更高的精度,但具体大小和精度取决于编译器和平台。 - 通常占用 10 或 16 个字节。
- 提供比
-
-
无符号类型(Unsigned):
- 在整数类型(如
int,short,long,long long,char)前加unsigned关键字,表示该类型不存储符号位,只能存储非负数(零和正数)。 - 优点: 可以扩展正数的表示范围。例如,
unsigned int的正数范围是int的两倍。 - 缺点: 不能存储负数。
- 示例:
unsigned int,unsigned short,unsigned long long,unsigned char。
- 在整数类型(如
**代码示例分析:**
```c++
#include <iostream>
using namespace std;
int main() {
// 声明变量并赋值
int age = 25;
char initial = 'J';
float height = 1.75;
bool isStudent = true;
// 打印变量值
cout << "Age: " << age << endl;
cout << "Initial: " << initial << endl;
cout << "Height: " << height << endl;
cout << "Is student? " << isStudent << endl;
// 算术运算
int a = 10;
int b = 3;
int sum = a + b;
int difference = a - b;
int product = a * b;
int quotient = a / b;
int remainder = a % b;
cout << "Sum: " << sum << endl;
cout << "Difference: " << difference << endl;
cout << "Product: " << product << endl;
cout << "Quotient: " << quotient << endl; // 输出 3,因为是整数除法
cout << "Remainder: " << remainder << endl; // 输出 1
// 使用 sizeof 运算符
cout << "Size of age: " << sizeof(age) << " bytes" << endl;
cout << "Size of float: " << sizeof(float) << " bytes" << endl;
return 0;
}
```