掌握 C++ 输入输出:cin/cou 完整实战指南
C++ 基础输入输出
通过循序渐进示例掌握 C++ cin 接收用户输入与 cout 输出的核心用法。
C++ 输出
cout 将格式化数据流向控制台,配合插入运算符 << 输出文本、数值、变量。
示例 1:字符串输出
#include <iostream>
using namespace std;
int main() {
cout << "This is C++ Programming";
return 0;
}
输出
This is C++ Programming
工作原理
#include <iostream>引入流库using namespace std;引入 std 命名空间,可直接用coutmain()为程序入口cout << "text";向控制台发送字符串return 0;正常退出(可选)
using namespace std; 时需写 std::cout。大型项目推荐使用完整限定名避免命名冲突。#include <iostream>
int main() {
std::cout << "This is C++ Programming";
return 0;
}
示例 2:数值与字符输出
数值/字符输出同理,但值不加引号。
#include <iostream>
using namespace std;
int main() {
int num1 = 70;
double num2 = 256.783;
char ch = 'A';
cout << num1 << endl;
cout << num2 << endl;
cout << "character: " << ch << endl;
return 0;
}
输出
70 256.783 character: A
要点
endl插入换行并刷新缓冲区- 单语句可链式输出多值:
cout << "character: " << ch << endl;
C++ 输入
cin 从键盘读取格式化数据,配合提取运算符 >> 存入变量。
示例 3:整数输入输出
#include <iostream>
using namespace std;
int main() {
int num;
cout << "Enter an integer: ";
cin >> num;
cout << "The number is: " << num;
return 0;
}
输出
Enter an integer: 70 The number is: 70
cin >> num; 捕获用户输入存入 num。提取运算符支持所有重载了输入流的类型。
using namespace std; 时,将 cin/cout 替换为 std::cin/std::cout。多值输入
#include <iostream>
using namespace std;
int main() {
char a;
int num;
cout << "Enter a character and an integer: ";
cin >> a >> num;
cout << "Character: " << a << endl;
cout << "Number: " << num;
return 0;
}
输出
Enter a character and an integer: F 23 Character: F Number: 23
格式化输出进阶(<iomanip>)
| 操纵符 | 头文件 | 作用 |
|---|---|---|
setw(n) | <iomanip> | 设置字段宽度 |
setprecision(n) | <iomanip> | 设置浮点精度 |
fixed | <iomanip> | 固定小数点记数法 |
scientific | <iomanip> | 科学计数法 |
left/right | <iomanip> | 左/右对齐 |
setfill(c) | <iomanip> | 设置填充字符 |
boolalpha | <iomanip> | bool 输出 true/false 而非 1/0 |
示例:格式化输出
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
double pi = 3.1415926535;
cout << "默认: " << pi << endl;
cout << "固定4位: " << fixed << setprecision(4) << pi << endl;
cout << "科学计数法: " << scientific << setprecision(3) << pi << endl;
cout << "宽度10右对齐: " << setw(10) << 42 << endl;
cout << "boolalpha: " << boolalpha << true << endl;
return 0;
}
输出
默认: 3.14159 固定4位: 3.1416 科学计数法: 3.142e+00 宽度10右对齐: 42 boolalpha: true
最佳实践
- 避免
using namespace std;在头文件中使用,防止命名污染。 - 输入验证:
cin失败时(如输入字母给 int)会置failbit,需检查if (cin)或cin.fail()并清理cin.clear()、cin.ignore()。 - 性能敏感场景:考虑
ios::sync_with_stdio(false); cin.tie(nullptr);关闭 C/C++ 流同步与解除 cin/cout 绑定。 - 优先使用
\n而非endl:endl强制刷新缓冲区,高频输出时影响性能。
C语言
- C# 基础:输入输出核心技巧完全指南
- 掌握 C++ 输入输出:cin/cou 完整实战指南
- 掌握 C++ 运算符:六大类型全解析与实战示例
- C++ 注释最佳实践:编写可读、可维护代码的注释艺术
- C++ 类模板实战指南:编写灵活的类型无关代码
- C 语言输入输出(I/O)精通:scanf() 与 printf() 详解
- C++ 流精通:cout、cin、cerr、clog 实战指南
- C 语言基础语法精通:Token、分号、注释与标识符规范
- C 语言输入输出完全掌握:标准 I/O 与格式化控制
- 掌握 D 锁存器:设计、工作原理与关键差异
- 精通Python输入输出与模块导入:实战指南
- 精通 Java 输入输出:打印、读取与格式化数据