c語言ifcase分支選擇結(jié)構(gòu)_第1頁
c語言ifcase分支選擇結(jié)構(gòu)_第2頁
c語言ifcase分支選擇結(jié)構(gòu)_第3頁
c語言ifcase分支選擇結(jié)構(gòu)_第4頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、C 語言 if case 分支選擇結(jié)構(gòu)C 語言 if case 分支選擇結(jié)構(gòu)復合語句在 C 語言中,用 一對花括號“ ”將若干條語句括起來成為一個語句組,稱為 復合語句,其一般形式如下:語句1 ;語句2;語句3 ; 語句 n ;花括號內(nèi)語句的數(shù)量、類型不限,可以是聲明語句、賦值語句等;一個復合語句在語法上被視為一條語句。 例如: #include <stdio.h& gt;main() int a,b,c; /*變量 a,b,c 只能在此復合語句內(nèi)使用 */a=10; b=20;c=a+b;printf (“ %d, %d,n” ,a,b,c ); 注意,復合語句內(nèi)的定義變量語句要出現(xiàn)在

2、執(zhí)行語句之前,且復合語句內(nèi)定義 的變量只能在該復合語句內(nèi)部有效。 4.2 二分支選擇結(jié)構(gòu)一、 簡單的二分支選擇結(jié)構(gòu) C語言的if語句有兩種基本形式。1、 獨立if結(jié)構(gòu)(1 )語法形式if (表達式)語句其中,if是C語言的關(guān)鍵字;表達式可以是任意的表達式且一對圓 括號不可缺省; 語句可以是一條簡單語句或復合語句。 ( 2) 執(zhí)行過程首先計算表達式的值,然后根據(jù)其真假來決定程序 的走向。 若表達式為真 (值為非零) 則執(zhí)行語句, 若為假(值 為零)則不執(zhí)行語句。退出分支結(jié)構(gòu)后程序繼續(xù)執(zhí)行 if 結(jié)構(gòu) 后面的語句。圖 4.1 if 結(jié)構(gòu)流程圖( 3)舉例 if(a>b)b+; 若 a 的初值

3、為 20, b 的初值為 10,則表達式 (a>b) 為真, 執(zhí)行語句“ b+; ” a則的結(jié)果為20,b的結(jié)果為11。若a的初 值為 10 ,b 的初值為 20 ,則表達式 (a>b) 為假,不執(zhí)行語 句“ b+; ” a卿b均保留初值:10和20。如果語句為復合語 句,將以上程序段改為:if(a>b) b+;a+; 貝畀若a的 初值為20 , b的初值為10,則表達式(a>b)為真,執(zhí)行語 句“ b+; ”和“ a+a”的結(jié)果為21,b的結(jié)果為11。而若a 的初值為 10, b 的初值為 20,則表達式 (a>b) 為假,語句“ b+; ”和“ a+; ”均不

4、被執(zhí)的結(jié)果仍為10,b的結(jié)果仍為 20。若將復合語句的一對花括號去掉則程序段成為: if(a>b)b+;a+;此時,語句“ a+; ”已不再屬于結(jié)構(gòu),不 管條件為真或為假,對于整個程序來說它都將被執(zhí)行。 2、 if-else結(jié)構(gòu)(1)語法形式if (表達式)語句lelse語句2其 中,if和else是C語言的關(guān)鍵字,表達式及語句1、語句2解釋同上;else不能獨立存在,它必須與if語句配對、組合方可使用,否則會產(chǎn)生語法錯誤;else后面絕對不能跟 條件表達式,它執(zhí)行的條件是隱含的,即與之配對的if的反面。( 2)執(zhí)行過程 首先計算表達式的值,然后根據(jù)其真假 來決定程序的走向。若表達式為真

5、(值為非零)則執(zhí)行語句 1 ,若為假(值為零)則執(zhí)行語句 2。退出分支結(jié)構(gòu)后程序繼 續(xù)執(zhí)行 if-else 結(jié)構(gòu)后面的語句。 圖4.2 if-else 結(jié)構(gòu)流程圖(3) 舉例 if(a>b)b+;elsea+; 若 a 的初值為 20, b 的初值為 10 ,則表達式(a>b)為真,執(zhí)行語句“ b+; ” ,然后退lf-felse 結(jié)構(gòu),則 a 的結(jié)果為 20,b 的結(jié)果為 11。若 a 的初值為 10,b 的初值為 20,則表達式 (a>b) 為假,執(zhí)行語句“ a+; ”然, 后退出 if-else 結(jié)構(gòu),則 a 的結(jié)果為 11,b 的結(jié)果為 20 。前文 曾提到過語句 1

6、 和語句 2 都可以是復合語句, 但如果不慎將 語句 1 的花括號丟了,則編譯時會出現(xiàn)語法錯誤,如下例: main()int a=1,b=2;if(a>b) a+; b-;else a-; 該程序執(zhí)行時會出現(xiàn)錯誤提示信息:“ Error:Misplaced else in function main ”,因為此時else不能與if合法匹配,而else又不能獨 立存在,所以出現(xiàn)了上述錯誤。二、嵌套的二分支選擇結(jié)構(gòu)1、在if語句中嵌套分支結(jié)構(gòu)(1)語法形式if (表達式1) if(表達式2) 語句1 else 語句2else 語句3其中, 表達式1、2均可以是任意的表達式;語句 1、2、3均可 以是一條簡單語句或復合語句; 內(nèi)層 if-else 語句書寫時注 意格式縮進以培養(yǎng)良好的程序設(shè)計風格; 內(nèi)層 if-else 結(jié)構(gòu) 仍然可以繼續(xù)嵌套,以此類推。( 2)執(zhí)行過程首先計算表達式 1 的值, 若表達式 1 為真則執(zhí)行內(nèi)層 if-else 語句, 若表達 式 1 為假則執(zhí)行語句 3。若執(zhí)行內(nèi)層 if-else 語句,則計算表 達式 2 的值,若表達式 2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論