2.1 cout输出语句
正在加载视频播放器…
GESP C++ 一级:cout 输出语句精讲
核心目标:会写、会读、会改
cout输出语句,能按题目要求输出正确的内容、空格和换行。
cout用<<把内容送到屏幕,不会自动加空格,也不会自动换行,格式必须自己控制。
一、cout 是什么
cout 是 C++ 的标准输出流对象,用于向屏幕输出数据。
使用前需要:
#include <iostream>
//(#include<bits/stdc++.h> 使用万能头更方便)
//视频内均使用万能头
using namespace std;
基本形式:
cout << 内容;
cout:输出目标,代表屏幕。<<:流插入运算符,把右边的内容插入到输出流中。;:语句结束,必须写。
二、基本语法
1. 输出一个内容
cout << "Hello";
cout << 123;
cout << a;
2. 连续输出多个内容
cout << a << " " << b << endl;
<< 可以连续使用,从左到右依次输出。
3. 输出表达式
cout << a + b << endl;
先计算 a + b,再把结果输出。
4. 输出换行
cout << endl;
cout << "\n";
endl 和 "\n" 都可以换行。
一级只需记住:它们都能换行;endl 还会刷新输出缓冲区。
三、输出不同类型的数据
| 类型 | 写法示例 | 输出说明 |
|---|---|---|
| 整数 | cout << 123; |
输出 123 |
| 浮点数 | cout << 3.14; |
输出 3.14 |
| 字符 | cout << 'A'; |
输出字符 A |
| 字符串 | cout << "Hello"; |
输出字符串 Hello |
| 变量 | cout << a; |
输出变量 a 的值 |
| 表达式 | cout << a + b; |
输出计算结果 |
| 布尔值 | cout << true; |
默认输出 1 |
cout << boolalpha << true; |
输出 true |
注意:
cout << 'A'; // 输出字符 A
cout << "A"; // 输出字符串 A
cout << 65; // 输出整数 65
字符用单引号,字符串用双引号。
四、换行与空格
1. cout 不会自动加空格
int a = 3, b = 5;
cout << a << b << endl;
输出:
35
如果要输出 3 5,必须自己加空格:
cout << a << " " << b << endl;
2. cout 不会自动换行
cout << "Hello";
cout << "World";
输出:
HelloWorld
要换行:
cout << "Hello" << endl;
cout << "World" << endl;
输出:
Hello
World
3. 多个 cout 也可以
cout << a;
cout << " ";
cout << b;
cout << endl;
效果等于:
cout << a << " " << b << endl;
五、转义字符
转义字符用于在字符串中表示特殊字符。
| 转义字符 | 含义 | 示例 | 输出 |
|---|---|---|---|
\n |
换行 | cout << "A\nB"; |
A 换行 B |
\t |
制表符 | cout << "A\tB"; |
A 与 B 间有 Tab |
\\ |
反斜杠 | cout << "\\"; |
\ |
\" |
双引号 | cout << "\"Hi\""; |
"Hi" |
\' |
单引号 | cout << '\''; |
' |
示例:
cout << "Hello\nWorld" << endl;
输出:
Hello
World
cout << "He said \"Hi\"" << endl;
输出:
He said "Hi"
六、格式化输出
1. 保留小数
需要头文件:
#include <iomanip>
写法:
cout << fixed << setprecision(2) << ans << endl;
表示保留 2 位小数。
示例:
double x = 3.14159;
cout << fixed << setprecision(2) << x << endl;
输出:
3.14
注意:fixed 和 setprecision 会一直影响后面的浮点输出,直到再次修改。
2. 输出布尔值
bool flag = true;
cout << flag << endl; // 1
cout << boolalpha << flag << endl; // true
3. 设置输出宽度(了解)
cout << setw(5) << 123 << endl;
输出时占 5 个字符宽度,一级了解即可。
七、常见输出模型
1. 输出 Hello World
cout << "Hello, World!" << endl;
2. 输出两个数的和
int a, b;
cin >> a >> b;
cout << a + b << endl;
3. 输出算式
int a = 3, b = 5;
cout << a << "+" << b << "=" << a + b << endl;
输出:
3+5=8
4. 输出字符和 ASCII 码
char c = 'A';
cout << c << " " << (int)c << endl;
输出:
A 65
5. 输出保留两位小数
double ans = 2.5;
cout << fixed << setprecision(2) << ans << endl;
输出:
2.50
6. 输出多行
cout << "第一行" << endl;
cout << "第二行" << endl;
或:
cout << "第一行\n第二行" << endl;
八、易错点
-
cout写成cin,或<<写成>>。cout >> a; // 错误 -
漏写分号。
cout << "Hello" << endl // 错误,缺少 ; -
endl拼错。cout << "Hello" << end1; // 错误,应是 endl -
字符串和字符引号混用。
cout << 'Hello'; // 错误,字符常量只能一个字符 cout << "A"; // 正确,字符串 cout << 'A'; // 正确,字符 -
忘记加空格。
cout << a << b; // 输出 35 cout << a << " " << b; // 输出 3 5 -
忘记换行。
cout << a; // 不换行 cout << a << endl; // 换行 -
整数除法输出结果不对。
cout << 5 / 2; // 输出 2 cout << 5.0 / 2; // 输出 2.5 -
输出多余提示语。
考试时不要输出“请输入”等提示,否则可能判错。 -
未初始化变量直接输出。
int a; cout << a; // 结果不确定 -
中文标点。
cout << "Hello"; // 错误,中文分号
九、阅读程序写结果
题目 1
int a = 3, b = 5;
cout << a << "+" << b << "=" << a + b << endl;
输出:
3+5=8
题目 2
char c = 'A';
cout << c << " " << (int)c << endl;
输出:
A 65
题目 3
double x = 2.0;
cout << fixed << setprecision(3) << x << endl;
输出:
2.000
题目 4
bool f = false;
cout << f << " " << boolalpha << f << endl;
输出:
0 false
题目 5
cout << "A\tB" << endl;
输出:
A B
(中间是制表符间隔)
十、速查表
| 需求 | 写法 |
|---|---|
| 输出字符串 | cout << "Hello"; |
| 输出字符 | cout << 'A'; |
| 输出变量 | cout << a; |
| 输出表达式 | cout << a + b; |
| 连续输出 | cout << a << b << c; |
| 加空格 | cout << a << " " << b; |
| 换行 | cout << endl; 或 cout << "\n"; |
| 保留两位小数 | cout << fixed << setprecision(2) << x; |
| 输出布尔值 true/false | cout << boolalpha << flag; |
| 输出 ASCII 码 | cout << (int)c; |
| 输出双引号 | cout << "\"Hi\""; |
| 输出反斜杠 | cout << "\\"; |
总结
cout 是一级考试中最重要的输出工具。
cout << 内容;把内容输出到屏幕。<<可以连续使用,从左到右输出。- 空格和换行都要自己加,格式必须严格按题目要求。
复习时多练“阅读程序写结果”和“按格式输出”两类题,注意分号、引号、endl、空格和小数位数。