C++ 入门02:控制结构和循环

往期回顾:

C++ 入门01:初识 C++


一、前言

在上一篇文章学习中,我们了解了 C++ 程序的基本结构、注释、数据类型、变量以及输入输出的基本用法。这一篇,我们将继续深入学习 C++ 的控制结构和循环。

二、控制结构和循环

2.1、 条件语句

条件语句是编程中非常重要的一部分,它们允许程序根据特定的条件或条件组合来决定执行哪段代码。在C++中,条件语句是控制流的一种形式,用于根据表达式的值(真或假)来决定程序的执行路径。C++ 中常见的条件语句有 if 语句、else if 语句和 else 语句。

(1)if 语句

C++中最基本的条件语句是if语句。它允许程序检查一个条件,如果条件为真(即表达式的值为非零),则执行一段特定的代码块。如果条件为假(即表达式的值为零),则跳过该代码块,继续执行if语句之后的代码。

示例:

#include <iostream>

int main() {
    int age;
    std::cout << "Enter your age: ";
    std::cin >> age;

    if (age >= 18) {
        std::cout << "You are an adult." << std::endl;
    }

    return 0;
}

(2)else 语句

else语句是可选的,它用于if(或else if)语句之后,以指定当所有前面的条件都不满足时应执行的代码块。这是一种确保至少有一段代码被执行的方法,无论条件如何。

示例:

#include <iostream>

int main() {
    int age;
    std::cout << "Enter your age: ";
    std::cin >> age;

    if (age >= 18) {
        std::cout << "You are an adult." << std::endl;
    } else {
        std::cout << "You are not an adult." << std::endl;
    }

    return 0;
}

 (3)else if 语句

else if语句是if语句的扩展,它允许程序检查多个条件。当第一个if语句的条件不满足时,else if语句会检查其条件,如果满足,则执行相应的代码块。这个过程可以重复进行,以检查多个条件。

 示例:

#include <iostream>

int main() {
    int score;
    std::cout << "Enter your score: ";
    std::cin >> score;

    if (score >= 90) {
        std::cout << "Grade: A" << std::endl;
    } else if (score >= 80) {
        std::cout << "Grade: B" << std::endl;
    } else if (score >= 70) {
        std::cout << "Grade: C" << std::endl;
    } else {
        std::cout << "Grade: F" << std::endl;
    }

    return 0;
}

2.2、循环语句 

循环语句在C++中用于重复执行一段代码块,直到满足特定的条件为止。C++提供了三种基本的循环结构:for循环、while循环和do-while循环,每种循环都有其特定的用途和语法。

(1)for 循环

for循环是最常用的循环结构之一,它特别适用于当你知道循环需要执行的确切次数时。for循环的语法如下:
for (初始化表达式; 循环条件; 更新表达式) {  
    // 循环体  
}

初始化表达式

在循环开始前执行一次,通常用于初始化一个或多个循环控制变量。
循环条件 在每次循环开始前检查。如果条件为真(非零),则执行循环体;如果为假(零),则退出循环。
更新表达式 在每次循环体执行完毕后执行,通常用于更新循环控制变量的值。

示例:

#include <iostream>

int main() {
    for (int i = 0; i < 5; i++) {
        std::cout << "i = " << i << std::endl;
    }

    return 0;
}

(2)while 循环

while循环在给定条件为真时重复执行一段代码。与for循环不同,while循环没有内置的初始化或更新表达式;这些操作需要在循环体内部或通过其他方式完成。while循环的语法如下:
while (循环条件) {  
    // 循环体  
    // 更新循环控制变量的值(通常在循环体内)  
}

注意:如果循环条件在循环开始前就为假,则循环体一次也不会执行。 

 示例:

#include <iostream>

int main() {
    int i = 0;
    while (i < 5) {
        std::cout << "i = " << i << std::endl;
        i++;
    }

    return 0;
}

(3)do-while 循环

do-while循环与while循环类似,但主要区别在于do-while循环至少会执行一次循环体,因为循环体的执行是在检查循环条件之前进行的。do-while循环的语法如下:
do {  
    // 循环体  
    // 更新循环控制变量的值(通常在循环体内)  
} while (循环条件);

注意:无论循环条件在循环开始前是否为真,do-while循环的循环体都会至少执行一次。然后,在每次循环体执行完毕后,都会检查循环条件;如果条件为真,则继续执行循环体;如果为假,则退出循环。 

示例:

#include <iostream>

int main() {
    int i = 0;
    do {
        std::cout << "i = " << i << std::endl;
        i++;
    } while (i < 5);

    return 0;
}

 2.3、 跳转语句

跳转语句用于控制循环的执行,在循环结构中改变执行流程。break 和 continue 是两种常用的跳转语句,它们主要在循环(如 forwhiledo-while 循环)中使用,但也可以在其他控制结构中(如 switch 语句)中看到 break 的使用。

(1)break 语句

break 语句用于完全终止当前所在的循环,即无论是哪种类型的循环,break 都会使程序控制流跳出该循环,并继续执行循环之后的语句。这在某些条件达成后希望提前退出循环时非常有用。

示例:

#include <iostream>

int main() {
    for (int i = 0; i < 10; i++) {
        if (i == 5) {
            break;
        }
        std::cout << "i = " << i << std::endl;
    }

    return 0;
}

(2)continue 语句 

continue 语句用于跳过当前循环的剩余部分,并直接开始下一次循环的迭代(如果有的话)。这意味着 continue 后面的所有语句在当前迭代中都不会被执行,程序控制流会回到循环的顶部,重新评估循环条件,并可能开始下一次迭代。

 示例:

#include <iostream>

int main() {
    for (int i = 0; i < 10; i++) {
        if (i == 5) {
            continue;
        }
        std::cout << "i = " << i << std::endl;
    }

    return 0;
}

注意:

break 和 continue 语句通常与条件语句(如 if)结合使用,以在特定条件下改变循环的执行流程。

break 可以用于 switch 语句中,用于退出整个 switch 块。
在嵌套循环中,break 只会退出最内层的循环。如果需要退出多层循环,可以考虑使用标签(在 Java、C# 等语言中)或其他逻辑控制手段。
continue 语句不适用于循环之外的任何地方,因为它是设计用来影响循环内部流程控制的。

以上就是 C++ 中的控制结构和循环基本用法的知识点了。

都看到这里了,点个赞再走呗朋友~

加油吧,预祝大家变得更强!

相关推荐

  1. C++ 入门02控制结构循环

    2024-07-09 18:54:03       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-09 18:54:03       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-09 18:54:03       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-09 18:54:03       57 阅读
  4. Python语言-面向对象

    2024-07-09 18:54:03       68 阅读

热门阅读

  1. C++多线程和循环队列

    2024-07-09 18:54:03       27 阅读
  2. 了解安全端口

    2024-07-09 18:54:03       31 阅读
  3. 使用Spring Boot和Couchbase实现NoSQL数据库

    2024-07-09 18:54:03       30 阅读
  4. R语言学习笔记3-基本类型篇

    2024-07-09 18:54:03       26 阅读
  5. pytorch通过 tensorboardX 调用 Tensorboard 进行可视化

    2024-07-09 18:54:03       25 阅读
  6. PHP框架详解 - symfony框架

    2024-07-09 18:54:03       29 阅读
  7. PyTorch简介

    2024-07-09 18:54:03       32 阅读
  8. Apache AGE vs Neo4j

    2024-07-09 18:54:03       27 阅读