• 沒有找到結果。

流程控制的認識

N/A
N/A
Protected

Academic year: 2022

Share "流程控制的認識"

Copied!
20
0
0
顯示更多 ( 頁)

全文

(1)

流程控制的認識

程式的執行方式有循序以及跳躍執行的方式,循序式是由 上往下一一執行,而跳躍式則可依據條件判斷來處理。

流程控制的指令分為兩類:

有條件跳躍指令:根據關係運算或邏輯運算的條件式來判 斷程式執行的流程,若條件式結果為true,就執行跳躍。

有條件跳躍指令包括:

(2)

迴圈:根據關係運算或邏輯運算條件式的結果為 true 或 false 來判斷,以決定是否執行指定的程式。迴圈指令包 括:

(3)

單向選擇 if…

if…為單向選擇結構,當條件式為 true 時,就會執行 程式區塊的敘述;當條件式為 false 時,則不會執行 程式區塊的敘述。

(4)

條件式可以是關係運算式,例如:x>2;也可以是邏輯運 算式,例如:x>2 && x<5,如果程式區塊只有一行程式 碼,則大括號也可以省略,直接寫成。

以下是單向選擇流程控制的流程圖:

(5)

雙向選擇 if…else

if…else…為雙向選擇結構,當條件式為 true 時,會 執行 if 後的敘述 (程式區塊一)。當條件式為 false 時 會執行 else 後的敘述 (程式區塊二),程式區塊可以 是一行或多行的敘述,如果程式區塊的敘述只有一 行則可以省略大括號。

語法與控制流程

(6)

以下是雙向選擇流程控制的流程圖:

(7)

多向選擇

if……else If…

如果條件式為 true 時,就執行相對應的程式區塊,如果 所有條件式都是 false,則執行 else 後的程式區塊。(若 省略 else 敘述,則條件式都是 false 時將不執行任何程式 區塊)

(8)

以下是多向選擇流程控制的流程圖 (以設定 3 個條件式為 例):

(9)

switch…case

使用 if…else if… 多向選擇有一個缺點,當判斷的條件式較 多時,會使程式顯得複雜且不易閱讀,若使用

switch…case 則可以改善程式碼複雜的狀況,但是 switch 只能判斷整數或字串條件式,使用上限制也較多,而

if …else if 則無此限制。

(10)

以下是 switch 多向選擇流程控制的流程圖 (以設定 3 個條 件式為例):

(11)

重複結構

重複結構會重複執行指定區塊的程式碼,包括指定重複次 數的 for…和依前後條件測試的while…、do…while。

for…迴圈

for…迴圈自初值開始判斷 <條件判斷> 是否為 true,若為 true 則執行 for 迴圈內的敘述,並依 <增量值>,每次增 加 (或減少) 指定的增量值,直至 <條件判斷> 為 false 為 止,break則可以強迫結束 for 迴圈。

(12)

語法與控制流程

(13)

以下是 for 計次迴圈流程控制的流程圖:

(14)

for each…迴圈

for each …是陣列 (Arrays) 或集合 (Collections) 的專用 迴圈,它會依序對陣列中的每個元素執行。

語法

(15)

while 前測試迴圈

前測試迴圈會先測試 <條件式> 是否滿足,以決定是否要 執行迴圈內的程式區塊。若條件成立就執行程式區塊一次,

然後再回到迴圈最前面的條件式繼續測試;若條件不成立 就結束迴圈的執行。在前測試迴圈中,如果連第一次的測 試條件都不成立,則程式區塊將完全未被執行。

語法與控制流程

(16)

以下是 while 迴圈流程控制的流程圖:

以下是 do…while 迴圈流程控制的流程圖:

(17)

Do..while

(18)

try…catch…finally 錯誤處理

應用程式在開發過程中難免發生錯誤,如何發現錯誤所在 並加以修正,是每一個程式設計者必須具備的基本能力。

C++ 和 C++/CLR 對於錯誤處理的語法稍有不同,所以分 開來說明。

(19)

語法

C++中的例外處理使用三個關鍵字來進行:try、throw、

catch,其語法架構如下:

(20)

C++/CLR 結構化錯誤處理

感覺上,C++ 的錯誤處理功能似乎稍嫌不足,幸好 CLR 的錯誤處理做了改進。CLR 的錯誤處理語法和 C++ 稍有不同,其語法如下:

語法

參考文獻

相關文件

我們將for迴圈和 迴圈和 迴圈和while迴圈撰寫的程式透過下圖來說明 迴圈和 迴圈撰寫的程式透過下圖來說明

&lt;2-1-1&gt;臺中市108學年度國民教育輔導團輔導員增聘遴選實施計畫 壹、

劑,並以起始劑 Ce +4 用量、溫度及( IA/CT )比值 等為變數,找出最佳接枝條件。因為所用的 CT 為疏 水性物質,故可經過較簡單的過濾程序,分離出 CT-

( 二 ) 朱家冒死幫助季布避免受罪,請求夏侯嬰為季 布說話,卻在協助季布任官以後終身不 見。我認為

• 實驗數據的標準差:單一測量與平均值的 可能偏差程度,重複或增加實驗次數不會 減少其值,其代表單一測量的精密度。.

,並於後方括號&lt; &gt;內標示『須經藥事會:是/否;品項清單備考欄位

病歷號 主診斷 藥品5碼 BLOOD WBC執行日 就醫流水號 次診斷1 藥品成份名 BLOOD WBC檢驗值 性別 次診斷2 藥品商品名 HGB執行日. 出生日期 次診斷3 藥品開立日期時間

,並於後方括號&lt; &gt;內標示『須經藥事會:是/否;品項清單備考欄位

�您�� BIOS 設定完成後,請選擇本項目以�認所有設定值存入 CMOS 記憶體內。按下 &lt;Enter&gt; 鍵後�出現一個詢問視窗,選擇 [Ok],�設定值存 Ok],�設定值存 ],�設定值存 入

定義為∣G(jω)∣降至零頻率增益(直流增益)值之 0.707 倍 時之頻率或-3dB 時頻率。.

在撰寫網頁應用程式 HTML 的語法當中,以下何者錯誤?(A)&lt;a&gt;是用來製作超連結的標記(Tag) (B)HREF 是一個在&lt;a&gt;與&lt;/a&gt;中指定其他

Britain–s £50 Note Will Honor Computing Pioneer Alan Turing.. 盧政良 台大資訊系

原因: 技術進步,加上對可攜帶音樂設備的需求增加(黑膠唱片 &gt; 錄音帶 &gt; CD- ROM &gt; 迷你光碟 &gt; SD咭 &gt;

在【逐步解析 1】中,共需要輸入 2 個答案,為了避免「後面 輸入的答案(數學分數)」取代「前面的答案(國文分數)」,我 們要利用 2 個不同的變數來區別兩者,並以變數

[r]

「不構成犯罪」但另一位認 定未敘及,從形式觀察,兩 位的評斷竟有明顯兩不相容 的歧異判斷,堪認有其中一

A Aircrafts Allowed for Schedule Maintenance&lt;II&gt;= IF THEN ELSE(Readiness Nominal &gt;= Readiness Required, Min( &#34;Readiness Concern -Allowance for Items

出若 Cronbach’s Alpha 值&lt; O.35 為低信度,若 O.35≦Cronbach’s Alpha. 值&lt;O.7 為尚可,若 Cronbach’s Alpha

定點式 ADCP 為使用中斷面法,將斷面分為數條測線,再利用 ADCP 。量測該測線子斷面之流速,因 ADCP

物距 u 像距 v 像的性质 光路图 应用 u&gt;2f f&lt;v&lt;2f 倒缩小实 照相机. f&lt;u&lt;2f v&gt;2f 倒放大实 幻灯机 u&lt;f

過濾法為佈置過濾器(Filter)在網路中,比對封包的攻擊特徵,能對封包 直接的加以判斷是否為攻擊的封包加以丟棄,在

接下來, Response Output Filter 將各個分離後之檔案,儲存於 Cache Directory 之內而成為快取文件,並將各個先前所取得之個別&lt;CACHE&gt;參數值,轉譯成實 際之

Inter 模式判斷演算法跟 intra 模式演算法判斷差不多,不過 inter 模式並沒有判斷 P8*8(mode4~7),所以我們用判斷全部 mode(mode1~7)取代 P8*8。因為 Inter