数据的输入与输出

一、流的概念

在 C++ 中,将数据从一个对象到另外一个对象的流动被抽象为”流”(stream)。流在使用前需要被建立,使用后要被删除。

从流中获取数据的操作称为提取操作(输入),向流中添加数据的操作称为插入操作(输出)。

二、I/O 流与标准输入输出

数据的输入和输出通过 I/O 流来实现。cin 和 cout 是预定义的流类对象:

  • cin:标准输入流对象,用于处理标准输入,通常对应键盘输入。
  • cout:标准输出流对象,用于处理标准输出,通常对应屏幕输出。

使用 cin 和 cout 需要包含头文件 iostream,并通过 std 命名空间访问(或使用 using namespace std;)。

三、输出操作(cout)

cout 配合输出运算符 <<(插入运算符)将数据输出到屏幕。

基本形式:

cout << 表达式1 << 表达式2 << ... ;

cout 可以连续输出多个数据,每个 << 后面跟一个待输出的表达式。

示例:

int a = 10;
double b = 3.14;
cout << "a = " << a << ", b = " << b << endl;Code language: JavaScript (javascript)

endl 是一个操纵符,作用是插入换行符并刷新输出缓冲区。

四、输入操作(cin)

cin 配合输入运算符 >>(提取运算符)从键盘读取数据。

基本形式:

cin >> 变量1 >> 变量2 >> ... ;

cin 可以连续读取多个数据,每个 >> 后面跟一个变量。输入时多个数据之间用空白字符(空格、Tab、回车)分隔。

示例:

int x;
double y;
cin >> x >> y;   // 从键盘输入两个整数或浮点数Code language: JavaScript (javascript)

五、代码示例

以下代码演示了数据的输入与输出基本用法:

#include <iostream>
using namespace std;

int main()
{
    // 输出示例
    cout << "Hello, C++!" << endl;
    cout << "This is a simple output example." << endl;

    int age;
    double height;

    // 输入示例
    cout << "Please enter your age: ";
    cin >> age;

    cout << "Please enter your height: ";
    cin >> height;

    // 输出结果
    cout << "Your age is " << age << " years old." << endl;
    cout << "Your height is " << height << " meters." << endl;

    // 连续输入
    int a, b, c;
    cout << "Enter three integers separated by space: ";
    cin >> a >> b >> c;
    cout << "You entered: a = " << a << ", b = " << b << ", c = " << c << endl;

    // 混合输入输出
    char name[50];
    cout << "Enter your name: ";
    cin >> name;
    cout << "Hello, " << name << "!" << endl;

    return 0;
}Code language: PHP (php)

六、注意事项

  • 使用 cin 和 cout 前必须包含头文件 iostream,并正确使用命名空间 std。
  • cin 的 >> 运算符在读取数据时会跳过前导空白字符(空格、换行、制表符)。
  • cin 读取字符串(char 数组)时,遇到空白字符即停止,不会读取包含空格的字符串。如需读取一行,可使用 cin.getline()。
  • cout 输出时不会自动添加空格或换行,需要手动添加分隔符或 endl。
  • endl 会刷新缓冲区,频繁使用可能影响性能。如果仅需换行,可使用 “\n” 代替 endl。
  • cin 和 cout 的类型安全:编译器会根据变量类型自动匹配正确的输入/输出方式,减少错误。

七、小结

  • C++ 将数据流动抽象为流,输入为提取操作,输出为插入操作。
  • cin 和 cout 是预定义的标准输入输出流对象。
  • cout 配合 << 实现输出,cin 配合 >> 实现输入。
  • 使用 cin 和 cout 需要包含 iostream 头文件。
  • 输入时多个数据用空白分隔,输出时需手动控制格式。
  • 后续章节将介绍更多格式化输入输出方法。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注