Skip to content

L1_07 基本数据类型

一、整型 (int, long long)

1.1 int 类型

  • 大小:通常为 4 字节(32位)
  • 范围:-2,147,483,648 到 2,147,483,647
  • 用途:存储整数

1.2 long long 类型

  • 大小:8 字节(64位)
  • 范围:-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
  • 用途:存储大整数

1.3 示例

cpp
#include <iostream>
using namespace std;

int main() {
    int age = 18;
    long long population = 1400000000LL;
    
    cout << "年龄: " << age << endl;
    cout << "人口: " << population << endl;
    
    return 0;
}

二、实数型 (float, double)

2.1 float 类型

  • 大小:4 字节
  • 精度:约 6-7 位有效数字
  • 用途:存储单精度浮点数

2.2 double 类型

  • 大小:8 字节
  • 精度:约 15-17 位有效数字
  • 用途:存储双精度浮点数(常用)

2.3 示例

cpp
#include <iostream>
using namespace std;

int main() {
    float pi_float = 3.14159f;
    double pi_double = 3.141592653589793;
    
    cout << "float pi: " << pi_float << endl;
    cout << "double pi: " << pi_double << endl;
    
    return 0;
}

2.4 科学计数法

cpp
double distance = 1.5e11;  // 1.5 × 10^11
double tiny = 2.5e-6;      // 2.5 × 10^-6

三、字符型 (char)

3.1 定义

  • 大小:1 字节
  • 用途:存储单个字符

3.2 表示方法

  • 单引号括起来:'A', 'b', '1', ' '
  • ASCII 码值:0-127

3.3 示例

cpp
#include <iostream>
using namespace std;

int main() {
    char letter = 'A';
    char digit = '5';
    char space = ' ';
    
    cout << "字母: " << letter << endl;
    cout << "ASCII值: " << (int)letter << endl;
    
    return 0;
}

3.4 ASCII 码表

字符ASCII值字符ASCII值
'0'-'9'48-57'A'-'Z'65-90
'a'-'z'97-122' ' (空格)32

四、布尔型 (bool)

4.1 定义

  • 大小:通常为 1 字节
  • true(1)或 false(0)
  • 用途:存储逻辑值

4.2 示例

cpp
#include <iostream>
using namespace std;

int main() {
    bool isPass = true;
    bool isEmpty = false;
    
    cout << "是否及格: " << boolalpha << isPass << endl;
    cout << "是否为空: " << boolalpha << isEmpty << endl;
    
    return 0;
}

4.3 自动类型转换

cpp
int x = 10;
bool flag = x;  // flag = true(非零值为true)

int y = 0;
bool flag2 = y;  // flag2 = false(零值为false)

五、类型转换

5.1 隐式类型转换

cpp
int a = 10;
double b = a;  // int -> double,自动转换

5.2 显式类型转换

cpp
double pi = 3.14;
int num = (int)pi;  // 强制转换,num = 3

5.3 C++ 风格转换

cpp
double pi = 3.14;
int num = static_cast<int>(pi);  // num = 3

六、数据类型选择建议

数据类型适用场景
int一般整数,如年龄、数量
long long大整数,如人口、时间戳
float对精度要求不高的小数
double精度要求高的小数(推荐)
char单个字符
bool逻辑判断

总结

掌握基本数据类型是编写程序的基础。选择合适的数据类型可以提高程序的效率和正确性。

百炼成钢,融会贯通