四、 程式主要結構
寫程式中,需要讓一個程式有靈活度,就是要有 選擇結構,處理大量資要就會有了迴圈結構資料。
1.選擇結構 => 是一種有真或假的問題,例如是否有帶傘,有或沒有做來讓電腦判別真假。
2. 迴圈結構 => 根據條件撰寫位置,分為前測式迴圈、後測式迴圈兩種類型。
順序結構(Sequence structure)
只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行

選擇結構 (Selection Structure)
1.單一選擇
這個特性是只有一種狀況,可以使用這方式寫。 例如:if

範例1、假設小名考80,有及格都會顯示及格。
範例2. 假設某家餐廳消費一客400元,持VIP打9折,無VIP則無打折,輸入持有VIP以及消費人數,在打印消費金額
3.登入帳號
2. 雙重選擇
若事件有兩種狀況,例如:if ... else

範例1 假設輸入成績及格為60分,若有及格都會顯示及格 ,其餘不及格。
3. 多重選擇
如果狀況有極多得可能,或是想輸出不同資料時候。
例如:if...else if...else、switch

1.利用下面表格判斷成績等級,並顯示成績等級。
分數
100-90
89-80
79-70
69-60
59-0
等級
A
B
C
D
F
2. 使用Switch 解出上方題目
迴圈結構
迴圈結構描述事件重複現象。迴圈結構有三種:
1.FOR - 計數迴圈 / 前測式條件迴圈
當執行迴圈結構開端時,會檢查判斷是否是對的,就會去做執行。

如何記住使用方式,for 迴圈內,因為有計數之稱,所以會有初始值、範圍、動作,這就是寫入for迴圈最簡單的記憶方式。
1. 寫出1~5相加的結果
2. 寫出成績總成績以及平均值
3. 99乘法表
2.前測式條件迴圈
for/while 兩種前測式條件迴圈
1.利用while迴圈做出,輸入任意數字,直到0以後才停止,限制1~3。
2. 輸入一正整數,然後將它倒過來輸出 (1234 -> 4321)
3. 一個字元一個字元輸入,Enter鍵才停止,印共輸入幾個字元。
getchar()函數是C語言專門為輸入單個字符而提供的,getchar()函數是從I/O字符流中讀取一個字符,必須輸入換行才能讀入字符。
getche()、getch()函數也是讀入單個字符,是從控制台直接讀取一個字符,無須換行即可讀入字符。
備註 getche()、getch()
getche()和getch()需要的頭文件是<conio.h>。conio.h不是C標準庫中的頭文件。conio是ConsoleInput/Output(控制台輸入輸出)的簡寫,其中定義了通過控制台進行數據輸入和數據輸出的函數,主要是一些用戶通過按鍵盤產生的對應操作。
3.後測式條件迴圈
do...while

1.利用do...while() ,模擬販賣機作業流程,投入金額,在選擇飲料。
2.利用do...while() ,做出簡易介面。
Break、Continue、goto敘述
一般情況是會在違反進入迴圈的限制條件時候,才會結束迴圈運作,若問題是重複執行特定某些的敘述特性外,包刮例外特性必須加上break 或是continue 之敘述,可以方便撰寫程式。
break 敘述功能使用方式
break 敘述除了在 switch 的選擇結構外,可以使用在迴圈結構。當執行到break 時候,會跳出程式迴圈結構,並在迴圈外層第一行敘述去做執行。
1.模擬密碼驗證(假設密碼 : 123456),最多可以錯三次密碼。
continue 敘述功能使用方式
continue 中文為(繼續)。是不執行迴圈內部某些敘述。
在 for 迴圈結構內使用continue 執行到continue 會跳到該層的for迴圈內的第三部分,做迴圈變數增/減量。
在while 迴圈內部使用 continue 執行到 continue 會跳到該層的while內,檢查迴圈是否成立。
在do...while 迴圈內部使用continue 執行到continue 會跳到do 層的地方。
1. (遊戲)兩個人輪流從50顆彈珠中,拿走1~3顆,拿走最後一顆玻璃彈珠的人為輸家。
2. 用文字 I LOVE C/C++ language ,呈現跑馬燈的效果直到任意案鍵就結束。
GoTo
以C來作範例
最后更新于
这有帮助吗?