09 C++ 中的循环(while循环、do-while循环、for循环及嵌套循环)

系列文章目录

09 C++ 中的循环(while循环、do-while循环、for循环及嵌套循环)


目录

系列文章目录

文章目录

前言

一、C++ 中的 while 循环

二、C++ for 循环

三、C++ do...while 循环

四、C++ 嵌套循环

总结


前言

C++中的循环指的是重复执行一段程序代码的结构。循环语句可以让程序重复执行某一段代码,直到满足某一条件,或者达到某一次数的执行次数。

常见的循环语句有while循环、do-while循环和for循环。循环语句是C++语言中基本的控制结构之一,可以帮助程序员编写高效、简洁的程序。下面让我们来逐个学习。


一、C++ 中的 while 循环

基本语法:

while(condition)
{
   statement(s);
}

在这里,statement(s) 可以是一个单独的语句,也可以是几个语句组成的代码块。condition 可以是任意的表达式,当为任意非零值时都为真。当条件为真时执行循环。

当条件为假时,程序流将继续执行紧接着循环的下一条语句。

下面是一个例子:

#include <iostream>
using namespace std;
 
int main ()
{
   // 局部变量声明
   int a = 0;

   // while 循环执行
   while( a < 5 )
   {
       cout << "a 的值:" << a << endl;
       a++;
   }
 
   return 0;
}

输出是:0,1,2,3,4 

二、C++ for 循环

基本语法如下:

for ( init; condition; increment )
{
   statement(s);
}

下面是 for 循环的控制流:

  1. init 会首先被执行,且只会执行一次。这一步允许您声明并初始化任何循环控制变量。您也可以不在这里写任何语句,只要有一个分号出现即可。
  2. 接下来,会判断 condition。如果为真,则执行循环主体。如果为假,则不执行循环主体,且控制流会跳转到紧接着 for 循环的下一条语句。
  3. 在执行完 for 循环主体后,控制流会跳回上面的 increment 语句。该语句允许您更新循环控制变量。该语句可以留空,只要在条件后有一个分号出现即可。
  4. 条件再次被判断。如果为真,则执行循环,这个过程会不断重复(循环主体,然后增加步值,再然后重新判断条件)。在条件变为假时,for 循环终止。

 下面是一个示例代码:

#include <iostream>
using namespace std;
 
int main ()
{
   // for 循环执行
   for( int a = 0; a < 5; a++ )
   {
       cout << "a 的值:" << a << endl;
   }
 
   return 0;
}

输出是:0,1,2,3,4  

三、C++ do...while 循环

基本语法如下:

do
{
   statement(s);

}while( condition );

条件表达式出现在循环的尾部,所以循环中的 statement(s) 会在条件被测试之前至少执行一次。

如果条件为真,控制流会跳转回上面的 do,然后重新执行循环中的 statement(s)。这个过程会不断重复,直到给定条件变为假为止。

下面是一个示例代码:

#include <iostream>
using namespace std;
 
int main ()
{
   // 局部变量声明
   int a = 0;

   // do 循环执行
   do
   {
       cout << "a 的值:" << a << endl;
       a ++;
   }while( a < 5 );
 
   return 0;
}

 输出是:0,1,2,3,4 

四、C++ 嵌套循环

嵌套循环很简单,顾名思义,一个循环内可以嵌套另一个循环。C++ 允许至少 256 个嵌套层次。

下面是一些基本语法:

# for循环
for ( init; condition; increment )
{
   for ( init; condition; increment )
   {
      statement(s);
   }
   statement(s); // 可以继续加语句
}



# while循环
while(condition)
{
   while(condition)
   {
      statement(s);
   }
   statement(s); // 可以继续加语句
}



# do while 循环
do
{
   statement(s); // 可以继续加语句
   do
   {
      statement(s);
   }while( condition );
 
}while( condition );

下面是一个简单示例:

#include <iostream>

using namespace std;

int main()
{
    // 循环输出乘法表
    for (int i = 1; i <= 9; i++) {
        for (int j = 1; j <= i; j++) {
            cout << j << "*" << i << "=" << i * j << "\t";
        }
        cout << endl;
    }

    return 0;
}

输出结果如下:

1*1=1	
1*2=2	2*2=4	
1*3=3	2*3=6	3*3=9	
1*4=4	2*4=8	3*4=12	4*4=16	
1*5=5	2*5=10	3*5=15	4*5=20	5*5=25	
1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	
1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	
1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	
1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81


总结

下面是使用C++ 中的循环注意事项总结:

  1. 循环条件的控制:循环条件必须在循环内部得到更新和控制,否则将可能出现无限循环的情况。

  2. 循环范围的控制:循环体内的代码必须正确、清晰地控制循环范围。特别是在嵌套循环中,需要清楚地记住每个循环的范围。

  3. 循环体的顺序:在循环体内,语句的顺序和执行顺序必须清楚明确,尤其是涉及到多个语句的组合和顺序。

  4. 循环终止条件:循环终止条件必须正确地判断和控制,避免出现死循环或过早退出循环的情况。

  5. 循环控制语句的使用:循环控制语句包括 break、continue、return等,必须正确地使用,并注意在嵌套循环中的作用和影响。

  6. 循环计数器的初始化和更新:循环计数器的初始化必须清晰明确,更新时必须符合循环条件,避免引发错误或死循环。

  7. 循环的嵌套:在涉及到多个循环的嵌套时,必须注意各个循环之间的关系和作用,并严格控制每个循环的范围和变量的作用域。

  8. 循环的效率和优化:在需要进行大量循环计算的程序中,必须注意循环的效率和优化,尽可能减少循环次数和不必要的计算。

### C语言中的 `do...while` 用法 `do...while` 是一种循环结构,其特点是在每次进入循环前都会先执行一次循环体,然后再根据条件决定是否再次执行。这种特性使得即使条件一开始就不成立,循环体也会被执行至少一次。 #### 基本语法 以下是 `do...while` 的基本语法: ```c do { // 循环体代码 } while (条件); ``` - **循环体**:这是需要重复执行的代码块。 - **条件**:这是一个布尔表达式,用来判断是否继续执行循环体。如果为真 (`true`),则继续执行;如果为假 (`false`),则退出循环。 需要注意的是,在 `do...while` 结构中,条件判断位于循环体之后,因此无论条件如何,循环体会被无条件地执行一次[^1]。 #### 示例代码 下面是一个简单的例子,展示如何使用 `do...while` 来让用户不断输入数字,直到输入负数为止: ```c #include <stdio.h> int main() { int num; do { printf("请输入一个整数(输入负数结束): "); scanf("%d", &num); if (num >= 0) { printf("您输入的数字是:%d\n", num); } } while (num >= 0); printf("程序已结束。\n"); return 0; } ``` 在这个示例中,用户会被要求持续输入正数或零,只有当他们输入了一个负数时,循环才会停止。由于采用了 `do...while` 结构,所以即便第一次输入就是负数,系统仍然会先进入循环体完成一次处理逻辑[^4]。 #### Java 中的 `do...while` 在其他编程语言如 Java 中,`do...while` 的工作原理相同。这里提供一段类似的 Java 版本代码作为补充说明: ```java import java.util.Scanner; public class DoWhileExample { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int input; do { System.out.print("Enter a positive integer or negative to exit:"); input = scanner.nextInt(); if(input >= 0){ System.out.println("You entered:" + input); } } while (input >= 0); System.out.println("Exiting..."); scanner.close(); } } ``` 此段代码展示了同样的概念——即先执行后测试的特点[^2]。 #### 关键点解释 1. **最少执行次数**:因为条件检查发生在循环体之后,所以无论如何,循环体内的代码都将被执行至少一次。 2. **结尾分号不可省略**:与某些其他类型的循环不同,`do...while` 需要在最后加上分号来标记整个语句的结束[^3]。 ### 总结 无论是哪种编程语言,只要涉及到需要确保某段代码至少运行一次的情况,都可以考虑使用 `do...while` 循环。这不仅限于简单的人机交互应用,也可以扩展至更复杂的业务流程控制之中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓亮.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值