目录

  1. 输入输出概述
  2. 使用 <iostream>
  3. 标准输出:cout
  4. 标准输入:cin
  5. 格式化输出
  6. 标准错误输出:cerrclog
  7. 示例代码
  8. 参考资料

1. 输入输出概述

C++ 通过标准输入输出流来处理数据的输入与输出。主要涉及两个标准流:

  • 标准输出流cout):用于向控制台输出数据。
  • 标准输入流cin):用于从控制台读取数据。

此外,还有用于输出错误信息的 cerrclog,分别用于输出错误和日志信息。


2. 使用 <iostream>

C++ 的输入输出操作依赖于 <iostream> 头文件。使用此头文件可以访问 cincoutcerrclog 等对象。

示例:

#include <iostream>
using namespace std;

int main() {
    // 示例代码见后文
    return 0;
}


3. 标准输出:cout

cout 是用于向控制台输出数据的标准对象。常与插入运算符 << 搭配使用,可以输出各种类型的数据。

示例:

#include <iostream>
using namespace std;

int main() {
    cout << "Hello, World!" << endl;  // 输出字符串,并换行
    int number = 100;
    cout << "Number: " << number << endl;  // 输出整型变量
    return 0;
}

说明:

  • endl 用于输出换行,并刷新输出缓冲区。
  • 多个输出可以通过连续使用 << 运算符连接。

4. 标准输入:cin

cin 是用于从控制台读取数据的标准对象。它与提取运算符 >> 搭配使用,可以将输入的数据存储到变量中。

示例:

#include <iostream>
using namespace std;

int main() {
    int age;
    cout << "请输入你的年龄:";
    cin >> age;  // 从控制台读取整数
    cout << "你输入的年龄是: " << age << endl;
    return 0;
}

注意:

  • cin 默认以空白字符(空格、制表符、换行符)作为分隔符,读取第一个遇到的非空白数据。
  • 使用 getline(cin, str) 可以读取包含空格的一整行字符串。

5. 格式化输出

C++ 提供了格式化输出的功能,可以通过控制符来设置输出宽度、精度、对齐方式等。

示例:

#include <iostream>
#include <iomanip>  // 包含格式化控制函数
using namespace std;

int main() {
    double pi = 3.14159265;
    // 设置输出宽度为 10,总共输出 10 个字符,保留 4 位小数
    cout << "pi = " << setw(10) << fixed << setprecision(4) << pi << endl;
    return 0;
}

说明:

  • setw(n):设置输出宽度为 n 个字符。
  • fixed:使用定点表示法。
  • setprecision(n):设置小数点后的位数为 n。

6. 标准错误输出:cerrclog

  • cerr 用于输出错误信息,通常不会被缓冲,立即输出错误信息。
  • clog 用于输出日志信息,有缓冲机制。

示例:

#include <iostream>
using namespace std;

int main() {
    cerr << "错误:输入无效!" << endl;
    clog << "日志:程序已启动。" << endl;
    return 0;
}


7. 示例代码

下面是一个综合示例,展示了如何使用 cincout 进行基本的输入输出,以及使用格式化控制符调整输出格式:

#include <iostream>
#include <iomanip>
#include <string>
using namespace std;

int main() {
    // 标准输出
    cout << "欢迎使用 C++ 输入输出示例程序" << endl;

    // 读取用户输入的姓名(包含空格)
    string name;
    cout << "请输入你的姓名:";
    getline(cin, name);  // 读取整行输入

    // 读取用户输入的年龄
    int age;
    cout << "请输入你的年龄:";
    cin >> age;

    // 输出用户信息,格式化显示
    cout << "\n用户信息:" << endl;
    cout << "姓名: " << setw(10) << name << endl;
    cout << "年龄: " << age << endl;

    // 使用 cerr 输出错误示例
    if (age < 0) {
        cerr << "错误:年龄不能为负数!" << endl;
    }

    return 0;
}

可能的输出:

欢迎使用 C++ 输入输出示例程序
请输入你的姓名:张三
请输入你的年龄:25

用户信息:
姓名:        张三
年龄: 25


8. 参考资料


总结

C++ 的基本输入输出主要依赖于 <iostream> 头文件,其中 coutcin 分别用于输出和输入。通过使用格式化控制符,如 setwfixedsetprecision,可以对输出内容进行美观的格式化。掌握这些基础输入输出操作有助于编写交互性更强、用户体验更友好的程序。