第四章語句與程式控制結構

2022-08-10 18:42:08 字數 3032 閱讀 2494

4.1 語句總述

組成c語言的主要成分是函式,而函式主要由語句組成。語句就象人們通常說的一句話一樣,表達乙個完整的思想。和其他高階語言一樣,c語言的語句用來向計算機系統發出操作指令。

c語言中有各種各樣的語句以滿足結構化程式設計的要求。c語言提供的語句主要有說明語句和執行語句,其中執行語句包括空語句、表示式語句、控制語句、復合語句等,它們構成了程式的三種程式控制結構:順序結構、選擇結構和迴圈結構。

4.1.1 說明語句、表示式語句和空語句

c語言中語句是以分號「;」為結束標誌的,因此只要有分號的地方就有乙個語句,不管前面是否有內容。分號前沒有內容的語句稱之為空語句, 空語句不執行的任何操作。空語句的作用一是在迴圈語句中使用空語句提供乙個不執行操作的空迴圈體;二是為有關語句提供標號,用以說明程式執行的位置。

變數的定義和函式的說明後面也加分號,統稱為說明語句(c中的說明語句只可出現在程式可操作語句的前面)。

任何表示式後面加分號就成為表示式語句,執行表示式語句就是計算表示式的值。就像英文句子有動詞和賓語一樣,一條典型的c表示式語句也包含乙個或多個表示動作的單詞和乙個或多個完成這些動作時使用的物件名稱。在c語句中,運算子的功能類似於單詞,變數或常量是操作物件。

具體例項:

空語句 */

int a,b變數說明語句 */

int sum(int, int) /* 函式說明語句 */

x=3賦值表示式語句 * /

a=1,b=2,c=3逗號表示式語句 */

a&&b||c邏輯表示式語句 */

i算術表示式語句 */

x>y關係表示式語句 */

4.1.2 控制語句

控制語句用於控制程式的流程,以實現程式的各種結構。c語言有九種控制語句。如表示條件選擇的if語句、if-else語句、if-else if-else語句,實現迴圈控制的while語句、do-while語句、for語句,實現程式跳轉的continue語句、break語句和return語句。

除return語句外,其他語句都將在本章介紹。

4.1.3 復合語句

用一對{}將兩條或兩條以上語句括起來可以組成乙個復合語句,復合語句又被稱為塊語句或分程式。在語句上它被看成一條語句而不是多條語句。如

在復合語句中不僅有執行語句,還可以說明變數。復合語句組合多個子語句的能力及採用分程式定義區域性變數的能力是c語言的重要特點,它增強了c語言的靈活性,同時還可以按層次使變數作用域區域性化,使程式具有模組化結構。

4.2 順序結構

c語言中的順序結構主要由說明語句、表示式語句、空語句以及復合語句組成。在順序結構程式中,各語句(或命令)是按照位置的先後次序順序執行的,且每個語句都會被執行到。可以用圖4-1表示順序結構流程圖。

一般情況下,順序結構的程式主體是完成具體功能的各個語句和運算,主要包括:

⑴ 提供資料語句。

⑵ 運算語句。

⑶ 輸出語句。

【例4.1】輸入兩個整數,用兩種方法完成兩數的交換。

程式一:

main()

程式二:

main()

程式一和程式二都利用了三條順序執行的賦值語句,其中程式一中用變數t作為交換媒介、程式二中利用加減法都實現了交換功能。不管哪種方法,三條賦值語句的順序都不可隨意改變,否則不能達到目的。

4.3 選擇結構

選擇結構是實現結構化程式設計的基本成分之一,它所要解決的問題是根據「條件」判斷的結果決定程式執行的流向,因此該結構也被稱為判斷結構。程式執行的流向是根據條件表示式的值是「0」還是非「0」來決定的。非0代表條件為「真」,即條件成立;0代表條件為「假」,即條件不成立。

設計選擇結構程式,需要考慮兩個方面的問題:一是在c語言中如何來表示條件,二是在c語言中實現選擇結構用什麼語句。在c語言中表示條件,一般用關係表示式或邏輯表示式。

實現選擇結構用if條件語句或switch分支語句。下面我們將詳細介紹這些語句。

4.3.1 if語句

1.簡單的if語句

在簡單的if語句中,關鍵詞if後跟隨乙個括號中的表示式,隨後是花括號中的一條語句或多條語句。語法形式如下:

if(表示式)語句

這裡的「表示式」就是決定程式流向的「條件」,當表示式的值為非0時執行「語句」,否則就不執行。此結構的執行過程如圖4-2所示。

【例4.2】輸入任意三個整數num1、num2、num3,求三個數中的最大值。

main()

2.if…else語句

if-else語句的語法格式為:

if(表示式)

語句1else

語句2if後面的「表示式」,通常是能產生「真」、「假」結果的關係表示式或邏輯表示式,也允許是其他型別的資料,如整型、實型、字元型等。它的執行流程是:當if後表示式的值為真(非0)時,執行語句1,否則執行語句2。

這裡的語句1和語句2可以是簡單語句,也可以是復合語句。該結構的執行過程如圖4-3所示。

【例4.3】輸入任意乙個整數,輸出該整數的絕對值。

main()

這種形式的if-else語句也可以用條件運算子改寫,上例中程式可改寫成:

main()

3.系列if…else語句

系列if…else語句是一種多分支選擇結構,這種形式的if語句可以寫成:

if(條件1) 語句1

else if(條件2) 語句2

…………

else if(條件n) 語句n

else 語句n+1

此語句的執行過程如圖4-4所示,表示在n個條件中,如果滿足其中某乙個條件,則執行相應的語句並跳出整個if結構執行該結構後面的語句,若n個條件乙個也不滿足時,執行語句n+1。如果沒有語句n+1,那麼最後乙個else可以省略,此時該if結構在n個條件都不滿足時,將不執行任何操作。同樣這裡的語句可以是用一對{}括起來的復合語句。

【例4.4】用else if 結構求解一元二次方程ax2+bx+c=0的根,係數a、b、c的值從鍵盤輸入。

分析:按照數學上的理論,此一元二次方程的根由三個係數a、b、c的值決定,不同的係數組合可能有不同的根,因此程式中要充分考慮到各種情況,**如下:

#include ""

#include ""

main()

elseb2-4ac>0,有兩個不同的實數根 */

第四章選擇結構程式設計

4.1 選擇結構程式設計的概念 在實際工作中,常常需要根據某個條件是否成立,來決定下一步應該做什麼工作。編寫程式讓計算機工作,同樣存在這種情況。在這種情況下,程式不再按照 的書寫順序來執行各語句行的語句,而是根據給定的條件來選擇,執行哪些語句行,不執行哪些語句行。選擇結構程式也稱為分支構造程式,即程...

鋼結構第四章答案

習題參 解 由構件x處截面的力矩平衡,得到方程,可進行數學推導,求得尤拉臨界荷載值。令,則 顯然平衡方程即為二階常係數非齊次線性方程的求解。齊次方程求解 令,便可解得,故通解為 方程的特解求解 有,其中為一次多項式,由於0不是特徵方程的根,可令,代入方程得 則,於是可得方程的全解為 邊界條件 所以 ...

第四章分子結構

競賽要求 路易斯結構式 電子式 價層電子對互斥模型對簡單分子 包括離子 幾何構型的 雜化軌道理論對簡單分子 包括離子 幾何構型的解釋。共價鍵。鍵長 鍵角 鍵能。鍵和 鍵。離域 鍵。共軛 離域 的一般概念。等電子體的一般概念。分子軌道基本概念。定域鍵鍵級。分子軌道理論對氧分子 氮分子 一氧化碳分子 一...