C++学习(一)_循环结构

C语言循环控制语句是一个基于C语言的编程语句,该语句主要有while循环语句、do-while循环语句和for循环语句来实现循环结构。

while 循环

结构:
while (表达式){
	语句1;
	语句2;
	...
}

只要控制表达式为 true,while 循环就会反复地执行语句。

while 表达式是顶部驱动(top-driven)的循环:即先判断循环条件(也就是控制表达式)。如果为 true,就执行循环体,然后再次判断控制表达式。如果控制表达式为 false,该循环结束。

例1:使用while循环计算自然数1-10的和。
#include<iostream>

using namespace std;

int main()
{
	int i = 1;
	int sum = 0;
	while(i <= 10){
		sum += i;
		i++;
	}
	cout << "1-10的和为" << sum << endl;
	
	return 0;
}

for 循环

和 while 一样,for 循环也是一个顶部驱动的循环

for([表达式1];[表达式2];[表达式3]){
	语句1;
	语句2;
	...
}

在一个常规的 for 循环中,在循环体顶部,下述三个动作需要执行:

  1. 表达式1:循环变量初始化
  2. 表达式2:判断是否需要继续本轮循环。当表达式2的结果为 false,结束循环。
  3. 表达式3:循环变量自增或自减

Note:

  1. for 循环头部中的三个表达式可以省略一个或多个。
  2. 如果没有控制表达式,则表示循环条件始终是 true。
  3. 一般来说,当循环内有计数器或索引变量需要被初始化,并且在每次循环时需要调整它们的值时,最好使用 for 循环,而不是 while 循环。

事实上,每个 for 循环都可以被改写成 while 循环,反之亦然。

将例1改写为for循环:

#include<iostream>

using namespace std;

int main()
{
	int i;
	int sum = 0;
	for(i = 1; i <= 10; i++){
		sum += i;
	}
	cout << "1-10的和为" << sum << endl;
	
	return 0;
}

do while循环

do{
	语句1;
	语句2;
	...
} while(表达式);

注意:与 while 和 for 循环不同的是,do...while 循环会确保循环体语句至少执行一次。即在控制表达式被第一次计算之前,循环体语句会首先被执行一次。

将例1改写为do while循环:

#include<iostream>

using namespace std;

int main()
{
	int i = 1;
	int sum = 0;
	do{
		sum += i;
		i++;
	} while(i <= 10);
	cout << "1-10的和为" << sum << endl;
	
	return 0;
}

三种循环辅助控制性语句(break,continue,goto)

1.break

break 可以用来从循环体中跳出循环体,即提前结束循环.

注意:

  1. break不能和循环语句和switch语句以外的语句连用;
  2. break 对if-else 不起作用
  3. break语句只能向外跳出一层
例1(改):当i循环到5时,使用break跳出循环

#include<iostream>

using namespace std;

int main()
{
	int i;
	int sum = 0;
	for(i = 1; i <= 10; i++){
		sum += i;
		if(i == 5){
			break;
		}
	}
	cout << "1-10的和为" << sum << endl;
	
	return 0;
}

运行结果为:1-10的和为15.

证明break语句使得循环提前结束

2.continue

用来结束本次循环(即跳过循环体中尚未执行的部分),接着执行循环是否执行的判断.

例2:输出100以内的能被3整除的数
#include<iostream>

using namespace std;

int main()
{
    int i;
    for(i = 1; i <= 100; i++)
    {
        if(i % 3 == 0){
        	cout << i << '\t'; 
        	continue;
        }
			      
        if(i % 3 != 0)
            continue;
        cout << i << '\t';//由于continue语句,该句不会被执行
    }
    return 0;
}
3.goto

goto语句也称为无条件转移语句,其一般格式如下:

goto 语句标号;

其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标号后加冒号(😃。语句标号起标识语句的作用,与goto 语句配合使用。

goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。

但是,在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。

以上为我总结的C++上循环结构的基本内容,如有错误,敬请指正。

posted @ 2019-09-13 10:25  美团骑手阿霖  阅读(368)  评论(1编辑  收藏  举报