iT邦幫忙

2021 iThome 鐵人賽

DAY 16
1

在寫程式時,我們可能需要重複執行某些程式,總不可能每行程式一直複製貼上,這時候就會用到我們的迴圈(loop)。
在程式中,迴圈(loop)用來重複執行同一塊區塊(block),而且會在某一個特別設定的條件下跳出迴圈。
在 C 語言裡,有三種不同的迴圈敘述句,分別為:

  1. for loop(前測式)
  2. while loop(前測式)
  3. do...while loop(後測式)

今天我們先來講講 for 迴圈吧~

for 迴圈

for 迴圈基本語法如下:

for(initialization_statement; test_expression; update_state){
    statements inside the body of loop
} 

要寫 for 迴圈首先要一個初始值,並決定迴圈在這個值符合甚麼條件時是執行的,以及這個值要怎麼更新。
或許看個程式碼會比較清楚一些:

#include<stdio.h>
int main(){
	int i, sum = 0;
	for(i=0; i<10; i++)
		sum += i;
	printf("sum = %d\n", sum);
	printf("i = %d", i);
	return 0;
}

輸出結果:

  • 這個程式宣告了兩個整數變數,isum,且 sum=0i 是控制我們迴圈次數的,在 for 迴圈裡面,可以看到 i 的初始值等於 0,而這個迴圈只會在 i<10 的情況下執行,並且每執行一次,i 的值會更新(加一)。

  • for 裡面我們做累加的動作,也就是 sum 會等於0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 = 45。

  • 值得注意的是,因為這個迴圈是屬於前測式,他是這樣運作的: 先判斷 i 是否小於 10,若是的話就執行 sum += i,執行完 statement 後,i + 1,然後再判斷 i 是否小於 10......所以當 i + 1 = 10 後,就不符合執行迴圈的條件,會跳出迴圈。所以最後 sum 只會從 0 累加到 9。

然後跟 if 條件句一樣,如果 statement 超過一行,就要用大括號 { } 括起來~(所有迴圈都一樣!)

學完了 for 迴圈,我們來練習一下!程式就是要多寫才會進步的!

題目1 : 輸入一個數字 A,計算 A!(階乘=從 1 乘到 A)
題目2 : 使用兩個 for 迴圈,輸出九九乘法表,輸出如下:


上一篇
【Day 15】switch statement
下一篇
【Day 17】for 迴圈的範例講解
系列文
C 語言的簡單入門30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言