我是靠谱客的博主 幽默书包,最近开发中收集的这篇文章主要介绍八、C++中的循环 for while do...while及控制流语句,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

(1) for、while、do...while循环

简单来讲,循环就是多次执行同样的代码

例,如何输出重复内容多次:①代码复制多次;②写个函数调用多次;③写循环重复执行代码5次

1、for循环

for循环括号中有三部分,每部分用“;”分隔开。

        第一部分是变量声明,一般在此处声明临时变量,通常为int i=0;i代表迭代器(iterator),实际上变量名与变量初值都无所谓。在for循环之前执行一次。

        第二部分是条件,满足条件时,一直执行for循环中的代码。布尔值,执行每一次循环前会检验。

        第三部分是下次for循环前会执行的代码。每次循环结束后执行的代码。

for循环下是循环体,即for循环中会重复执行代码(由条件决定是否多次执行,可能根本不执行)。

#include <iostream>
#include "Log.h"
int main()
{
for (int i = 0; i < 5; i++)
{
Log("Hello World!");
}
std::cin.get();
}

首先执行for循环这一行,创造变量i,再检查条件是否为真。条件为真,跳进循环体,执行循环体代码,执行到}时,执行for()中的第三部分,即i++,i由0变1,然后再检查条件i<5?条件为真再执行循环体代码。直到i=4的一次循环最后i++变成了5,不满足条件然后退出循环。执行for循环下方的代码std::cin.get();

变量声明放在for前,然后空着第一部分也可以。第三部分放在循环体的最后结果也一样。for循环非常灵活。

#include <iostream>
#include "Log.h"
int main()
{
int i = 0;
bool condition = true;
for ( ; i < 5; )
{
Log("Hello World!");
i++;
if(!(i < 5))
condition = false;
}
std::cin.get();
}

for循环的三个部分中甚至可以调用函数。第二部分如果时true循环就变成了死循环。

2、while循环

while循环类似for循环,没有第一部分的声明和结尾第三部分的代码,只有第二部分的条件。

声明需要在while循环之前,循环末尾执行第三部分代码(循环后、下次循环前执行的代码)。

#include <iostream>
#include "Log.h"
int main()
{
for (int i = 0; i < 5; i++ )
{
Log("Hello World!");
}
Log("-------分割线-------");
int i = 0;//为while循环声明变量,for循环内定义的i作用域只在for循环内
while (i < 5)
{
Log("Hello");
i++;
}
std::cin.get();
}

什么时候使用while循环?什么时候使用for循环?主要取决于是否需要新变量。从经验上来讲,如果已经有用来检验的布尔值,选择while循环,不用每次循环都改变条件,循环前不用去声明变量(已通过布尔条件值进行了声明)。而在遍历数组的时候,数组大小确定时,选择for循环,因为每次循环都会产生新的变量,这个变量在访问数组的时候有用,访问数组元素时需要偏移量或者索引。

3、do...while循环

do {循环体 }while(条件);不太常用

do...while循环与while循环的区别:do...while循环至少会被执行一次

do...while循环即使条件为假,也会运行一下里面的代码,而不是想while循环一样跳过,运行到最后while的条件,发现为假,循环结束

#include <iostream>
#include "Log.h"
int main()
{
for (int i = 0; i < 5; i++ )
{
Log("Hello World!");
}
Log("-------分割线-------");
int i = 0;//为while循环声明变量,for循环内定义的i作用域只在for循环内
while (i < 5)
{
Log("Hello");
i++;
}
Log("-------分割线-------");
do
{
Log("Hello");
} while (i < 5);
std::cin.get();
}

14

(2)控制流语句 continue、break、return

1、continue 只能用于循环内部;如果还能进行迭代的话,直接进入下一次迭代,否则就结束循环。

int main()
{
for (int i = 0; i < 5; i++ )
{
Log("Hello World!");
continue;//此处continue不会影响整体循环
}
std::cin.get();
#include <iostream>
#include "Log.h"
int main()
{
for (int i = 0; i < 5; i++ )
{
if (i % 2 == 0)
continue;//跳过偶数次迭代(i=0、2、4)
Log("Hello World!");
std::cout << i << std::endl;
}
std::cin.get();
}

 输出结果:

只要运行到continue,就开始了下一次循环的迭代

2、break 主要用于循环,但也经常出现在switch语句中 功能:直接跳出循环

#include <iostream>
#include "Log.h"
int main()
{
for (int i = 0; i < 5; i++ )
{
if (i > 1)
break;//i=2时遇到break,循环结束
Log("Hello World!");
std::cout << i << std::endl;
}
std::cin.get();

运行结果:

 i=2时执行break语句,跳出循环。运行到break时循环就结束。

3、return 直接完全退出函数 函数需要返回值,当输入return上下文(context)自动返回

yoid可以直接用return。如果函数需要返回值,在输入return的时候就必须要提供值。

return是需要一个整数作为返回值的函数


#include <iostream>
#include "Log.h"
int main()
{
for (int i = 0; i < 5; i++ )
{
if (i > 1)
std::cin.get();//保持输出窗口常开
return 1;
Log("Hello World!");
std::cout << i << std::endl;
}
std::cin.get();
}

结果:返回代码为1.

遇到return,自动退出当前函数并返回值,return不用像break和continue那样在循环内使用。return可以被写在任何地方。

控制流语句控制程序的运行,循环、控制流、条件语句本身就是逻辑编程的本质,是用来控制程序运行的工具。

15

最后

以上就是幽默书包为你收集整理的八、C++中的循环 for while do...while及控制流语句的全部内容,希望文章能够帮你解决八、C++中的循环 for while do...while及控制流语句所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部