零基礎入門學習C語言005講 分支程式設計(2)

2021-09-20 06:22:52 字數 3347 閱讀 3791

用if

語句可以構成分支結構。它根據給定的條件進行判斷,以決定執行某個分支程式段。c語言的

if語句有三種基本形式。

第一種形式為基本形式:

if(表示式)

語句

其語義是:如果表示式的值為真,則執行其後的語句,否則不執行該語句。其過程可表示為下圖。

【例5.3】

#include "stdio.h"

void main()

第二種形式為

【例5.4】

#include "stdio.h"

void main()

第三種形式為

if-else-if

形式前二種形式的if語句一般都用於兩個分支的情況。當有多個分支選擇時,可採用if-else-if語句,其一般形式為:

【例5.5】

#include "stdio.h"

void main()

在使用if語句中還應注意以下問題:1)       在三種形式的if語句中,在if關鍵字之後均為表示式。該表示式通常是邏輯表示式或關係表示式,但也可以是其它表示式,如賦值表示式等,甚至也可以是乙個變數。

例如:if(a=5) 語句;

if(b) 語句;

都是允許的。只要表示式的值為非0,即為「真」。

比較如下程式段:

2)       在if

語句中,條件判斷表示式必須用括號括起來,在語句之後必須加分號。

3)       在if語句的三種形式中,所有的語句應為單個語句,如果要想在滿足條件時執行一組(多個)語句,則必須把這一組語句用{}括起來組成乙個復合語句。但要注意的是在}之後不能再加分號。

(最好是在單行的時候也加上大括號。任何情況下都加上大括號。)

例如:

if (a>b)

else

補充例題:寫乙個程式完成下列功能:

1 、輸入乙個分數score

2 、score<60             輸出  e

3 、60 <=score <70 輸出  d

4 、75 <=score <80 輸出  c

5 、80 <=score <90 輸出  b

5 、90 <=score        輸出  a

#include "stdio.h"

void main()

else if (score >= 60)

else if (score >= 70)

else if (score >= 80)

else

}

補充例題2:輸入三個數a,b,c,要求按由小到大的順序輸出。

if  a>b   將a和b對換

if  a>c   將a和c對換

if  b>c   將b和c對換

#include "stdio.h"

void main()

if (a > c)

if (b > c)

printf("%d %d %d", a, b, c);

}

if語句中的執行語句又是

if語句時,則構成了

if 語句巢狀的情形。

在巢狀內的

if語句可能又是

if-else

型的,這將會出現多個

if和多個

else

重疊的情況,這時要特別注意if和

else

的配對問題。

例如:

其中的else

究竟是與哪乙個

if配對呢?

比較以下兩題目:哪乙個是運用巢狀方法?

【例5.6】

#include "stdio.h"

void main()

{ int a, b;

printf("please input a,b: ");

scanf("%d%d", &a, &b);

if (a != b)

if (a>b) printf("a>b\n");

else printf("a【例5.7】

#include "stdio.h"

void main()

{ int a, b;

printf("please input a,b: ");

scanf("%d%d", &a, &b);

if (a == b) printf("a=b\n");

else if (a>b) printf("a>b\n");

else printf("a採用巢狀結構實質上是為了進行多分支選擇,實際上有三種選擇即

a>b、a或

a=b。這種問題用

if-else-if

語句也可以完成。而且程式更加清晰。因此,在一般情況下較少使用

if語句的巢狀結構。以使程式更便於閱讀理解

零基礎入門學習C語言005講 分支程式設計(3)

條件運算子為 和 它是乙個三目運算子,即有三個參與運算的量。由條件運算子組成條件表示式的一般形式為 表示式1?表示式2 表示式3 其求值規則為 如果表示式1的值為真,則以表示式2 的值作為條件表示式的值,否則以表示式2的值作為整個條件表示式的值。條件表示式通常用於賦值語句之中。例如條件語句 if a...

零基礎入門學習C語言004講 順序程式設計(2)

scanf函式稱為格式輸入函式,即按使用者指定的格式從鍵盤上把資料輸入到指定的變數之中。1.scanf函式的一般形式 scanf函式是乙個標準庫函式,它的函式原型在標頭檔案 stdio.h 中,與printf函式相同,語言也允許在使用scanf函式之前不必包含stdio.件。scanf函式的一般形式...

零基礎入門學習C語言010講 預處理(1)

在前面各章中,已多次使用過以 號開頭的預處理命令。如包含命令 include 巨集定義命令 define pi 3.1415926等。在源程式中這些命令都放在函式之外,而且一般都放在原始檔的前面,它們稱為預處理部分。無參巨集的巨集名後不帶引數。其定義的一般形式為 define 識別符號 字串 其中的...