whlie?
語法
C++ 中?while?循環(huán)的語法:
while(condition) { statement(s); }
在這里,statement(s)?可以是一個單獨的語句,也可以是幾個語句組成的代碼塊。condition?可以是任意的表達式,當為任意非零值時都為真。當條件為真時執(zhí)行循環(huán)。
當條件為假時,程序流將繼續(xù)執(zhí)行緊接著循環(huán)的下一條語句。
流程圖
在這里,while?循環(huán)的關鍵點是循環(huán)可能一次都不會執(zhí)行。當條件被測試且結果為假時,會跳過循環(huán)主體,直接執(zhí)行緊接著 while 循環(huán)的下一條語句。
實例
實例
#include <iostream>
using?namespace?std;
?
int?main?()
{
? ?// 局部變量聲明
? ?int?a?=?10;
? ?// while 循環(huán)執(zhí)行
? ?while(?a?<?20?)
? ?{
? ? ? ?cout?<<?"a 的值:"?<<?a?<<?endl;
? ? ? ?a++;
? ?}
?
? ?return?0;
}
當上面的代碼被編譯和執(zhí)行時,它會產生下列結果:
a 的值: 10 a 的值: 11 a 的值: 12 a 的值: 13 a 的值: 14 a 的值: 15 a 的值: 16 a 的值: 17 a 的值: 18 a 的值: 19
當 while() 中的條件值為 0 時,循環(huán)就結束了。
開始 y = 10,每循環(huán)一次 y 的值就減 1(y-- 會導致 y 減 1),當 y 值一直減到 0 時,退出 while 循環(huán),但是還要繼續(xù)做 y --操作,所以 y 最后的值就是 -1。
for
語法
C++ 中?for?循環(huán)的語法:
for ( init; condition; increment ) { statement(s); }
下面是 for 循環(huán)的控制流:
- init?會首先被執(zhí)行,且只會執(zhí)行一次。這一步允許您聲明并初始化任何循環(huán)控制變量。您也可以不在這里寫任何語句,只要有一個分號出現(xiàn)即可。
- 接下來,會判斷?condition。如果為真,則執(zhí)行循環(huán)主體。如果為假,則不執(zhí)行循環(huán)主體,且控制流會跳轉到緊接著 for 循環(huán)的下一條語句。
- 在執(zhí)行完 for 循環(huán)主體后,控制流會跳回上面的?increment?語句。該語句允許您更新循環(huán)控制變量。該語句可以留空,只要在條件后有一個分號出現(xiàn)即可。
- 條件再次被判斷。如果為真,則執(zhí)行循環(huán),這個過程會不斷重復(循環(huán)主體,然后增加步值,再然后重新判斷條件)。在條件變?yōu)榧贂r,for 循環(huán)終止。
流程圖
實例
#include <iostream>
using namespace std;
?
int main ()
{
? ?// for 循環(huán)執(zhí)行
? ?for( int a = 10; a < 20; a = a + 1 )
? ?{
? ? ? ?cout << "a 的值:" << a << endl;
? ?}
?
? ?return 0;
}
當上面的代碼被編譯和執(zhí)行時,它會產生下列結果:
a 的值: 10 a 的值: 11 a 的值: 12 a 的值: 13 a 的值: 14 a 的值: 15 a 的值: 16 a 的值: 17 a 的值: 18 a 的值: 19
基于范圍的for循環(huán)(C++11)
for 語句允許簡單的范圍迭代:
int my_array[5] = {1, 2, 3, 4, 5};
// 每個數(shù)組元素乘于 2
for (int &x : my_array)
{
? ? x *= 2;
? ? cout << x << endl; ?
}
// auto 類型也是 C++11 新標準中的,用來自動獲取變量的類型
for (auto &x : my_array) {
? ? x *= 2;
? ? cout << x << endl; ?
}
上面for述句的第一部分定義被用來做范圍迭代的變量,就像被聲明在一般for循環(huán)的變量一樣,其作用域僅只于循環(huán)的范圍。而在":"之后的第二區(qū)塊,代表將被迭代的范圍。
實例
#include<iostream> ?
#include<string> ?
#include<cctype> ?
using namespace std; ?
??
int main() ?
{ ?
? ? string str("some string"); ?
? ? // range for 語句 ?
? ? for(auto &c : str) ?
? ? { ?
? ? ? ? c = toupper(c); ?
? ? } ?
? ? cout << str << endl; ?
? ? return 0; ?
}
上面的程序使用Range for語句遍歷一個字符串,并將所有字符全部變?yōu)榇髮懀缓筝敵鼋Y果為:文章來源:http://www.zghlxwxcb.cn/news/detail-477535.html
SOME STRING?
這次的題是OpenJudge的1.5編程基礎之循環(huán)控制文章來源地址http://www.zghlxwxcb.cn/news/detail-477535.html
05:最高的分數(shù)
03:均值
到了這里,關于C++入門教程||C++while循環(huán)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!