云计算百科
云计算领域专业知识百科平台

C++流程控制

一、流程控制的核心概念

C++ 的流程控制分为三大类(结构化程序设计的核心):

  • 顺序结构:代码从上到下逐行执行(默认逻辑);
  • 分支结构:根据条件执行不同代码(if/switch);
  • 循环结构:重复执行某段代码(for/while/do-while)。

二、分支结构(条件判断)

1. if 语句(灵活的多条件判断)

核心语法(单 / 双 / 多分支):

cpp

运行

// 单分支
if (条件表达式) {
代码块; // 条件为真时执行
}

// 双分支
if (条件表达式) {
代码块1;
} else {
代码块2;
}

// 多分支
if (条件1) {
代码块1;
} else if (条件2) {
代码块2;
} else {
代码块3; // 所有条件不满足时执行
}

关键规则:

  • 条件表达式必须用()包裹,代码块用{}界定(即使单行也建议写,避免逻辑错误);
  • 条件表达式返回布尔值(true/false),非布尔值会自动转换(0 为 false,非 0 为 true);
  • 多分支中匹配到第一个真条件后,后续分支不再执行。

实战示例(成绩等级判断):

cpp

运行

#include <iostream>
using namespace std;

int main() {
int score = 85;
if (score >= 90) {
cout << "优秀" << endl;
} else if (score >= 80) {
cout << "良好" << endl; // 执行此分支
} else if (score >= 60) {
cout << "及格" << endl;
} else {
cout << "不及格" << endl;
}
return 0;
}

2. switch 语句(固定值匹配)

适合多值等值判断(如菜单选择、状态匹配),比多层 if 更简洁:

cpp

运行

#include <iostream>
using namespace std;

int main() {
int choice = 2;
switch (choice) { // 只能是整型/字符型/枚举型
case 1: // 匹配choice=1
cout << "选择功能1" << endl;
break; // 跳出switch,避免穿透
case 2:
cout << "选择功能2" << endl; // 执行此分支
break;
default: // 无匹配值时执行(可选)
cout << "无效选择" << endl;
}
return 0;
}

关键规则:

  • switch后的表达式只能是整型 / 字符型(如 int、char),不能是浮点型;
  • case后必须是常量(不能是变量),break是必写项(否则会 “case 穿透”,执行后续所有 case);
  • default可选,位置不限(建议放最后)。

三、循环结构(重复执行)

1. for 循环(已知循环次数)

核心语法:

cpp

运行

for (初始化表达式; 条件表达式; 更新表达式) {
循环体; // 条件为真时执行
}

执行逻辑:初始化 → 判断条件 → 执行循环体 → 更新表达式 → 再次判断条件(直到条件为假)。

实战示例(计算 1-100 的和):

cpp

运行

#include <iostream>
using namespace std;

int main() {
int sum = 0;
for (int i = 1; i <= 100; i++) { // i从1到100,每次+1
sum += i; // 累加
}
cout << "1-100的和:" << sum << endl; // 输出5050
return 0;
}

2. while 循环(未知循环次数,先判断后执行)

核心语法:

cpp

运行

while (条件表达式) {
循环体;
}

实战示例(猜数字游戏):

cpp

运行

#include <iostream>
using namespace std;

int main() {
int target = 7, guess;
cout << "猜数字(1-10):";
while (cin >> guess && guess != target) { // 输入≠7则继续循环
cout << "猜错了,再试一次:";
}
cout << "猜对了!" << endl;
return 0;
}

3. do-while 循环(至少执行一次,先执行后判断)

核心语法:

cpp

运行

do {
循环体;
} while (条件表达式); // 末尾必须加;

实战示例(确保至少输入一次):

cpp

运行

#include <iostream>
using namespace std;

int main() {
int num;
do {
cout << "输入一个正数:";
cin >> num;
} while (num <= 0); // 输入≤0则重新输入
cout << "你输入的正数是:" << num << endl;
return 0;
}

四、循环控制辅助语句

  • break:立即跳出当前循环 /switch,执行后续代码;
  • continue:跳过本次循环剩余代码,直接进入下一次循环判断;
  • goto(不推荐):跳转到指定标签位置,易导致代码混乱,仅应急使用。
  • 示例(break/continue):

    cpp

    运行

    #include <iostream>
    using namespace std;

    int main() {
    for (int i = 1; i <= 5; i++) {
    if (i == 3) continue; // 跳过i=3,直接i++
    if (i == 5) break; // 跳出循环
    cout << i << " "; // 输出:1 2 4
    }
    return 0;
    }

    总结

  • C++ 分支结构:if适合灵活条件判断,switch适合固定值匹配(注意 break 防穿透);
  • C++ 循环结构:for已知循环次数,while未知次数(先判断),do-while至少执行一次;
  • 循环控制:break跳出循环,continue跳过本次循环,尽量避免 goto。
  • 赞(0)
    未经允许不得转载:网硕互联帮助中心 » C++流程控制
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!