亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

首頁 慕課教程 C 語言入門教程 C 語言入門教程 24 C 語言中的多重循環嵌套

C 語言中的多重循環嵌套

多重循環嵌套是我們之前講過的幾種不同的循環控制語句的組合,可以有不同的組合形式。在這里,我們給大家舉例講解。

1. 單一循環語句組成的嵌套循環

1.1 由 for 語句組成的循環嵌套

#include <stdio.h>

int main()
{
    for (int i = 0; i < 3; i++)
    {
        printf("Outside: %d\n", i);
        for (int j = 5; j < 10; j++)
        {
            printf("Inside: %d\n", j);
        }
    }

    return 0;
}

運行結果:

Outside: 0
Inside: 5
Inside: 6
Inside: 7
Inside: 8
Inside: 9
Outside: 1
Inside: 5
Inside: 6
Inside: 7
Inside: 8
Inside: 9
Outside: 2
Inside: 5
Inside: 6
Inside: 7
Inside: 8
Inside: 9

這個程序內部的循環語句執行了 15 次,外部的循環語句執行了 3 次。

1.2 由 do while 語句組成的循環嵌套

#include <stdio.h>

int main()
{
    int i = 5, j = 3;
    do
    {
        i--;
        printf("Outside: %d\n", i);
        do
        {
            j++;
            printf("Inside: %d\n", j);
        } while (j < 6);
    } while (i > 3);

    return 0;
}

運行結果:

Outside: 4
Inside: 4
Inside: 5
Inside: 6
Outside: 3
Inside: 7

這個程序的內層循環執行了 4 次,外層循環執行了 2 次。

1.3 由 while 語句組成的循環嵌套

#include <stdio.h>

int main()
{
    int i = 5, j = 3;
    while (i > 3)
    {
        i--;
        printf("Outside: %d\n", i);
        while (j < 6)
        {
            j++;
            printf("Inside: %d\n", j);
        }
    }

    return 0;
}

運行結果:

Outside: 4
Inside: 4
Inside: 5
Inside: 6
Outside: 3

這個程序的內層循環執行了 3 次,外層循環執行了 2 次。

2. 不同類型循環組成的嵌套循環

2.1 由 do while , do 和 for 語句組成的三重嵌套

#include <stdio.h>

int main()
{
    int i = 5, k = 0;
    do
    {
        i--;
        printf("Loop 1: %d\n", i);
        for (int j = 0; j < 3; j++)
        {
            printf("Loop 2: %d\n", j);
            while (k < 3)
            {
                k++;
                printf("Loop 3: %d\n", k);
            }
        }
    } while (i > 3);

    return 0;
}

運行結果:

Loop 1: 4
Loop 2: 0
Loop 3: 1
Loop 3: 2
Loop 3: 3
Loop 2: 1
Loop 2: 2
Loop 1: 3
Loop 2: 0
Loop 2: 1
Loop 2: 2

程序中循環 3 執行了 3 次,循環 2 執行了 6 次,循環 1 執行了 2 次。

大家可以根據上面的例子進行拓展,可以有不同的組合與不同的嵌套層數。

3. 小結

多重循環嵌套,就是將原有的循環控制語句進行嵌套組合,也就是將一個循環語句寫到其他的循環語句中的循環體中。這樣就可以循環多次執行循環體中的循環。這種循環有點如同我們使用的電度表,俗稱電表。當你用電的時候,電表會從最低位開始不斷循環,當完成一圈循環后,上一位就會自動加一。這種循環使得電表中的數字依次增加。

Tips:如果不是有特殊的需求,請為你的所有的循環語句設置可以達到的循環停止的條件。不然就是無盡的死循環,會讓程序在耗盡系統分配給它的資源后被操作系統強制終止,或者造成操作系統的資源搶占,使得操作系統沒有辦法相應別的軟件的請求。