C語言條件控制語句(一)

來源:互聯網
上載者:User

在程式的三種基本結構中,第二種即為選擇結構,其基本特點是:程式的流程由多路分支組成,在程式的一次執行過程中,根據不同的情況,只有一條支路被選中執行,而其他分支上的語句被直接跳過。

C語言中,提供if語句和switch語句選擇結構,if語句用於兩者選一的情況,而switch用於多分支選一的情形。

3.3.1 if語句

1.if語句的兩種基本形式首先,我們看一個例子,由此瞭解選擇結構的意義及設計方法。

[例3-5]輸入三個數,找出並列印其最小數。

分析:設三個數為A、B、C,由鍵盤讀入,我們用一個變數MIN來標識最小數,A、B、C與MIN皆定義為int型變數。

每次比較兩個數,首先比較A和B,將小的一個賦給MIN,再把第三個數C與MIN比較,再將小的一個賦給MIN,則最後MIN即為A、B、C中最小數。

演算法如下:

1)輸入A、B、C。

2)將A與B中小的一個賦給MIN。

3)將MIN與C中小的一個賦給MIN。

4)輸出MIN。

將第2)步細化為:若A<B,則MIN<==A,否則:MIN<==B;其流程圖見圖3-1。

第3)步細化為:若C<MIN,則MIN<==C;其流程圖見圖3-2。

對應圖3-1和圖3-2,正是if語句的兩種基本形式,與圖3-2對應的if語句的格式為:

if <運算式> 語句

當運算式為真時,執行語句,運算式為假時跳過語句。

與圖3-1對應的if語句的格式為:

if〈運算式〉
語句1
else
語句2

當運算式為真時,執行語句1,運算式為假時執行語句2。無論如何,語句1與語句2每次只能有一個被執行。

要注意的是:if或if...else,包括後面要講到的嵌套if,即if...elseif...被看成是一條語句,即使其中的語句是包含多條語句的複合陳述式,仍然如此。

下面是例3-5的來源程式:

main()
{
int a,b,c,min;
printf("input a,b,c:");
scanf("%d%d%d",&a,&b,&c);
if(a<b)
min=a;
else
min=b;
if(c<min)
min=c;
printf("There sult is%d\n",min);
}

執行情況如下:

RUN
inputa,b,c:3 5 2
Theresultis:2

這裡順便提一下程式書寫的縮排問題,所謂縮排,就是下一行與上一行相比,行首向右縮排若字元,如上例的min=a、min=b等。適當的縮排能使程式的結構、層次清晰、一目瞭然,增加程式的易讀性。應該從一開始就養成一個比較好的書寫習慣,包括必要的注釋、適當的空行以及縮排。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.