您好,登錄后才能下訂單哦!
這篇文章主要介紹“C/C++中for語(yǔ)句循環(huán)使用的方法是什么”,在日常操作中,相信很多人在C/C++中for語(yǔ)句循環(huán)使用的方法是什么問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”C/C++中for語(yǔ)句循環(huán)使用的方法是什么”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
for 循環(huán)允許您編寫(xiě)一個(gè)執(zhí)行特定次數(shù)的循環(huán)的重復(fù)控制結(jié)構(gòu)。
C++ 中 for 循環(huán)的語(yǔ)法:
int n=10; for(int i;i<=n;i++) { cout<<"點(diǎn)贊+關(guān)注,愛(ài)你么么噠"; }
init 會(huì)首先被執(zhí)行,且只會(huì)執(zhí)行一次。這一步允許您聲明并初始化任何循環(huán)控制變量。您也可以不在這里寫(xiě)任何語(yǔ)句,只要有一個(gè)分號(hào)出現(xiàn)即可。
接下來(lái),會(huì)判斷 condition。如果為真,則執(zhí)行循環(huán)主體。如果為假,則不執(zhí)行循環(huán)主體,且控制流會(huì)跳轉(zhuǎn)到緊接著 for 循環(huán)的下一條語(yǔ)句。
在執(zhí)行完 for 循環(huán)主體后,控制流會(huì)跳回上面的 increment 語(yǔ)句。該語(yǔ)句允許您更新循環(huán)控制變量。該語(yǔ)句可以留空,只要在條件后有一個(gè)分號(hào)出現(xiàn)即可。
條件再次被判斷。如果為真,則執(zhí)行循環(huán),這個(gè)過(guò)程會(huì)不斷重復(fù)(循環(huán)主體,然后增加步值,再然后重新判斷條件)。在條件變?yōu)榧贂r(shí),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; }
當(dāng)上面的代碼被編譯和執(zhí)行時(shí),它會(huì)產(chǎn)生下列結(jié)果:
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 語(yǔ)句允許簡(jiǎn)單的范圍迭代:
int my_array[5] = {1, 2, 3, 4, 5}; // 每個(gè)數(shù)組元素乘于 2 for (int &x : my_array) { x *= 2; cout << x << endl; } // auto 類(lèi)型也是 C++11 新標(biāo)準(zhǔn)中的,用來(lái)自動(dòng)獲取變量的類(lèi)型 for (auto &x : my_array) { x *= 2; cout << x << endl; }
上面for述句的第一部分定義被用來(lái)做范圍迭代的變量,就像被聲明在一般for循環(huán)的變量一樣,其作用域僅只于循環(huán)的范圍。而在":"之后的第二區(qū)塊,代表將被迭代的范圍。
#include<iostream> #include<string> #include<cctype> using namespace std; int main() { string str("some string"); // range for 語(yǔ)句 for(auto &c : str) { c = toupper(c); } cout << str << endl; return 0; }
for語(yǔ)句的基本格式
題目 1149:
for (表達(dá)式1;表達(dá)式2;表達(dá)式3) { // 循環(huán)體語(yǔ)句 }
for 語(yǔ)句中的三個(gè)表達(dá)式可部分或全部省略,但兩個(gè)分號(hào)不能省略。
常見(jiàn)的是:將表達(dá)式1放在了 for 語(yǔ)句之前,或表達(dá)式3放在了循環(huán)體中,在 for 語(yǔ)句中就可相應(yīng)地省略表達(dá)式1或表達(dá)式3。
如:
for(i=1,s=0; i<=100; i++) { sum += i; }
可寫(xiě)成如下形式:
i=1; sum=0; for ( ;i<=100; ) { sum+=i; i++; } // 等效于while循環(huán)
表達(dá)式2也可省略,寫(xiě)成:
for (; ;) {…}
此時(shí),系統(tǒng)約定表達(dá)式2的值為 1,即恒為真,則等同于:
for (; 1;) {…}
題目 1149:
時(shí)間限制: 1s 內(nèi)存限制: 128MB 提交: 6699 解決: 4978
計(jì)算1~N之間所有奇數(shù)之和
正整數(shù)N
1~N之間所有奇數(shù)之和
復(fù)制
10
樣例輸出
復(fù)制
25
#include<iostream> using namespace std; int main() { int n,i; int sum = 0; cin >> n; for(i = 1; i <= n; i ++) { if(i % 2 != 0) //替換為if(i % 2)的效果是一樣的 sum += i; } cout << sum; return 0; }
#include<iostream> using namespace std; int main() { int a [101][101]; int n,j,i,k; cin>>n; for(k=1;k<=(n+1)/2;k++) { for(i=k;i<=n+1-k;i++) { for(j=k;j<=n+1-k;j++) { a[i][j]; } } } for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { cout<<a[i][j]<<" "; } cout<<endl; } return 0; }
只要存在特定條件,就執(zhí)行條件循環(huán)。例如,只要輸入值無(wú)效,就會(huì)執(zhí)行輸入驗(yàn)證循環(huán)。在編寫(xiě)一個(gè)條件循環(huán)時(shí),無(wú)法知道它將迭代的次數(shù)。
有時(shí)候程序員知道循環(huán)必須執(zhí)行的確切迭代次數(shù)。重復(fù)特定次數(shù)的循環(huán)稱(chēng)為計(jì)數(shù)控制循環(huán)。例如,如果一個(gè)循環(huán)要求用戶輸入一年中每個(gè)月的銷(xiāo)售金額,則它將迭代 12 次。這實(shí)際上意味著,循環(huán)數(shù)為 12,并要求用戶在每次計(jì)數(shù)時(shí)輸入銷(xiāo)售金額。
計(jì)數(shù)控制循環(huán)必須具有 3 個(gè)要素:
必須將計(jì)數(shù)器變量初始化為起始值。
必須通過(guò)將其與最終值進(jìn)行比較來(lái)測(cè)試計(jì)數(shù)器變量。當(dāng)計(jì)數(shù)器變量達(dá)到其最終值時(shí),循環(huán)終止。
必須在每次迭代期間更新計(jì)數(shù)器變量。這通常通過(guò)變量遞增來(lái)完成。
前面已經(jīng)介紹過(guò),通過(guò)使用 while循環(huán)來(lái)創(chuàng)建計(jì)數(shù)控制循環(huán)的方法,但是,由于計(jì)數(shù)控制循環(huán)實(shí)在太常用,所以 C++又提供了另外一種特別適合計(jì)數(shù)控制的循環(huán),即所謂的 for循環(huán)。
與前面介紹的其他循環(huán)一樣,如果循環(huán)體中只有一個(gè)語(yǔ)句,則可以省略大括號(hào)。
for 循環(huán)的第一行是循環(huán)頭。在關(guān)鍵詞 for 之后,括號(hào)內(nèi)有 3 個(gè)表達(dá)式,用分號(hào)分隔(注意第 3 個(gè)表達(dá)式之后沒(méi)有分號(hào)):
第一個(gè)表達(dá)式是初始化表達(dá)式,它通常用于將計(jì)數(shù)器初始化為其起始值。這是循環(huán)執(zhí)行的第一個(gè)動(dòng)作,只做一次。
第二個(gè)表達(dá)式是測(cè)試表達(dá)式。它以與 while 和 do-while 循環(huán)中的測(cè)試表達(dá)式相同的方式測(cè)試條件,并控制循環(huán)的執(zhí)行。只要這個(gè)條件為 true,for 循環(huán)的主體將重復(fù)。與 while 循環(huán)一樣,for 循環(huán)也是一個(gè)預(yù)測(cè)試循環(huán),因此它在每次迭代之前判斷測(cè)試表達(dá)式。
第三個(gè)表達(dá)式是更新表達(dá)式。它在每次迭代結(jié)束時(shí)執(zhí)行。通常,這是一個(gè)遞增循環(huán)計(jì)數(shù)器變量的語(yǔ)句。
以下是一個(gè)簡(jiǎn)單的 for 循環(huán)示例,將打印“Hello”字符串 5 次:
for (count = 1; count <= 5; count++) cout << "Hello" << endl;
在該循環(huán)中,初始化表達(dá)式為 count = 1,測(cè)試表達(dá)式為“count <= 5”,更新表達(dá)式為 count++。循環(huán)的主體只有一個(gè)語(yǔ)句,即 cout 語(yǔ)句。圖 1 說(shuō)明了循環(huán)執(zhí)行過(guò)程中發(fā)生的事件順序。
請(qǐng)注意如何使用計(jì)數(shù)器變量 count 來(lái)控制循環(huán)迭代的次數(shù)。它的值從 1 開(kāi)始,每次循環(huán)迭代之后遞增 1。只要表達(dá)式 "count <= 5" 保持為 true,循環(huán)將重復(fù)迭代。但是,在 5 次迭代之后,count 將變成 6,這導(dǎo)致測(cè)試表達(dá)式變?yōu)?false,所以循環(huán)終止。
還要注意的是,在這個(gè)例子中,count 變量?jī)H在循環(huán)頭中使用,以控制循環(huán)迭代的次數(shù)。它不用于任何其他目的。當(dāng)然,也可以在循環(huán)體內(nèi)使用計(jì)數(shù)器變量。例如,來(lái)看下面的代碼:
for (number = 1; number <= 5; number++) cout << number << " ";
此循環(huán)中的計(jì)數(shù)器變量為 number。除了控制迭代次數(shù)之外,它也被用在循環(huán)體中。此循環(huán)將產(chǎn)生以下輸出:
1 2 3 4 5
可以看到,循環(huán)在每次迭代期間顯示 number 變量的內(nèi)容。
下面的程序通過(guò)使用 for 循環(huán)而不是 while 循環(huán)來(lái)顯示數(shù)字 1?5 及其平方值。
#include <iostream> #include <iomanip> using namespace std; int main() { int num; cout << "Number Square\n"; cout << "--------------\n"; for (num =1; num <= 5; num++) cout << setw (4) << num << setw (7) << (num * num) << endl; return 0; }
到此,關(guān)于“C/C++中for語(yǔ)句循環(huán)使用的方法是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。