从0开始学C++ 第六课:控制流程和循环结构

发布时间:2024年01月21日

第六课:控制流程


1. 条件语句:if 语句

讲解:
if 语句是最基本的控制流程语句,它允许程序根据条件的真假来决定是否执行特定的代码块。

语法:

if (条件) {
    // 条件为真时执行的代码
}

示例代码:

#include <iostream>
using namespace std;

int main() {
    int number;
    cout << "Enter a number: ";
    cin >> number;

    if (number > 0) {
        cout << "The number is positive." << endl;
    }
    return 0;
}

预期输出:

Enter a number: 5
The number is positive.

如果用户输入的是正数,屏幕将显示“The number is positive.”;如果是非正数,没有输出。


2. 条件语句:if-else 语句

讲解:
if 语句的条件不满足时,else 部分的代码将被执行。

语法:

if (条件) {
    // 条件为真时执行的代码
} else {
    // 条件为假时执行的代码
}

示例代码:

int score = 70;
if (score >= 60) {
    cout << "Passed" << endl;
} else {
    cout << "Failed" << endl;
}

预期输出:

Passed

如果score小于60,输出将会是"Failed"。


3. 条件语句:多重if-else

讲解:
可以通过多个if-else语句来进行多重条件判断。

语法:

if (条件1) {
    // 条件1为真时执行的代码
} else if (条件2) {
    // 条件2为真时执行的代码
} else {
    // 所有条件都不为真时执行的代码
}

示例代码:

int temp;
cout << "Enter the temperature: ";
cin >> temp;

if (temp > 30) {
    cout << "It's hot outside." << endl;
} else if (temp > 20) {
    cout << "It's nice outside." << endl;
} else if (temp > 10) {
    cout << "It's chilly outside." << endl;
} else {
    cout << "It's cold outside." << endl;
}

预期输出:

Enter the temperature: 23
It's nice outside.

输出会根据用户输入的温度值变化。


4. 循环语句:while 循环

讲解:
while 循环会在条件为真的情况下重复执行代码块。

语法:

while (条件) {
    // 条件为真时反复执行的代码
}

示例代码:

int i = 1;
while (i <= 5) {
    cout << i << " ";
    i++;
}

预期输出:

1 2 3 4 5 

5. 循环语句:for 循环

讲解:
for 循环是一种常用的循环语句,它可以在循环开始时初始化变量,检查循环条件,并在每次迭代结束时更新变量。

语法:

for (初始化; 条件; 更新) {
    // 条件为真时反复执行的代码
}

示例代码:

for (int j = 1; j <= 5; j++) {
    cout << j << " ";
}

预期输出:

1 2 3 4 5 

6. 循环控制:breakcontinue

讲解:
break 语句可以提前退出循环,而continue 语句可以跳过当前迭代,直接开始下一次迭代。

break 示例代码:

for (int k = 1; k <= 10; k++) {
    if (k == 6) {
        break; // 当 k 等于 6 时退出循环
    }
    cout << k << " ";
}

预期输出:

1 2 3 4 5 

当 k 等于 6 时,break 语句执行,循环终止。

continue 示例代码:

for (int k = 1; k <= 5; k++) {
    if (k == 3) {
        continue; // 当 k 等于 3 时跳过当前迭代
    }
    cout << k << " ";
}

预期输出:

1 2 4 5 

当 k 等于 3 时,continue 语句执行,当前迭代被跳过,循环继续。


练习题:编写一个简单的控制台程序,该程序将实现以下功能:

  1. 要求用户输入一个正整数 n
  2. 程序应该输出从 1 到 n 的所有整数,但需要遵循以下规则:
    • 如果数字能被 3 整除,输出 “Fizz”。
    • 如果数字能被 5 整除,输出 “Buzz”。
    • 如果数字同时能被 3 和 5 整除,输出 “FizzBuzz”。
    • 如果数字不能被 3 或 5 整除,输出该数字。

请完成该练习题的代码,并提供注释说明逻辑。

示例代码:

#include <iostream>
using namespace std;

int main() {
    int n;
    cout << "Enter a positive integer: ";
    cin >> n; // 用户输入一个正整数 n

    // 循环从 1 到 n
    for (int i = 1; i <= n; i++) {
        // 如果 i 能同时被 3 和 5 整除
        if (i % 3 == 0 && i % 5 == 0) {
            cout << "FizzBuzz" << endl;
        }
        // 如果 i 只能被 3 整除
        else if (i % 3 == 0) {
            cout << "Fizz" << endl;
        }
        // 如果 i 只能被 5 整除
        else if (i % 5 == 0) {
            cout << "Buzz" << endl;
        }
        // 如果 i 不能被 3 或 5 整除
        else {
            cout << i << endl;
        }
    }
    return 0;
}

当用户输入一个正整数,比如说 15,预期输出应为:

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz

在这个代码示例中,for 循环用于生成 1 到 n 的连续整数。在每次迭代中,程序都会检查当前的数字(i)是否同时能被 3 和 5 整除、只能被 3 整除、或者只能被 5 整除。基于这些条件检查的结果,程序将输出相应的字符串或数字。使用模运算符(%)来判断一个数是否能被另一个数整除。这是一个经典的编程问题,通常称为 FizzBuzz。

文章来源:https://blog.csdn.net/weixin_44738632/article/details/135726194
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。