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