跳去內容

條件陳述式

出自維基百科,自由嘅百科全書
if... then 嘅流程圖

條件陳述式英文conditional statement;if... then...)係絕大多數程式語言都會有嘅一種陳述式,功能係視乎情況決定係咪要做某啲運算同採取某啲行動:一個條件陳述式會掕住一柞同一句佢要評估嘅條件,當個電腦程式行到個條件陳述式嗰時,如果個條件係真,個程式就會行條件陳述式掕住嗰柞碼(if 「個條件係真」 then 「行個條件陳述式掕住嘅碼」),否則個程式就唔會行嗰柞碼。

句法

[編輯]
睇埋:控制流程

條件陳述式典型嘅形態有以下呢啲[1]

  • IF..GOTO,如果 .. 為真,goto 某個位,常見於非結構化程式語言
  • IF..THEN..(ENDIF),如果 .. 為真,做 THEN 後面嘅 ..,ENDIF 用途在於標記掕住碼嘅終結。
  • IF..THEN..ELSE..(ENDIF),如果 .. 為真,做 THEN 後面嘅 ..,否則做 ELSE 後面嘅 ..,ENDIF 用途在於標記掕住碼嘅終結。呢個係最常見嘅條件陳述式類型,不過都有啲程式語言唔使用家指明 ENDIF 喺邊,而係用空白位等方法嚟斷定邊度係掕住碼嘅終結(例:喺一個 IF 之後,所有掕住碼都要喺最左手邊嗰度有兩個空位),例如機械學習上常用嘅 Python 就係一種啲條件陳述式唔使 ENDIF 嘅程式語言。
  • IF..THEN.. ELSE IF .. THEN .. ELSE..(ENDIF),一個條件陳述可以嵌套(embedded)喺第個條件陳述裏面-如果 .. 為真,做第一個 THEN 後面嘅 ..,否則如果 ELSE IF 後面嗰個 .. 為真,做第二個 THEN 後面嘅 ..,跟住如此類推。

唔同語言比較

[編輯]
Pascal: Ada: C: Shell script: Python: Lisp:
if a > 0 then
  writeln("yes")
else
  writeln("no");
if a > 0 then
      Put_Line("yes");
else
      Put_Line("no");
end if;
if (a > 0) { 
      printf("yes");
} else {
      printf("no");
}
if [ $a -gt 0 ]; then
      echo "yes"
else
      echo "no"
fi
if a > 0: 
      print("yes")
else:
      print("no")
(princ
  (if (plusp a)
      "yes"
      "no"))

第啲用法

[編輯]

比較少見嘅條件陳述式玩法有:

  • 有啲程式語言(例子: Fortran),會有所謂嘅「三向」(three-way)條件,測試某個變數數值係正、負、定零嚟決定做乜。
  • Perlifwhenunless
  • SmalltalkifTrueifFalse 嚟做條件陳述式。

睇埋

[編輯]

引咗

[編輯]
  1. Gabbay, D., Giordano, L., Martelli, A., Olivetti, N., & Sapino, M. L. (2000). Conditional reasoning in logic programming. The Journal of Logic Programming, 44(1-3), 37-74.
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy