300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > C++ 笔记(11)— 循环(while/for/do while/嵌套循环 break/continue/goto 循环控制语句)

C++ 笔记(11)— 循环(while/for/do while/嵌套循环 break/continue/goto 循环控制语句)

时间:2019-02-16 20:40:29

相关推荐

C++ 笔记(11)— 循环(while/for/do while/嵌套循环 break/continue/goto 循环控制语句)

1. while 循环

C++while循环的语法:

while(condition){statement(s);}

2. for 循环

2.1 典型 for 循环

C++for循环的语法:

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

下面是 for 循环的控制流:

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

2.2 C++11 新 for 循环

C++11引入了一种新的for循环,让对一系列值(如数组包含的值)进行操作的代码更容易编写和理解。

基于范围的for循环也使用关键字for:

for (VarType varName : sequence){// dosomething}

通过使用关键字auto来自动推断变量的类型,可编写一个通用的for循环,对任何类型的数组elements进行处理,从而进一步简化前面的for语句:

for (auto anElement : elements) {cout << "Array elements are " << anElement << endl;}

使用示例:

int main(){int a[] = {0,1,2};for(int i: a){cout << "i is " << i << endl;}cout << "#############"<< endl;for(int &j: a){cout << "j is " << j << endl;}cout << "#############"<< endl;for(auto k: a){cout << "k is " << k << endl;}}

3. do…while 循环

do...while循环与while循环类似,但是do...while循环会确保至少执行一次循环。

C++do...while循环的语法:

do{statement(s);}while( condition );

4. 嵌套循环

4.1 嵌套 for 循环

C++中 嵌套for循环 语句的语法:

for ( init; condition; increment ){for ( init; condition; increment ){statement(s);}statement(s); // 可以放置更多的语句}

4.2 嵌套 while 循环

C++中 嵌套while循环 语句的语法:

while(condition){while(condition){statement(s);}statement(s); // 可以放置更多的语句}

4.3 嵌套 do … while 循环

C++中 嵌套do...while循环 语句的语法:

do{statement(s); // 可以放置更多的语句do{statement(s);}while( condition );}while( condition );

5. 循环控制语句

5.1 break

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

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

C++break语句的语法:

break;

5.2 continue

C++中的continue语句会跳过当前循环中的代码,强迫开始下一次循环。

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

5.3 goto

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

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

C++goto语句的语法:

goto label;...label: statement;

在这里,label是识别被标记语句的标识符,可以是任何除C++关键字以外的纯文本。标记语句可以是任何语句,放置在标识符和冒号(:)后边。

goto语句一个很好的作用是退出深嵌套例程:

for(...) {for(...) {while(...) {if(...) goto stop;...}}}stop:cout << "Error in program.\n";

6. 无限循环

无限while循环类似于下面这样:

while(true)// while expression fixed to true{DoSomethingRepeatedly;}

无限do...while循环类似于下面这样:

do{DoSomethingRepeatedly;} while(true);// do...while expression never evaluates to false

而无限for循环类似于下面这样:

for (;;){DoSomethingRepeatedly;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。