【C++ 入坑指南】(08)循环

在这里插入图片描述

有的时候,可能需要多次执行同一块代码。一般情况下,语句是顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。

编程语言提供了允许更为复杂的执行路径的多种控制结构。

一、while 循环

作用:满足循环条件,执行循环语句。

语法while(循环条件){循环语句块}

流程图
在这里插入图片描述
示例

#include <iostream>

using namespace std;

int main()
{
    
    
	int sum = 0, val = 50;
	// 只要 val 的值小于等于10,while 循环就会持续执行
	while (val <= 100)
	{
    
    
		sum += val;  // 将 sum + val 赋值给 sum
		++val;       // 将 val + 1
	}
	
	cout << "Sum of 1 to 10 inclusive is " 
		<< sum << endl;

	return 0;
}

二、do…while 循环

作用:满足循环条件,执行循环语句。

语法do{循环语句}while(循环条件)

流程图
在这里插入图片描述

注意:与 while 的区别在于 do … while 会先执行一次循环语句,再判断循环条件。

示例:求所有三位数中的水仙花数。

#include <iostream>

using namespace std;

int main()
{
    
    
	// 求出三位数中,所有的水仙花数
	int num = 100;
	int ge = 0;
	int shi = 0;
	int bai = 0;
	
	do{
    
    
		ge = num % 10;
		shi = num / 10 % 10;
		bai = num / 100;
		if (ge * ge * ge + shi * shi * shi + bai * bai * bai == num) 
		{
    
    
			cout << num << endl;
		}	
		num++;
	} while (num <= 999);

	return 0;
}

三、for 循环

作用:满足循环条件,执行循环语句。

语法for(起始表达式; 条件表达式;末尾循环体){循环语句;}

示例:计算 1~N 之间所有奇数之和。

#include <iostream>

using namespace std;

int main()
{
    
    
	int num = 0;
	int sum = 0;

	cin >> num;

	for (int i = 0; i <= num; i++)
	{
    
    
		if (i % 2 != 0) 
		{
    
    
			sum += i;
		}
	}
	cout << sum << endl;

	return 0;
}

四、嵌套循环

作用:在循环中再嵌套一层循环,解决一些实际问题。

示例:实现九九乘法表

#include <iostream>

using namespace std;

int main()
{
    
    

	for (int i = 1; i <= 9; i++)
	{
    
    
		for (int j = 1; j <= i; j++) 
		{
    
    
			cout << i << " * " << j << " = " << i * j << "  ";
		}
		cout << endl;
	}

	return 0;
}

五、跳转语句

5.1 break 语句

C++ 中 break 语句有以下两种用法:

  • 当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。
  • 它可用于终止 switch 语句中的一个 case。

5.2 continue 语句

C++ 中的 continue 语句有点像 break 语句。但它不是强迫终止,continue 会跳过当前循环中的代码,强迫开始下一次循环。

对于 for 循环,continue 语句会导致执行条件测试和循环增量部分。对于 while 和 do…while 循环,continue 语句会导致程序控制回到条件测试上。

5.3 goto 语句

goto 语句允许把控制无条件转移到同一函数内的被标记的语句。

注意:在任何编程语言中,都不建议使用 goto 语句。因为它使得程序的控制流难以跟踪,使程序难以理解和难以修改。任何使用 goto 语句的程序可以改写成不需要使用 goto 语句的写法。

猜你喜欢

转载自blog.csdn.net/duoduo_11011/article/details/130642278