C++ for 循環

在循環入口處定義循環三要素,循環條件爲真時執行循環體,先判斷再循環。ios

語法

C++中 for 循環的語法爲:bash

for (init; condition; increment) {
    statement(s);
}
複製代碼

for 循環的執行順序大體以下:spa

  1. for 循環會首先執行 init 進行初始化,只會被執行一次,這裏能夠直接聲明並賦值創造一個或多個變量。可是不推薦初始化多個變量,多個變量會致使循環條件的判斷不清晰。
  2. condition 爲循環條件,當 init 初始化完成以後會進行循環條件的判斷。能夠是任意的表達式,爲真時執行循環體。
  3. statement(s) 爲循環體,在循環條件判斷爲真以後執行,能夠是單條語句或多條語句的代碼塊。
  4. increment 爲循環變量更新語句,在循環體執行完成以後執行,爲單條語句。理論上這裏能夠是任何語句,與循環變量無關的語句也能夠,可是極其不推薦這麼作。
  5. 執行完 increment 語句以後回到第 2 步進行條件判斷。

注意: init 、condition 和 increment 之間必定要以 ; 分號隔開,就算三個語句都爲空也必定要有 ; 分號,不然會報錯! code

流程圖

for 循環的執行過程以下:cdn

for循環流程圖

實例

打印 1997 年 7月的日曆,1997.7.1 爲星期二。blog

#include <iostream>

using namespace std;

int main() {
    //打印1997年7月的月曆
    const int MONTH = 31;
    const int WEEK = 7;
    int day_of_week = 2; // 1997年7月1日爲星期二
    
    cout << "1997年7月的月曆以下:" << endl;
    cout << "一\t二\t三\t四\t五\t六\t日" << endl;
    
    // 填充 1號以前的星期
    for (int i = 0; i < day_of_week - 1; i++) {
        cout << '\t';
    }
    for (int day = 1; day <= MONTH; day++) {
        cout << day << '\t';
        if (((day_of_week + day - 1) % WEEK) == 0)
            cout << endl;
    }
    cout << endl;
    
    system("pause");
    return 0;
}
複製代碼

輸出結果以下:rem

1997年7月的月曆以下:
一      二      三      四      五      六      日
        1       2       3       4       5       6
7       8       9       10      11      12      13
14      15      16      17      18      19      20
21      22      23      24      25      26      27
28      29      30      31
請按任意鍵繼續. . .
複製代碼
相關文章
相關標籤/搜索