前言
控制结构在C++编程中扮演着重要的角色,它们决定着程序的流程和逻辑。本文将探讨 C++ 中的顺序、选择和循环结构,旨在帮助初学C++者能够更深入地理解并灵活应用这些结构。
一、顺序结构:
顺序结构是程序中最基本、最简单的结构。在顺序结构中,我们可以实现简单的输入输出、赋值语句或一些函数,并逐步执行一系列操作。
#include <bits/stdc++.h> //万能头文件,包含C++常用的大多数头文件。
using namespace std;
int main() {
int n = 114514; //这里的 = 不是数学中的等于符号,而是赋值符号。
cout << "n 的值为:" << n << endl;
double k = 11.4514; //同上
cout << "k 的值为:" << k << endl;
puts("请输入n和k:");
cin >> n >> k; //等于 cin >> n; cin >> k; 只是简写了。
cout << "n 和 k 的值分别为:" << n << ' ' << k << endl;//等于 cout << n; cout << ' '; cout << k; cout << endl;
int a, b;
a = b = 1919810; //等于a = 1919810;b = 1919810;
string f = "1145141919810ILJYT.QCHW@邮箱^%$@!#**%";
cout << "f、a、b的值分别为:" << f << " " << a << ' ' << b << endl;
return 0;
}
二、选择结构:
选择结构顾名思义,就是通过一个或多个条件进行筛选,直到选中目标的答案。
1.if-else
语句
if
语句用于执行条件判断,假如表达式成立,则执行对应的代码块,否则,执行 else
中的代码块。
例如判断一个数是奇数还是偶数。
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
if (n % 2 == 0) //判断n是否为偶数,% 不是百分号,而是取模运算,算出余数
cout << "even"; //如果是偶数,则执行
else //不是偶数,即为奇数
cout << "odd"; //是奇数则执行
return 0;
}
2.if - else if - else
语句
if-else if-else
语句用于多个条件判断的场景,可以避免多个if-else
语句嵌套产生的复杂性。
例如判断一个数是为正数、 0 0 0、还是负数。
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
if (n > 0)
puts("positive");
else if (n == 0) //如果 n 为正数,则会跳过这一行
puts("zero");
else
puts("negative");
return 0;
}
3.switch
语句
switch
语句根据表达式的值,选择匹配的 case
标签执行对应的代码块,适合在多个固定条件之间进行选择。
例如判断今天是星期几。
#include <bits/stdc++.h>
using namespace std;
int main() {
int day;
cout << "Enter a number: " ;
cin >> day;
switch (day) {
case 1:
cout << "今日是星期一" << endl;
break; //跳出 switch语句,执行之后的代码块
case 2:
cout << "今日是星期二" << endl;
break; //如果不跳出,只要有一个 case 匹配成功,switch后面的语句都会执行。
case 3:
cout << "今日是星期三" << endl;
break;
case 4:
cout << "今日是星期四" << endl;
break;
case 5:
cout << "今日是星期五" << endl;
break;
case 6:
cout << "今日是星期六" << endl;
break;
case 7:
cout << "今日是星期日" << endl;
break;
default:
cout << "error." << endl; //今日是三体日
break;
}
return 0;
}
三、循环结构:
循环结构可用于重复执行某段代码,直到满足退出条件为止。
1.while
循环
while
循环通过判断条件是否成立来决定是否继续循环执行代码。执行顺序为 判断条件
-> 执行循环代码
-> 判断条件
……
例如倒序输出 1 ∼ n 1\sim n 1∼n。
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
while (n > 0) {
cout << n << ' ';
n--; //与 n -= 1、n = n - 1相同,即将 n 的值减少 1
} //注: n - 1
return 0;
}
2.do-while
循环
do-while
循环与 while
循环类似,不同之处在于他会先执行循环代码再进行条件判断,即使不满足条件。
例如输出
n
n
n 遍 I LOVE JYT!
。
#include <bits/stdc++.h>
using namespace std;
int main() {
long long n;
cin >> n; //输入数字越大越好(与程序无关)
do {
cout << "I LOVE JYT!\n"; //\n代表换行,除输出效率外,与endl无异
n--;
} while (n > 0);
return 0;
}
假如你输入的是数是非正数,你会发现程序依然输出了一遍 ILJYT
。
3.for
循环
for
循环是一种非常常用的循环结构,通过初始化、条件判断和循环迭代三个部分来控制循环的执行。
例如求出 ∑ i = 1 n i \sum_{i=1}^n i ∑i=1ni 的值。
#include <bits/stdc++.h>
using namespace std;
__int128 sum;
inline void write(__int128 k) { //这是函数,之后会学的,如果好奇可以先 bing 或 百度一下。
if (k > 9) {
write(k / 10);
}
putchar(k % 10 + '0');
}
int main() {
long long n;
cin >> n;
for (long long i = 1; i <= n; i++) {
sum += i;
}
write(sum);
return 0;
}
总结
在 C++ 编程中,顺序、选择和循环结构是非常重要的基础知识。顺序结构保证了代码的按序执行,选择结构允许根据条件进行分支选择,循环结构则实现了代码的重复执行。那么今天就讲到这里,大家可以通过这些网站进行练习。