C++基础输入输出知识点汇总
编程小白也能看懂的详细指南
C++的输入输出是编程中最基础也是最重要的部分之一。本指南将用通俗易懂的语言,详细解释C++中输入输出的核心概念和使用方法。
输入输出基础
1. 输入输出库
在C++中,输入输出功能是通过 <iostream> 头文件提供的。
#include <iostream>
这个头文件包含了输入输出相关的类和函数。
2. 命名空间
使用 using namespace std; 可以避免每次都写std::前缀。
using namespace std;
这样我们就可以直接使用cout、cin等,而不需要写成std::cout。
3. 基本输出(cout)
cout 用于输出数据到控制台(屏幕):
cout << “Hello, World!”;
<< 是输出运算符,用于把数据发送到输出流。
4. 基本输入(cin)
cin 用于从控制台(键盘)获取输入:
int age;
cin >> age;
>> 是输入运算符,用于从输入流提取数据。
格式化输出
1. 换行操作
两种方式实现换行:
// 使用endl
cout << “第一行” << endl;
// 使用换行符\n
cout << “第二行\n”;
endl 不仅换行,还会刷新输出缓冲区。
2. 输出多个值
可以连续使用 << 运算符:
int a = 5;
double b = 3.14;
cout << “a = “ << a << “, b = “ << b << endl;
3. 格式化输出
使用 <iomanip> 头文件进行格式化:
#include <iomanip>
double pi = 3.1415926;
// 设置小数点后保留2位
cout << fixed << setprecision(2) << pi; // 输出3.14
小贴士: 使用 setw(n) 可以设置输出宽度为n个字符。
输入处理技巧
1. 输入多个值
可以连续使用 >> 运算符:
int x, y;
cout << “请输入两个整数: “;
cin >> x >> y;
2. 处理字符串输入
使用 cin 输入字符串时,遇到空格会停止:
string name;
cin >> name; // 输入”John Doe”只会读取”John”
3. 读取整行输入
使用 getline() 读取整行文本(包括空格):
string fullName;
// 先清除输入缓冲区
cin.ignore();
getline(cin, fullName); // 可以读取”John Doe”
重要提示: 混合使用 cin >> 和 getline() 时,需要在 getline() 前使用 cin.ignore() 清除缓冲区中的换行符。
cout vs cin
- cout – 用于输出数据到控制台
- cin – 用于从控制台读取数据
- cout 使用 << 运算符(插入运算符)
- cin 使用 >> 运算符(提取运算符)
- cout 不需要担心缓冲区问题
- cin 在读取后缓冲区可能残留换行符
endl vs \n
- endl – 插入换行符并刷新输出缓冲区
- \n – 只插入换行符,不刷新缓冲区
- endl 会略微影响性能(频繁刷新)
- 在需要确保立即显示输出时使用endl
- 普通换行使用\n效率更高
完整示例代码
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
int main() {
// 输出示例
cout << “欢迎来到C++输入输出世界!\n”;
cout << “———————–“ << endl;
// 输入示例
int age;
cout << “请输入您的年龄: “;
cin >> age;
// 清除输入缓冲区
cin.ignore();
string name;
cout << “请输入您的全名: “;
getline(cin, name);
double salary;
cout << “请输入您的月薪: “;
cin >> salary;
// 格式化输出
cout << “\n===== 信息汇总 =====\n”;
cout << “姓名: “ << name << endl;
cout << “年龄: “ << age << ” 岁” << endl;
cout << fixed << setprecision(2);
cout << “月薪: ¥” << salary << endl;
return 0;
}