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)注,愛(ài)你么么噠";
}下面是 for 循環(huán)的控制流:
- init 會(huì)首先被執(zhí)行,且只會(huì)執(zhí)行一次。這一步允許您聲明并初始化任何循環(huán)控制變量。您也可以不在這里寫任何語(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)終止。

實(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)中的,用來(lái)自動(dòng)獲取變量的類型
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)不能省略。
常見的是:將表達(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)。例如,只要輸入值無(wú)效,就會(huì)執(zhí)行輸入驗(yàn)證循環(huán)。在編寫一個(gè)條件循環(huán)時(shí),無(wú)法知道它將迭代的次數(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ù)器變量初始化為起始值。
- 必須通過(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 開始,每次循環(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;
}總結(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)文章
VSCode?IDE?配置環(huán)境過(guò)程解析
這篇文章主要介紹了VSCode?IDE?環(huán)境配置,這里說(shuō)的是僅使用?VSCode?創(chuàng)建C/CPP項(xiàng)目時(shí)的配置,VSCode?有代碼提示,?定位來(lái)源和各種快捷鍵,?更適合日常編碼工作,需要的朋友可以參考下2022-02-02
解決VC++編譯報(bào)錯(cuò)error C2248的方案
這篇文章主要介紹了解決VC++編譯報(bào)錯(cuò)error C2248的方案的相關(guān)資料,需要的朋友可以參考下2015-11-11
C++實(shí)現(xiàn)簡(jiǎn)單職工信息管理系統(tǒng)
本文給大家分享的是使用C++實(shí)現(xiàn)簡(jiǎn)單的職工信息管理系統(tǒng)的代碼,本系統(tǒng)采用了面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,所有的方法均以類為基礎(chǔ),感興趣的小伙伴們可以參考一下2015-08-08
C語(yǔ)言實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)(鏈表)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06
貪心算法的C語(yǔ)言實(shí)現(xiàn)與運(yùn)用詳解
這篇文章主要介紹了貪心算法的C語(yǔ)言實(shí)現(xiàn)與運(yùn)用詳解,運(yùn)用么,就是文中所附的ACM練習(xí)題,哈哈:D需要的朋友可以參考下2015-08-08
C++ 繼承,虛繼承(內(nèi)存結(jié)構(gòu))詳解
C++繼承和虛繼承的內(nèi)存模型是一個(gè)老生常談的話題,實(shí)現(xiàn)方法主要依賴于編譯器,本文從多個(gè)角度通過(guò)代碼詳解C++中虛繼承的內(nèi)存模型知識(shí),感興趣的朋友跟隨小編一起看看吧2021-09-09

