陳述式
最小的独立元素的命令式编程语言表达进行一些行动
(重定向自陳述 (程式))
在計算機科學的編程中,敘述(又稱陈述式、叙述、述句、描述式、陳述句)是指令式編程語言中最小的獨立元素,表達程序要執行的一些動作。多數敘述是以高階語言編寫成一或多個敘述的序列,用於命令計算機執行指定的一系列操作。單一個敘述本身也具有內部結構(例如表達式)。
「陳述式」的各地常用名稱 | |
---|---|
中国大陸 | 语句 |
臺灣 | 敘述、陳述、陳述式、語句 |
許多語言(例如說,C語言)將敘述與定義句(definition)分隔的很明確,因為敘述只會有運算符號以及一些宣告標識符號(identifier)的定義。我們也可以找出簡單敘述與複合敘述之間的差異;後者會在一個段落中包含了許多敘述。
敘述的種類编辑
以下是主要通用的敘述種類,加上典型的指令式語言的範例:
簡單敘述(simple statement)编辑
- 指定(賦值)
- C, Fortran:
A = A + 5
- Pascal:
A := A + 5
- C, Fortran:
- 呼叫
- C:
CLEARSCREEN()
- C:
- 回傳:
return 5;
- goto
- C:
goto 1
- C:
- 斷言
- C:
assert(ptr != NULL);
- C:
複合敘述(compound statement)编辑
- block:
begin 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則是一個反例)。
參見编辑
參考資料编辑
🔥 Top keywords: Baike: 首页Special:搜索胖猫跳江事件背着善宰跑九龍城寨之圍城逆天奇案2璩静淚之女王歌手2024Energy (組合)新生 (网络剧)习近平匈牙利邊佑錫劉俊謙 (香港)金智媛神耆小子塞尔维亚金秀賢 (男演員)母亲节猩球崛起:王國誕生九龍寨城馴鹿寶貝家族榮耀之繼承者Seventeen (組合)六四事件不夠善良的我們张维为楊佩潔TripleS支配物种庆余年郭葦昀洪若潭命案金惠奫2024年英雄联盟季中邀请赛春色寄情人BABYMONSTER笑看風雲乘風2024排球少年!!角色列表破墓徐巧芯中华人民共和国中華民國打天下2WIND BREAKER—防風少年—习明泽排球少年!!彭丽媛磁暴ILLIT贾斯汀·比伯逆天奇案BOYNEXTDOOR猿人爭霸戰:猩凶革命張書偉我的婆婆怎麼那麼可愛我獨自升級怪獸8號謝坤達IVE (組合)與鳳行關於我轉生變成史萊姆這檔事角色列表黃道十二宮福建號航空母艦虽然不是英雄葉乃文五月天張員瑛草榴社区張文傑2024年花蓮地震极光香緹·摩爾迷宮飯呂家愷搜查班長1958日本劉德華海莉·鮑德溫蕭景鴻越位 (足球)葬送的芙莉蓮周處除三害 (電影)毛泽东願榮光歸香港林峯周雨彤伍允龍羅毓儀香港Baike: 分類索引沒有秘密猩球崛起:終極決戰角質層唐振剛柯佳嬿文化大革命