顺序结构与完整输入输出
一句话目标:写出一个完整程序的”三段式”骨架 —— 读入 → 计算 → 输出,代码从上到下依次执行。
本课承接 02.变量、数据类型与输入输出。变量、类型、运算符已经会了,这节把它们串成一个能跑通的完整程序,并补齐输入输出的几种写法。
第一部分:什么是顺序结构
程序最基本的执行方式:一行一行、从上到下,依次执行,不跳、不回头。
绝大多数题目的主干都是这个固定套路:
1. 读入数据 cin >> ...
2. 进行计算 用运算符算出答案
3. 输出结果 cout << ...
记住这个”三段式”,拿到任何入门题先把这三块框出来,再往里填。
第二部分:两套输入输出
C++ 里有两套 IO,考试都允许,挑顺手的用。
C++ 风格:cin / cout(推荐入门用)
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b; // 读入
cout << a + b << endl; // 输出,endl 换行
return 0;
}>>自动按空格/回车分隔,不用关心数据类型。- 字符串里有空格、要读一整行时,用
getline(cin, s)。
C 风格:scanf / printf(数据量大时更快)
#include <cstdio>
int main() {
int a, b;
scanf("%d %d", &a, &b); // %d 读整数,注意变量前要加 &
printf("%d\n", a + b);
return 0;
}| 占位符 | 类型 |
|---|---|
%d | int |
%lf | double(读入) |
%c | char |
%s | 字符数组 |
入门阶段用
cin/cout就够;等数据量到十万级别再换scanf/printf提速。
第三部分:小数怎么”好看地”输出
默认输出小数位数不固定。要保留两位小数(货币、平均分常用):
#include <iostream>
#include <iomanip> // setprecision 在这个头文件里
using namespace std;
int main() {
double pi = 3.14159;
cout << fixed << setprecision(2); // 固定两位小数
cout << pi << endl; // 输出 3.14
return 0;
}fixed+setprecision(2)一起用 = 小数点后固定 2 位。- 只写一次,后面所有
cout都生效。
第四部分:完整例题 —— 圆的面积
输入半径 r(小数),输出圆面积,保留两位小数。π 取 3.14159。
按三段式来写:
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
double r;
cin >> r; // ① 读入
double area = 3.14159 * r * r; // ② 计算
cout << fixed << setprecision(2);
cout << area << endl; // ③ 输出
return 0;
}小坑回顾(来自 02.变量、数据类型与输入输出):半径要用
double,
如果写成int再乘,小数部分会被丢掉。
小结
- 顺序结构 = 代码从上到下依次执行;解题主干是 读入 → 计算 → 输出。
- 两套 IO:
cin/cout(好写)与scanf/printf(快),入门先用前者。 - 小数格式化:
#include <iomanip>后cout << fixed << setprecision(2);。
课后小练
- 输入两个整数,输出它们的平均数,保留两位小数。
- 输入摄氏温度 c,输出华氏温度
f = c * 1.8 + 32,保留一位小数。 - 洛谷题单【入门1】顺序结构,做 3 题。