C/C++中for語(yǔ)句循環(huán)用法以及練習(xí)舉例
for 循環(huán)允許您編寫一個(gè)執(zhí)行特定次數(shù)的循環(huán)的重復(fù)控制結(jié)構(gòu)。
語(yǔ)法
C++ 中 for 循環(huán)的語(yǔ)法:
int n=10; for(int i;i<=n;i++) { cout<<"點(diǎn)贊+關(guān)注,愛你么么噠"; }
下面是 for 循環(huán)的控制流:
- init 會(huì)首先被執(zhí)行,且只會(huì)執(zhí)行一次。這一步允許您聲明并初始化任何循環(huán)控制變量。您也可以不在這里寫任何語(yǔ)句,只要有一個(gè)分號(hào)出現(xiàn)即可。
- 接下來,會(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è)過程會(huì)不斷重復(fù)(循環(huán)主體,然后增加步值,再然后重新判斷條件)。在條件變?yōu)榧贂r(shí),for 循環(huán)終止。
實(shí)例
#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 類型也是 C++11 新標(biāo)準(zhǔn)中的,用來自動(dòng)獲取變量的類型 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 語(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)不能省略。
常見的是:將表達(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; }
可寫成如下形式:
i=1; sum=0; for ( ;i<=100; ) { sum+=i; i++; } // 等效于while循環(huán)
表達(dá)式2也可省略,寫成:
for (; ;) {…}
此時(shí),系統(tǒng)約定表達(dá)式2的值為 1,即恒為真,則等同于:
for (; 1;) {…}
題目 1149:
C語(yǔ)言訓(xùn)練-計(jì)算1~N之間所有奇數(shù)之和
時(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; }
環(huán)形方陣
#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; }
干貨直達(dá)
只要存在特定條件,就執(zhí)行條件循環(huán)。例如,只要輸入值無效,就會(huì)執(zhí)行輸入驗(yàn)證循環(huán)。在編寫一個(gè)條件循環(huán)時(shí),無法知道它將迭代的次數(shù)。
有時(shí)候程序員知道循環(huán)必須執(zhí)行的確切迭代次數(shù)。重復(fù)特定次數(shù)的循環(huán)稱為計(jì)數(shù)控制循環(huán)。例如,如果一個(gè)循環(huán)要求用戶輸入一年中每個(gè)月的銷售金額,則它將迭代 12 次。這實(shí)際上意味著,循環(huán)數(shù)為 12,并要求用戶在每次計(jì)數(shù)時(shí)輸入銷售金額。
計(jì)數(shù)控制循環(huán)必須具有 3 個(gè)要素:
- 必須將計(jì)數(shù)器變量初始化為起始值。
- 必須通過將其與最終值進(jìn)行比較來測(cè)試計(jì)數(shù)器變量。當(dāng)計(jì)數(shù)器變量達(dá)到其最終值時(shí),循環(huán)終止。
- 必須在每次迭代期間更新計(jì)數(shù)器變量。這通常通過變量遞增來完成。
前面已經(jīng)介紹過,通過使用 while循環(huán)來創(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á)式之后沒有分號(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 說明了循環(huán)執(zhí)行過程中發(fā)生的事件順序。
請(qǐng)注意如何使用計(jì)數(shù)器變量 count 來控制循環(huán)迭代的次數(shù)。它的值從 1 開始,每次循環(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ù)器變量。例如,來看下面的代碼:
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)容。
下面的程序通過使用 for 循環(huán)而不是 while 循環(huán)來顯示數(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; }
總結(jié)
到此這篇關(guān)于C/C++中for語(yǔ)句循環(huán)用法以及練習(xí)舉例的文章就介紹到這了,更多相關(guān)C/C++中for語(yǔ)句循環(huán)用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語(yǔ)言代碼實(shí)現(xiàn)簡(jiǎn)單三子棋游戲
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言代碼實(shí)現(xiàn)簡(jiǎn)單三子棋游戲,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07基于C++實(shí)現(xiàn)日期計(jì)算器的詳細(xì)教程
在現(xiàn)代社會(huì)中,計(jì)算器已經(jīng)進(jìn)入了每一個(gè)家庭,人們?cè)谏詈蛯W(xué)習(xí)中經(jīng)常需要使用到計(jì)算器,下面這篇文章主要給大家介紹了關(guān)于基于C++實(shí)現(xiàn)日期計(jì)算器的相關(guān)資料,需要的朋友可以參考下2022-06-06C語(yǔ)言入門篇--sizeof與strlen基礎(chǔ)理論
本篇文章是c語(yǔ)言基礎(chǔ)篇,主要為大家介紹了C語(yǔ)言的sizeof與strlen的基本理論知識(shí),希望可以幫助大家快速入門c語(yǔ)言的世界,更好的理解c語(yǔ)言2021-08-08C++實(shí)現(xiàn)轉(zhuǎn)置矩陣的循環(huán)
大家好,本篇文章主要講的是C++實(shí)現(xiàn)轉(zhuǎn)置矩陣的循環(huán),感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2022-01-01C語(yǔ)言中等待socket連接和對(duì)socket定位的方法
這篇文章主要介紹了C語(yǔ)言中等待socket連接和對(duì)socket定位的方法,分別為listen()函數(shù)和bind()函數(shù)的用法,需要的朋友可以參考下2015-09-09C語(yǔ)言學(xué)習(xí)之柔性數(shù)組詳解
結(jié)構(gòu)體的最后一個(gè)元素允許是未知大小的數(shù)組,這就叫柔性數(shù)組。這篇文中主要為大家詳細(xì)介紹了C語(yǔ)言中柔性數(shù)組的相關(guān)知識(shí),需要的可以了解一下2023-03-03在C/C++與Python之間實(shí)現(xiàn)通信的常見方法
在C/C++與Python之間實(shí)現(xiàn)通信的方式有很多,本文給大家介紹了一些常見的方法,文中通過代碼示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-12-12C++11中跳轉(zhuǎn)initializer_list實(shí)現(xiàn)分析
這篇文章主要介紹了C++11中跳轉(zhuǎn)initializer_list實(shí)現(xiàn)分析,實(shí)例分析initializer_list<T>初體驗(yàn),結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04C語(yǔ)言鏈表實(shí)現(xiàn)歌手評(píng)分系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言鏈表實(shí)現(xiàn)歌手評(píng)分系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03