C語言中的循環結構

第三天我們學習了C語言中的循環結構。

1.C語言中一共有三種基本結構:順序結構,分支結構,循環結構。

2.循環結構指在滿足特定條件下,反覆執行某程序段。

3.循環結構中,有while循環,do..while循環和for循環。

4.while循環的格式:

while (條件表達式) {

                語句;

}

//如果條件表達式爲真時,執行循環體;否則,循環停止。

//注意:循環變量要保證可以執行到,否則進入死循環。

例題:while打印出1~100之間7的倍數。 

   // 定義一個int類型的變量,並初始化循環變量

    int i = 1;

    // 開始循環,循環條件爲100內的整數

    while (i <= 100) {

        // 如果滿足條件,執行括號內的語句,如果不滿足,跳出循環

        // 需要進行判斷,如果爲7的倍數纔打印

        if(i % 7 == 0){

            printf("%d\n", i);

        }

        // 需要注意,循環增量務必保證可以執行到,否則進入死循環

        i++;

        // 語句進行到這裏,下面應該執行的是返回到條件表達式而不是直接退出循環

    }


5.隨機數的使用:arc4random()

測試隨機數,arc4random()返回一個unsigned int類型的隨機數

    unsigned int r = arc4random();

    // 無符號整型需要用%u作爲轉義字符

    printf("%u\n", r);

如果想要指定範圍內的隨機數,則公式:arc4random() % (最大值 - 最小值 + 1) + 最小值;


例題1:打印10個隨機數。

    // 循環變量習慣從0開始

    int i = 0;

    // 0開始可以很直觀的看出循環次數,並且數組也是從0開始

    while(i < 10){

        //需要注意不要把arc4random()寫在循環外

        int r = arc4random() % (35 - 15 + 1) + 15;

        printf("%d ", r);

        i++;

    }

    // 最後加個換行,讓控制檯更整齊

    printf("\n");


例題2:打印n個10-30的隨機數,並輸出最大值。

    printf("請輸入n的值:");

    // 初始化循環變量以及循環次數,以及用來保存最大值的信息

    int i = 0, n = 0, max = 0;

    // 輸入n的值

    scanf("%d", &n);

    

    // 循環開始,循環次數爲n

    while(i < n){

        // 隨機生成10-30範圍的隨機數

        int r = arc4random() % (70 - 30 + 1) + 30;

        // 用新隨機出現的數值與當前最大值比較,如果最大值小於新值,則替換成最大值

        max = max > r ? max : r;

        // 需要注意,不要在循環內輸出最大值,要在計算之後一次打印(循環外)

        printf("%d ", r);

        // 循環變量不能忘記

        i++;

    }

    // 注意美觀

    printf("\n");

    // 輸出最大值

    printf("max = %d\n", max);

6.break在switch語句中的作用:跳出switch語句。

break在循環體中的作用:跳出本層循環(通常與if連用)。

continue的作用:結束本次循環,繼續下一次循環(通常與if連用)。

7.do..while循環的格式:

do{

 語句;

}while(條件表達式);

//先執行循環體,再判斷循環條件,直到循環條件不滿足,循環結束。

8.for循環的格式:
for(循環變量初始化; 循環條件; 循環增量) {
        語句;
}
//循環條件爲真時,執行循環體。

//for語句執行次序:1.循環變量初始化 2.循環條件->(條件滿足才執行) 3.語句 4.循環增量->2.3.4->2.3.4->2(條件不滿足)->退出


例題:打印1-100內7的倍數。

    //進入循環

    for (int i =1; i <= 100; i++) {

        // 判斷是否爲7的倍數

        if (i % 7 == 0) {

            // 輸出i的值

            printf("%d\n", i);

        }

        // 千萬別寫循環增量

    }

9.循環嵌套

例題:實現九九乘法表

    //實現乘法⼝口訣表。

    for (int i = 1; i < 10; i++) {

        for (int j = 1; j < 10; j++) {

            if (j <= i) {

                printf("%d * %d = %2d ", i, j, i*j);

            }

        }

        printf("\n");

    }

10.注意:
for最常⽤用,通常⽤用於知道循環次數的循環
while也很常⽤用,通常⽤用於不知道循環次數的循環 。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章