输入输出流 cout/cin
掌握 cout 输出、cin 输入、格式化输出、iomanip
输入输出流 cout/cin
C++ 用流(stream)取代 C 的 printf/scanf——类型安全、可扩展,但格式化稍显啰嗦。
学完本章你将: 掌握 cout 格式化输出、cin 输入、iomanip 控制格式。
cout 基础
cpp
#include <iostream>
#include <string>
int main() {
int age = 25;
double score = 92.5;
std::string name = "小明";
std::cout << "姓名:" << name << "\n"
<< "年龄:" << age << "\n"
<< "成绩:" << score << "\n";
return 0;
}
格式化输出(iomanip)
cpp
#include <iostream>
#include <iomanip> // setw, setprecision, fixed
int main() {
double pi = 3.1415926535;
// 精度控制
std::cout << std::fixed << std::setprecision(2);
std::cout << pi << "\n"; // 3.14
// 宽度对齐
std::cout << std::setw(10) << "Bob" << std::setw(5) << 95 << "\n";
std::cout << std::setw(10) << "Alice" << std::setw(5) << 88 << "\n";
// Bob 95
// Alice 88
return 0;
}
cin 输入
cpp
#include <iostream>
#include <string>
int main() {
int age;
std::string name;
std::cout << "姓名:";
std::cin >> name; // 读一个单词(遇到空白停止)
std::cout << "年龄:";
std::cin >> age;
std::cout << name << ",今年 " << age << " 岁\n";
// 读一整行
std::cin.ignore(); // 清掉残留的换行
std::cout << "自我介绍:";
std::string intro;
std::getline(std::cin, intro); // 读整行
return 0;
}
⚠️
cin >>之后如果接着用getline,中间必须加cin.ignore()清除换行符。