C++ ——数据类型

224 阅读3分钟

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 小,但可以节省内存。
  • long int (简写为 long):长整型

    • 通常占用 4 或 8 个字节,存储范围比 int 大。在现代 64 位系统中,通常为 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;
}
```