C/C++中for語句循環(huán)用法以及練習(xí)舉例
for 循環(huán)允許您編寫一個執(zhí)行特定次數(shù)的循環(huán)的重復(fù)控制結(jié)構(gòu)。
語法
C++ 中 for 循環(huán)的語法:
int n=10;
for(int i;i<=n;i++)
{
cout<<"點贊+關(guān)注,愛你么么噠";
}下面是 for 循環(huán)的控制流:
- init 會首先被執(zhí)行,且只會執(zhí)行一次。這一步允許您聲明并初始化任何循環(huán)控制變量。您也可以不在這里寫任何語句,只要有一個分號出現(xiàn)即可。
- 接下來,會判斷 condition。如果為真,則執(zhí)行循環(huán)主體。如果為假,則不執(zhí)行循環(huán)主體,且控制流會跳轉(zhuǎn)到緊接著 for 循環(huán)的下一條語句。
- 在執(zhí)行完 for 循環(huán)主體后,控制流會跳回上面的 increment 語句。該語句允許您更新循環(huán)控制變量。該語句可以留空,只要在條件后有一個分號出現(xiàn)即可。
- 條件再次被判斷。如果為真,則執(zhí)行循環(huán),這個過程會不斷重復(fù)(循環(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;
}當(dāng)上面的代碼被編譯和執(zhí)行時,它會產(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 語句允許簡單的范圍迭代:
int my_array[5] = {1, 2, 3, 4, 5};
// 每個數(shù)組元素乘于 2
for (int &x : my_array)
{
x *= 2;
cout << x << endl;
}
// auto 類型也是 C++11 新標(biāo)準(zhǔn)中的,用來自動獲取變量的類型
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;
}隨堂筆記!
for語句的基本格式
題目 1149:
for (表達(dá)式1;表達(dá)式2;表達(dá)式3) {
// 循環(huán)體語句
}for 語句中的三個表達(dá)式可部分或全部省略,但兩個分號不能省略。
常見的是:將表達(dá)式1放在了 for 語句之前,或表達(dá)式3放在了循環(huán)體中,在 for 語句中就可相應(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 (; ;) {…}此時,系統(tǒng)約定表達(dá)式2的值為 1,即恒為真,則等同于:
for (; 1;) {…}題目 1149:
C語言訓(xùn)練-計算1~N之間所有奇數(shù)之和
時間限制: 1s 內(nèi)存限制: 128MB 提交: 6699 解決: 4978
題目描述
計算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)。例如,只要輸入值無效,就會執(zhí)行輸入驗證循環(huán)。在編寫一個條件循環(huán)時,無法知道它將迭代的次數(shù)。
有時候程序員知道循環(huán)必須執(zhí)行的確切迭代次數(shù)。重復(fù)特定次數(shù)的循環(huán)稱為計數(shù)控制循環(huán)。例如,如果一個循環(huán)要求用戶輸入一年中每個月的銷售金額,則它將迭代 12 次。這實際上意味著,循環(huán)數(shù)為 12,并要求用戶在每次計數(shù)時輸入銷售金額。
計數(shù)控制循環(huán)必須具有 3 個要素:
- 必須將計數(shù)器變量初始化為起始值。
- 必須通過將其與最終值進(jìn)行比較來測試計數(shù)器變量。當(dāng)計數(shù)器變量達(dá)到其最終值時,循環(huán)終止。
- 必須在每次迭代期間更新計數(shù)器變量。這通常通過變量遞增來完成。
前面已經(jīng)介紹過,通過使用 while循環(huán)來創(chuàng)建計數(shù)控制循環(huán)的方法,但是,由于計數(shù)控制循環(huán)實在太常用,所以 C++又提供了另外一種特別適合計數(shù)控制的循環(huán),即所謂的 for循環(huán)。
與前面介紹的其他循環(huán)一樣,如果循環(huán)體中只有一個語句,則可以省略大括號。
for 循環(huán)的第一行是循環(huán)頭。在關(guān)鍵詞 for 之后,括號內(nèi)有 3 個表達(dá)式,用分號分隔(注意第 3 個表達(dá)式之后沒有分號):
- 第一個表達(dá)式是初始化表達(dá)式,它通常用于將計數(shù)器初始化為其起始值。這是循環(huán)執(zhí)行的第一個動作,只做一次。
- 第二個表達(dá)式是測試表達(dá)式。它以與 while 和 do-while 循環(huán)中的測試表達(dá)式相同的方式測試條件,并控制循環(huán)的執(zhí)行。只要這個條件為 true,for 循環(huán)的主體將重復(fù)。與 while 循環(huán)一樣,for 循環(huán)也是一個預(yù)測試循環(huán),因此它在每次迭代之前判斷測試表達(dá)式。
- 第三個表達(dá)式是更新表達(dá)式。它在每次迭代結(jié)束時執(zhí)行。通常,這是一個遞增循環(huán)計數(shù)器變量的語句。
以下是一個簡單的 for 循環(huán)示例,將打印“Hello”字符串 5 次:
for (count = 1; count <= 5; count++)
cout << "Hello" << endl;在該循環(huán)中,初始化表達(dá)式為 count = 1,測試表達(dá)式為“count <= 5”,更新表達(dá)式為 count++。循環(huán)的主體只有一個語句,即 cout 語句。圖 1 說明了循環(huán)執(zhí)行過程中發(fā)生的事件順序。
請注意如何使用計數(shù)器變量 count 來控制循環(huán)迭代的次數(shù)。它的值從 1 開始,每次循環(huán)迭代之后遞增 1。只要表達(dá)式 "count <= 5" 保持為 true,循環(huán)將重復(fù)迭代。但是,在 5 次迭代之后,count 將變成 6,這導(dǎo)致測試表達(dá)式變?yōu)?false,所以循環(huán)終止。
還要注意的是,在這個例子中,count 變量僅在循環(huán)頭中使用,以控制循環(huán)迭代的次數(shù)。它不用于任何其他目的。當(dāng)然,也可以在循環(huán)體內(nèi)使用計數(shù)器變量。例如,來看下面的代碼:
for (number = 1; number <= 5; number++)
cout << number << " ";此循環(huán)中的計數(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語句循環(huán)用法以及練習(xí)舉例的文章就介紹到這了,更多相關(guān)C/C++中for語句循環(huán)用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語言入門篇--sizeof與strlen基礎(chǔ)理論
本篇文章是c語言基礎(chǔ)篇,主要為大家介紹了C語言的sizeof與strlen的基本理論知識,希望可以幫助大家快速入門c語言的世界,更好的理解c語言2021-08-08
C++實現(xiàn)轉(zhuǎn)置矩陣的循環(huán)
大家好,本篇文章主要講的是C++實現(xiàn)轉(zhuǎn)置矩陣的循環(huán),感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2022-01-01
在C/C++與Python之間實現(xiàn)通信的常見方法
在C/C++與Python之間實現(xiàn)通信的方式有很多,本文給大家介紹了一些常見的方法,文中通過代碼示例介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-12-12
C++11中跳轉(zhuǎn)initializer_list實現(xiàn)分析
這篇文章主要介紹了C++11中跳轉(zhuǎn)initializer_list實現(xiàn)分析,實例分析initializer_list<T>初體驗,結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04

