本页使用了标题或全文手工转换

語句 (程式設計)

维基百科,自由的百科全书
(重定向自陳述 (程式)
跳转至: 导航搜索

在計算機科學的編程中,一個語句(statement)是指令式編程語言中最小的獨立元素,表達程序要執行的一些動作。多數語句是以高階語言編寫成一或多個語句的序列,用於命令計算機執行指定的一系列操作。單一個語句本身也具有內部結構(例如表達式)。

許多語言(例如說,C語言)將語句與定義句(definition)分隔的很明確,因為語句只會有運算符號以及一些宣告標識符號(identifier)的定義。我們也可以找出簡單語句與複合語句之間的差異;後者會在一個段落中包含了許多語句。

語句的種類[编辑]

以下是主要通用的語句種類,加上典型的指令式語言的範例:

簡單語句(simple statement)[编辑]

複合語句(compound statement)[编辑]

  • blockbegin integer NUMBER; WRITE('Number? '); READLN(NUMBER); A:= A*NUMBER end
  • if语句if A > 3 then WRITELN(A) else WRITELN("NOT YET"); end
  • Switch語句switch (c) { case 'a':alert(); break; case 'q':quit(); break; }
  • While迴圈while NOT EOF DO begin READLN end
  • Do-while迴圈do { computation(&i); } while (i < 10);
  • For迴圈for A:=1 to 10 do WRITELN(A) end

表示式[编辑]

在大多數編程語言中,語句與表達式互相對比,兩者不同之處在於,語句是為了運作它們的副作用而執行;表達式則一定會傳回評估後的結果,而且通常不產生副作用。在指令式編程中,Algol 68是語句可有回傳值的少數幾種語言。在混合指令式和函數式的編程語言(如Lisp)中,表達式和語句之間的分野並不存在:即段落中只為了副作用且不返回值,而依序執行的表達式,也被認為是“表達式”。在純函數式編程中沒有語句;一切都是可被評估的表達式。

在措辭中經常出現這樣的區別:一個語句是被“執行”(execute),而一個表達式是被“評估”或對其“求值”(evaluate)。一些語言中具備了exec和eval函數:比如在Python中,exec應用於語句,而eval應用於表達式。

程式語言[编辑]

語句的語意(sematic)以及句法(syntax)是依據每個程式語言的定義來規定的。

許多的程式語言不允許自我修改程式碼(self-modifying code)。或者說,多數程式語言不允許在執行時間創造新的語句(Snobol 4則是一個允許這樣作的例子)或者修改現有的語句(Lisp則是一個反例)。

參見[编辑]

參考資料[编辑]