doc/notebook/docs/NOI竞赛大纲/二.C++程序设计/2.基本数据类型.md

3.0 KiB
Raw Blame History

2. 基本数据类型

在编程中,数据类型用于定义变量可以存储的数据种类。掌握各种基本数据类型是理解变量、表达式和内存占用的基础。


【 1 】整数型:intlong long

🔹 int 【难度1】

  • 用于表示一般范围的整数(如:-100, 0, 999 等)。
  • 占用内存:通常为 4字节32位
  • 范围(有符号):约 -231 到 231-1
int age = 18;

🔹 long long 【难度1】

  • 表示更大的整数,通常用于涉及大数计算(如阶乘、数据统计等)。
  • 占用内存:8字节64位
  • 范围(有符号):约 -263 到 263-1
long long population = 7800000000;

💡 提示:在程序中使用大整数时建议使用 long long 类型,并搭配 ll 作为字面量后缀(如:1000000000ll)。


【 1 】实数型:floatdouble

🔹 float 【难度1】

  • 表示单精度浮点数精度约为小数点后6位。
  • 占用内存:4字节
float pi = 3.14159f;

🔹 double 【难度1】

  • 表示双精度浮点数精度约为小数点后15位。
  • 占用内存:8字节
double e = 2.718281828459;

⚠ 注意:浮点数在计算中存在精度误差,判断是否相等时不要直接用 ==,而应判断差值是否在一个误差范围内。


【 1 】字符型:char

  • 用于表示单个字符,如 'A''b''1'
  • 实际上是存储字符的 ASCII编码值(整数)。
  • 占用内存:1字节
char grade = 'A';
cout << (int)grade << endl; // 输出字符的 ASCII 编码65

💡 字符用单引号包裹(如:'X'),而不是双引号。


【 1 】布尔型:bool

  • 只包含两个取值:true(真)、false(假)
  • 用于逻辑判断和条件语句
  • 占用内存:1字节虽然只需要1位但通常按字节处理
bool isPassed = true;

if (isPassed) {
    cout << "考试通过!" << endl;
}

在 C++ 中,true 等价于 1false 等价于 0


🧠 扩展知识:类型对应内存大小与范围(一般情况下)

类型 大小(字节) 常规范围(有符号)
char 1 字节 -128 ~ 127
int 4 字节 -2,147,483,648 ~ 2,147,483,647
long long 8 字节 超大整数范围
float 4 字节 ~±3.4e±387位有效数字
double 8 字节 ~±1.7e±30815位有效数字
bool 1 字节 true / false

小结

  • 整数类型用于计数、下标等离散数据;
  • 实数类型用于精确度要求较高的计算;
  • 字符类型用于文本字符操作;
  • 布尔类型用于控制逻辑和条件判断。