C++基础:全面解析基本数据类型、存储与输入

七月
七月
发布时间:2026-10-16| 4人浏览过
原创

C++在创建变量或常量时必须指定数据类型以分配内存。本文涵盖整型、浮点型、字符型、字符串型和布尔型的定义、内存大小及取值范围,演示sizeof关键字的使用,并讲解标准输入cin的操作与常用转义字符,为C++编程奠定基础。

整型与内存大小测量

C++规定创建变量必须指定类型。整型用于表示整数,根据数值大小和精度需求分为四种:

  • short(短整型):通常占用2字节,范围约 ±3.2万。
  • int(整型):通常占用4字节,范围约 ±21亿。
  • long(长整型):在32位系统中通常为4字节,64位Linux中可能为8字节。
  • long long(长长整型):占用8字节,范围极大。

可以使用 sizeof 关键字查询具体类型在当前平台的内存占用。语法为 sizeof(类型) 或 sizeof(变量)。

#include<iostream>
using namespace std;
int main() {
    short num1 = 10;
    cout << "short size: " << sizeof(short) << endl;
    
    int num2 = 10;
    cout << "int size: " << sizeof(int) << endl;
    
    long num3 = 10;
    cout << "long size: " << sizeof(long) << endl;
    
    long long num4 = 10;
    cout << "long long size: " << sizeof(long long) << endl;
    
    return 0;
}

实型(浮点型)与科学计数法

实型用于表示小数,分为单精度 float 和双精度 double。两者主要区别在于有效数字位数和内存占用:

  • float:占用4字节,提供7位有效数字精度。
  • double:占用8字节,提供15~16位有效数字精度。

默认输出小数时,通常会显示6位有效数字。浮点数支持科学计数法表示,如 3e2 代表 $3 \times 10^2$(即300),3e-2 代表 $3 \times 10^{-2}$(即0.03)。

#include<iostream>
using namespace std;
int main() {
    float f1 = 3.1415926f;
    double d1 = 3.1415926;
    
    cout << "f1 = " << f1 << endl;
    cout << "d1 = " << d1 << endl;
    
    // 查看内存占用
    cout << "float size: " << sizeof(float) << endl;
    cout << "double size: " << sizeof(double) << endl;
    
    // 科学计数法
    float f2 = 3e2;   // 300
    float f3 = 3e-2;  // 0.03
    cout << "f2 = " << f2 << endl;
    cout << "f3 = " << f3 << endl;
    
    return 0;
}

字符型与转义字符

字符型 (char) 用于存储单个字符,占用1字节内存。需注意以下规则:

  1. 字符必须用单引号括起来,如 'a'。
  2. 单引号内只能有一个字符,不能是字符串(字符串需用双引号)。
  3. 字符在内存中以ASCII编码形式存储。例如 'a' 的ASCII码为97,'A' 为65。
#include<iostream>
using namespace std;
int main() {
    char ch = 'a';
    cout << "Char: " << ch << endl;
    cout << "Size: " << sizeof(char) << endl;
    cout << "ASCII: " << (int)ch << endl; // 强制转换为整型查看ASCII值
    return 0;
}

转义字符用于表示无法直接显示的ASCII字符:

  • \n:换行。
  • \t:水平制表符(Tab)。
  • \\:反斜线字符本身。
    #include<iostream>
    using namespace std;
    int main() {
        cout << "Hello\nWorld" << endl;      // 换行
        cout << "Path: C:\\Users" << endl;  // 输出反斜杠
        cout << "Name:\tAlice" << endl;     // Tab缩进
        return 0;
    }

字符串型

C++提供了两种字符串处理方式:

  1. C风格字符串:使用字符数组 char str[] = "hello"。注意需包含头文件并使用双引号。
  2. C++风格字符串:使用 std::string 类型。需包含 <string> 头文件,操作更便捷。
#include<iostream>
#include<string> // 使用string必须包含此头文件
using namespace std;
int main() {
    // C风格
    char cstr[] = "hello world";
    cout << cstr << endl;
    
    // C++风格
    string cppstr = "hello world";
    cout << cppstr << endl;
    
    return 0;
}

布尔型与数据输入

布尔型 (bool) 仅有两个值:true(真)和 false(假),占用1字节内存。在输出时,true显示为1,false显示为0。

数据输入使用标准输入流对象 cin,配合提取运算符 >> 将键盘输入的值存入变量。

#include<iostream>
#include<string>
using namespace std;
int main() {
    bool flag = false;
    cout << "Please input bool value (1 or 0): ";
    cin >> flag; // 从键盘读取输入
    cout << "You entered: " << flag << endl;
    
    // 其他类型输入同理,例如:
    // int a; cin >> a;
    
    return 0;
}

总结

掌握C++的基本数据类型是编写程序的第一步。理解不同整型和浮点型的内存占用有助于优化资源使用;熟悉字符、字符串及布尔型的特性可避免语法错误;而熟练使用 cin 则是实现人机交互的基础。以上就是C++基本数据类型的详细内容,更多关于C++入门学习的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。