




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第3 3章章 C C語(yǔ)言流程控制語(yǔ)言流程控制本章重點(diǎn) 格式化輸入輸出函數(shù) C語(yǔ)言中的順序、分支和循環(huán)程序的設(shè)計(jì)方法3.1格式化輸入輸出函數(shù) printf()函數(shù) scanf()函數(shù)3.11 printf()函數(shù) C標(biāo)準(zhǔn)庫(kù)函數(shù)中提供了一些輸入輸出函數(shù),如前面遇到的printf()函數(shù)和scanf()函數(shù),它們非C關(guān)鍵詞,而是函數(shù)名而已,可以自己編寫輸入輸出函數(shù)。printf()函數(shù)和scanf()函數(shù)在系統(tǒng)文件“stdio.h”中聲明,所以在程序的開始部分要使用編譯預(yù)處理命令“#include ”。在日常生活中,我們要經(jīng)常將華氏溫度轉(zhuǎn)換成攝氏溫度,其轉(zhuǎn)換公式如下:式中: c表示攝氏溫度, f表
2、示華氏溫度。運(yùn)行結(jié)果:運(yùn)行結(jié)果:9325fc如: printf()函數(shù)的作用就是輸出。對(duì)比:函數(shù)語(yǔ)句:printf(fahr = %f, celsius = %fn, fahr, celsius);輸出結(jié)果: fahr = 100.000000,celsius = 37.777778得出:雙引號(hào)里,第一個(gè)%f換成了fahr的值,第二個(gè)%f換成了celsius的值,并且以單精度數(shù)據(jù)形式顯示。printf()函數(shù)一般的調(diào)用格式為:printf(格式控制字符串格式控制字符串, 輸出參數(shù)輸出參數(shù)1, 輸出參輸出參數(shù)數(shù)2, , 輸出參數(shù)輸出參數(shù)n);“格式控制字符串”是用雙引號(hào)括起來(lái)的字符串,也稱作“轉(zhuǎn)
3、換控制字符串”,包括兩種意思。 普通字符普通字符即需要原樣輸出字符。如: printf(fahr = %f, celsius = %fn, fahr, celsius); fahr = 100.000000,celsius = 37.777778雙引號(hào)內(nèi),兩個(gè)%f變化除外,其余均無(wú)改變 格式說(shuō)明格式說(shuō)明由“%”和格式字符組成,如%d、%f等,它的作用是將輸出的數(shù)據(jù)轉(zhuǎn)換成指定的格式輸出。格式說(shuō)明格式說(shuō)明輸出輸出%c%d%e%E%x%u%s%o%G%g%f%X一個(gè)字符一個(gè)字符根據(jù)數(shù)值的不同自動(dòng)選擇根據(jù)數(shù)值的不同自動(dòng)選擇%f或或%e。用于指數(shù)小于。用于指數(shù)小于-4或者大于精度或者大于精度根據(jù)數(shù)值的不
4、同自動(dòng)選擇根據(jù)數(shù)值的不同自動(dòng)選擇%F或或%E。用于指數(shù)小于。用于指數(shù)小于-4或者大于精度或者大于精度無(wú)符號(hào)八進(jìn)制整數(shù)無(wú)符號(hào)八進(jìn)制整數(shù)字符串字符串無(wú)符號(hào)十進(jìn)制整數(shù)無(wú)符號(hào)十進(jìn)制整數(shù)使用十六進(jìn)制數(shù)字使用十六進(jìn)制數(shù)字of的無(wú)符號(hào)十六進(jìn)制整數(shù)的無(wú)符號(hào)十六進(jìn)制整數(shù)使用十六進(jìn)制數(shù)字使用十六進(jìn)制數(shù)字oF的無(wú)符號(hào)十六進(jìn)制整數(shù)的無(wú)符號(hào)十六進(jìn)制整數(shù)輸出一個(gè)輸出一個(gè)%有符號(hào)十進(jìn)制整數(shù)有符號(hào)十進(jìn)制整數(shù)浮點(diǎn)數(shù)、以指數(shù)的形式輸出(浮點(diǎn)數(shù)、以指數(shù)的形式輸出(1.2e+02)浮點(diǎn)數(shù)、以指數(shù)的形式輸出(浮點(diǎn)數(shù)、以指數(shù)的形式輸出(1.2E+02)以小數(shù)點(diǎn)形式輸出浮點(diǎn)數(shù)、十進(jìn)制記數(shù)法以小數(shù)點(diǎn)形式輸出浮點(diǎn)數(shù)、十進(jìn)制記數(shù)法字符字符說(shuō)明說(shuō)
5、明l用于長(zhǎng)整型整數(shù),可加在格式符用于長(zhǎng)整型整數(shù),可加在格式符d、o、x、u前面前面m(正整數(shù)正整數(shù))數(shù)據(jù)最小寬度數(shù)據(jù)最小寬度n(正整數(shù)正整數(shù))對(duì)于實(shí)數(shù),表示輸出對(duì)于實(shí)數(shù),表示輸出n位小數(shù);對(duì)于字位小數(shù);對(duì)于字符串,表示截取的字符個(gè)數(shù)符串,表示截取的字符個(gè)數(shù)輸出的數(shù)字或者字符在域內(nèi)向左靠輸出的數(shù)字或者字符在域內(nèi)向左靠1.對(duì)于%md和%ms,m為指定輸出數(shù)據(jù)的寬度,如果數(shù)據(jù)的位數(shù)小于m,則左端補(bǔ)空格,若大于m,則按實(shí)際位數(shù)輸出。例如:printf(%4d, %4d, a, b) 若a = 12,b = 12345,則輸出結(jié)果為:12,12345 注意:注意:2.對(duì)于%-ms,如果字符串的長(zhǎng)度小于m
6、,則輸出m列,不足的位數(shù)在右側(cè)補(bǔ)空格。例如:printf(“%-4d,%-4d”,a,b);若a=12,b=12345;結(jié)果為:a=12,b=12345。3.對(duì)于%m.s,輸出占m列,但只是取字符串中左端n個(gè)字符,這n個(gè)字符輸出在m列的右側(cè),左端補(bǔ)空格。%-m.s則在右側(cè)補(bǔ)空格,如果n m,則m自動(dòng)取n值,即保證n個(gè)字符正常輸出。4.對(duì)于%m.nf,指定輸出的數(shù)據(jù)共占m列,其中n位小數(shù)。如果數(shù)值長(zhǎng)度小于m,則左端補(bǔ)空格。%-m.nf與%m.nf一樣,只是使輸出的數(shù)值向左端靠,右端補(bǔ)空格。3.1.2 scanf()函數(shù) 依舊探討華氏溫度轉(zhuǎn)換成攝氏溫度,上一節(jié)中,華氏溫度為一定值,如果根據(jù)用戶來(lái)輸
7、入相應(yīng)的數(shù)據(jù),求攝氏溫度,那該如何進(jìn)行相應(yīng)的輸入呢?運(yùn)行結(jié)果:Please input fahr :140fahr = 140.000000,celsius = 60.000000scanf()函數(shù)作用,函數(shù)作用,輸入數(shù)值輸入數(shù)值例:例: scanf函數(shù)的作用是輸入數(shù)據(jù),其基本格式為: scanf(格式控制格式控制,地址列表,地址列表) “格式控制”的含義和printf函數(shù)的格式控制。格式說(shuō)明也是以%開始,以一個(gè)格式字符結(jié)束,中間可以插入一些普通字符 ,普通字符同樣按原樣輸出。格式說(shuō)明符格式說(shuō)明符意義意義%c輸入單個(gè)字符輸入單個(gè)字符%d輸入有符號(hào)的十進(jìn)制整數(shù)輸入有符號(hào)的十進(jìn)制整數(shù)%f輸入浮點(diǎn)數(shù)
8、,可以用小數(shù)或者整數(shù)形式輸入輸入浮點(diǎn)數(shù),可以用小數(shù)或者整數(shù)形式輸入%o輸入無(wú)符號(hào)的八進(jìn)制數(shù)輸入無(wú)符號(hào)的八進(jìn)制數(shù)%s輸入字符串,將字符串存放到一個(gè)字符數(shù)組中,輸入時(shí)以非輸入字符串,將字符串存放到一個(gè)字符數(shù)組中,輸入時(shí)以非空白字符開始,以第一個(gè)空白字符結(jié)束,字符串以串結(jié)束標(biāo)空白字符開始,以第一個(gè)空白字符結(jié)束,字符串以串結(jié)束標(biāo)志志0作為其最后一個(gè)字符。作為其最后一個(gè)字符。%u輸入無(wú)符號(hào)的十進(jìn)制整數(shù)輸入無(wú)符號(hào)的十進(jìn)制整數(shù)%x,%X輸入無(wú)符號(hào)的十六進(jìn)制整數(shù)輸入無(wú)符號(hào)的十六進(jìn)制整數(shù)%e,% E,%g,%G與與%f的作用相同,的作用相同,e,f,g可以互相替換而且大小寫的作用相可以互相替換而且大小寫的作用相
9、同。同。 scanf函數(shù)的格式說(shuō)明符函數(shù)的格式說(shuō)明符字符字符意義意義l用于輸入長(zhǎng)整型數(shù)據(jù),可用于用于輸入長(zhǎng)整型數(shù)據(jù),可用于%ld、%lo、%lx、%lu以及以及double型數(shù)型數(shù)據(jù)據(jù)%lf或或%leh用于輸入短整型數(shù)據(jù),可用于用于輸入短整型數(shù)據(jù),可用于%hd、%ho、%hx域?qū)捰驅(qū)捴付ㄝ斎霐?shù)據(jù)所占的列寬,應(yīng)為一個(gè)正整數(shù)指定輸入數(shù)據(jù)所占的列寬,應(yīng)為一個(gè)正整數(shù)*表示本輸入項(xiàng)在讀入后不賦給相應(yīng)的變量表示本輸入項(xiàng)在讀入后不賦給相應(yīng)的變量如:如:scanf(”%d”,&i); 輸入輸入1234,結(jié)果,結(jié)果i的值為的值為1234 輸入輸入1234,結(jié)果,結(jié)果i的值為的值為123 輸入輸入 123
10、4,結(jié)果,結(jié)果i的值為的值為1234為了更清楚地了解scanf()函數(shù)的用法,須知以下幾點(diǎn):如:如:scanf(”%d, %d”, &a,&b)加上加上“&”,表示,表示變量變量a和和b的地址的地址這個(gè),輸入時(shí),必須加上這個(gè),輸入時(shí),必須加上逗號(hào),才能保證正確逗號(hào),才能保證正確如:如:scanf(”%4d”,&i); 輸入輸入12345,結(jié)果,結(jié)果i的值為的值為1234(因?yàn)橹付ㄓ驅(qū)挒椋ㄒ驗(yàn)橹付ㄓ驅(qū)挒?) 輸入輸入12345,結(jié)果,結(jié)果i的值為的值為123(因?yàn)橛鲆娍瞻鬃址ㄒ驗(yàn)橛鲆娍瞻鬃址?. scanf格式控制中的普通字符必須按原樣格式控制中的普通字符必
11、須按原樣輸入,地址列表中必須為地址,在變量輸入,地址列表中必須為地址,在變量前加上前加上“取地址運(yùn)算符取地址運(yùn)算符”2. 讀取數(shù)據(jù)的時(shí)候是以指定域?qū)捇蛘叩谝蛔x取數(shù)據(jù)的時(shí)候是以指定域?qū)捇蛘叩谝粋€(gè)空白字符處為終止(最先達(dá)到者)個(gè)空白字符處為終止(最先達(dá)到者)3. 若第一個(gè)或前幾個(gè)連續(xù)為空白字符、制若第一個(gè)或前幾個(gè)連續(xù)為空白字符、制表符和換行符,都將跳過(guò)這些字符表符和換行符,都將跳過(guò)這些字符4. 注意注意%s格式說(shuō)明符的用法格式說(shuō)明符的用法要點(diǎn)深度解析:要點(diǎn)深度解析:結(jié)合要點(diǎn)結(jié)合要點(diǎn)1,了解地址的含義,了解地址的含義 結(jié)合要點(diǎn)結(jié)合要點(diǎn)2、3,分析多數(shù)據(jù)輸入情況,分析多數(shù)據(jù)輸入情況 結(jié)合要點(diǎn)結(jié)合要點(diǎn)4
12、,掌握,掌握%s的用法的用法3.2 程序流程圖 流程圖是用一些圖框來(lái)表示各種操作。用流程圖來(lái)表示算法,直觀形象,易于理解。美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)ANSI規(guī)定了一些常用的流程圖符號(hào)。菱形框菱形框,是對(duì)一個(gè)給定的條件進(jìn)行判斷,根據(jù)給定的條件是否成立來(lái)決定如何執(zhí)行其后的操作。它有一個(gè)入口,兩個(gè)出口連接點(diǎn)連接點(diǎn),是用于將畫在不同地方的流程線連接起來(lái)。在流程圖中,編號(hào)相同的連接點(diǎn)表示這些點(diǎn)是互相連接在一起的注釋框注釋框,不是流程圖中的必要部分,不反應(yīng)流程和操作,只是為了對(duì)流程圖中某些框的操作作必要的補(bǔ)充說(shuō)明,以便于人們更好的理解流程圖例:求一數(shù)值的絕對(duì)值。數(shù)學(xué)分析:若此數(shù)值本身就不小于0,就是其本身,反之,
13、為其相反數(shù)。?0 x輸出輸出X輸出輸出 -xX滿足條件滿足條件不滿足條件不滿足條件流程圖表示:流程圖表示:三種基本結(jié)構(gòu):三種基本結(jié)構(gòu):1.順序結(jié)構(gòu),流程圖表示如下:順序結(jié)構(gòu),流程圖表示如下: 執(zhí)行完執(zhí)行完A框指定的操作后接著執(zhí)行框指定的操作后接著執(zhí)行B框所指定的框所指定的操作。順序結(jié)構(gòu)是最簡(jiǎn)單的一種基本結(jié)構(gòu)。操作。順序結(jié)構(gòu)是最簡(jiǎn)單的一種基本結(jié)構(gòu)。2.選擇結(jié)構(gòu),流程圖表示如下:選擇結(jié)構(gòu),流程圖表示如下: 此結(jié)構(gòu)中必須包含一個(gè)判斷框,根據(jù)給定的條件此結(jié)構(gòu)中必須包含一個(gè)判斷框,根據(jù)給定的條件p是否成立來(lái)選擇執(zhí)行是否成立來(lái)選擇執(zhí)行A框還是框還是B框中所指定的操作。框中所指定的操作。無(wú)論無(wú)論p條件是否成
14、立,只能執(zhí)行條件是否成立,只能執(zhí)行A框或者框或者B框之一,兩框之一,兩者不可能同時(shí)執(zhí)行。者不可能同時(shí)執(zhí)行。A框或者框或者B框有一個(gè)可以是空的,框有一個(gè)可以是空的,不執(zhí)行任何操作不執(zhí)行任何操作3.循環(huán)結(jié)構(gòu),流程圖表示如下:循環(huán)結(jié)構(gòu),流程圖表示如下: 當(dāng)(當(dāng)(while)型循環(huán)結(jié)構(gòu)。其功能是:當(dāng)給定的條件)型循環(huán)結(jié)構(gòu)。其功能是:當(dāng)給定的條件p1成立時(shí),執(zhí)行成立時(shí),執(zhí)行A框操作,執(zhí)行完框操作,執(zhí)行完A后,再判斷條件后,再判斷條件p1是否成是否成立,如果仍然成立,再執(zhí)行立,如果仍然成立,再執(zhí)行A框,如此反復(fù)執(zhí)行框,如此反復(fù)執(zhí)行A框,直到框,直到某一次條件某一次條件p1不成立為止,此時(shí)不執(zhí)行不成立為止,
15、此時(shí)不執(zhí)行A框,從框,從b點(diǎn)脫離循點(diǎn)脫離循環(huán)結(jié)構(gòu)環(huán)結(jié)構(gòu) 直到(直到(until)型循環(huán)結(jié)構(gòu)。其功能是:先執(zhí)行)型循環(huán)結(jié)構(gòu)。其功能是:先執(zhí)行A框,框,然后判斷給定的條件然后判斷給定的條件p2是否成立,如果是否成立,如果p2條件不成立,則條件不成立,則再執(zhí)行再執(zhí)行A,然后再對(duì),然后再對(duì)p2條件作判斷,如果條件作判斷,如果p2條件仍然不成條件仍然不成立,又執(zhí)行立,又執(zhí)行A如此反復(fù)執(zhí)行如此反復(fù)執(zhí)行A,直到給定的條件,直到給定的條件p2成立成立為止,此時(shí)不再執(zhí)行為止,此時(shí)不再執(zhí)行A,從,從b點(diǎn)脫離循環(huán)結(jié)構(gòu)點(diǎn)脫離循環(huán)結(jié)構(gòu)3.3順序結(jié)構(gòu)程序設(shè)計(jì) 算術(shù)運(yùn)算符 算術(shù)表達(dá)式 賦值表達(dá)式例:求一元二次方程的兩根。例
16、:求一元二次方程的兩根。運(yùn)行結(jié)果:運(yùn)行結(jié)果: 從主函數(shù)入口開始執(zhí)行,定義變量,輸入數(shù)從主函數(shù)入口開始執(zhí)行,定義變量,輸入數(shù)值,求解方程的解,這都是按照代碼的一步一步值,求解方程的解,這都是按照代碼的一步一步往下實(shí)現(xiàn)的。往下實(shí)現(xiàn)的。3.3.1算術(shù)運(yùn)算符5種基本運(yùn)算符:種基本運(yùn)算符:1). + (加法或者正直運(yùn)算符加法或者正直運(yùn)算符)2). (減法或者負(fù)值運(yùn)算符減法或者負(fù)值運(yùn)算符)3). * (乘法運(yùn)算符乘法運(yùn)算符)4)./ (除法運(yùn)算符除法運(yùn)算符)5).%(求余運(yùn)算符求余運(yùn)算符)注意:注意: 加法和減法運(yùn)算符同于數(shù)學(xué)上加法和減法運(yùn)算符同于數(shù)學(xué)上 乘法在乘法在c語(yǔ)言中用語(yǔ)言中用“*”,而不用,而不
17、用“” 除法在除法在c語(yǔ)言中是語(yǔ)言中是“/”,而不用,而不用“” 使用使用“/”時(shí),若除數(shù)和被除數(shù)都為整數(shù),則商也時(shí),若除數(shù)和被除數(shù)都為整數(shù),則商也是整數(shù),若參與運(yùn)算的有負(fù)數(shù),是整數(shù),若參與運(yùn)算的有負(fù)數(shù),3.3.2算術(shù)表達(dá)式算術(shù)表達(dá)式 即用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象連接起來(lái),符合C語(yǔ)法規(guī)則的式子算術(shù)運(yùn)算時(shí)是按照優(yōu)先級(jí)進(jìn)行的,若優(yōu)先級(jí)相同,則按照結(jié)合方向進(jìn)行計(jì)算,并且每一個(gè)表達(dá)式都會(huì)有一個(gè)確定的值。3.3.3賦值表達(dá)式由賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)式連接起來(lái)的式子稱為賦值表達(dá)式。其一般形式為:變量變量賦值運(yùn)算符賦值運(yùn)算符表達(dá)式表達(dá)式計(jì)算過(guò)程是:先計(jì)算賦值運(yùn)算符右側(cè)的“表達(dá)式”的值,然后將這個(gè)值
18、賦值給左邊的變量。多個(gè)賦值表達(dá)式共存則按結(jié)合性“自右而左”進(jìn)行一步一步分別賦值。常用的復(fù)合賦值運(yùn)算符常用的復(fù)合賦值運(yùn)算符a+=y等價(jià)于a=a+yb=y等價(jià)于b=byc*=y等價(jià)于c=c*yd/=y等價(jià)于d=d/ye%=y等價(jià)于e=e%yy可以是常量、變量以及復(fù)雜的表達(dá)式賦值運(yùn)算符賦值運(yùn)算符“=”之前加上其他運(yùn)算之前加上其他運(yùn)算符,就構(gòu)成復(fù)合賦值運(yùn)算符。符,就構(gòu)成復(fù)合賦值運(yùn)算符。 編寫程序:編寫程序:從鍵盤上輸入三角形的三邊,根據(jù)從鍵盤上輸入三角形的三邊,根據(jù)下面的公式求出三角形的面積下面的公式求出三角形的面積area。假設(shè)輸入假設(shè)輸入a、b和和c三邊的邊長(zhǎng)能夠組成一個(gè)三角形。三邊的邊長(zhǎng)能夠組成
19、一個(gè)三角形。)()(csbsassarea程序?yàn)椋撼绦驗(yàn)椋?.4 選擇結(jié)構(gòu)程序設(shè)計(jì) 關(guān)系運(yùn)算符和關(guān)系表達(dá)式 邏輯運(yùn)算符和邏輯表達(dá)式 if語(yǔ)句與switch例:一元二次方程根的情況。例:一元二次方程根的情況。運(yùn)行結(jié)果:運(yùn)行結(jié)果: 此程序就體現(xiàn)了,根據(jù)不同的情況,有此程序就體現(xiàn)了,根據(jù)不同的情況,有不同的結(jié)果,就達(dá)到了一種選擇的目的。不同的結(jié)果,就達(dá)到了一種選擇的目的。3.4.1關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符關(guān)系運(yùn)算符運(yùn)算符含義小于大于=大于或等于=等于!=不等于算術(shù)運(yùn)算符算術(shù)運(yùn)算符關(guān)系運(yùn)算符關(guān)系運(yùn)算符賦值運(yùn)算符賦值運(yùn)算符算術(shù)運(yùn)算符:算術(shù)運(yùn)算符: * / %關(guān)系運(yùn)算符:關(guān)系運(yùn)算符: = 算術(shù)運(yùn)算
20、負(fù)算術(shù)運(yùn)算負(fù)關(guān)系運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算符邏輯運(yùn)算符&與與|為雙目運(yùn)算符,需要兩個(gè)運(yùn)算量為雙目運(yùn)算符,需要兩個(gè)運(yùn)算量!為單目運(yùn)算符,只需要一個(gè)!為單目運(yùn)算符,只需要一個(gè) 邏輯表達(dá)式:由邏輯運(yùn)算符連接兩個(gè)數(shù),進(jìn)行邏輯運(yùn)算的式子。 表達(dá)式結(jié)果:“真”“假”邏輯量:參與邏輯運(yùn)算的量邏輯值:邏輯量、邏輯表達(dá)式的運(yùn)算結(jié)果任何非“0”的邏輯量的邏輯值都為真寫出下面各邏輯表達(dá)式的值。設(shè)a=3,b=4,c=5;1. a+bc&b=c2. a|b+c&b-c3. ! (ab)&! c|14. ! (x=a)&(y=b)&05. ! (a+b)+c-1&b+
21、c/21.02.13.14.05.13.4.3 if語(yǔ)句與switch語(yǔ)句if,英語(yǔ)中其義有“如果”的意思。那么就來(lái)研究C語(yǔ)言中的“如果”。1.if語(yǔ)句格式 :if(表達(dá)式)語(yǔ)句組;流程圖:流程圖: 如果表達(dá)式的值為真,就語(yǔ)句組中的如果表達(dá)式的值為真,就語(yǔ)句組中的語(yǔ)句語(yǔ)句;如果不為真,就執(zhí)行語(yǔ)句組后的語(yǔ)句如果不為真,就執(zhí)行語(yǔ)句組后的語(yǔ)句表達(dá)式語(yǔ)句組真假2.在在if語(yǔ)句中添加語(yǔ)句中添加else子句子句格式 :if(表達(dá)式) 語(yǔ)句組1; else語(yǔ)句組2;如果表達(dá)式的值為真,就執(zhí)行語(yǔ)句組1;如果不為真,就執(zhí)行語(yǔ)句組2。流程圖:流程圖: 表達(dá)式語(yǔ)句組1語(yǔ)句組2真假3.多重選擇else if格式:if
22、(表達(dá)式1)語(yǔ)句組1;else if(表達(dá)式2)語(yǔ)句組2;else if(表達(dá)式3)語(yǔ)句組3;else語(yǔ)句組n;表達(dá)式1語(yǔ)句組1真假表達(dá)式2表達(dá)式3語(yǔ)句組n語(yǔ)句組3語(yǔ)句組2假假真真流程圖:流程圖: 當(dāng)表達(dá)式當(dāng)表達(dá)式1為真的時(shí)候則執(zhí)行語(yǔ)句組為真的時(shí)候則執(zhí)行語(yǔ)句組1,否則的話,將,否則的話,將判斷表達(dá)式判斷表達(dá)式2的真假,表達(dá)式的真假,表達(dá)式2為真,則執(zhí)行語(yǔ)句組為真,則執(zhí)行語(yǔ)句組2依依次這樣判斷。次這樣判斷。4.if語(yǔ)句的嵌套在if語(yǔ)句的語(yǔ)句組中又包含一個(gè)或多個(gè)if語(yǔ)句稱為if語(yǔ)句的嵌套如:if(表達(dá)式1)if(表達(dá)式2)語(yǔ)句組; if的多重嵌套時(shí),得注意if和else的搭配,寫法要得當(dāng)! if語(yǔ)
23、句實(shí)現(xiàn)多分支時(shí),需要嵌套的if語(yǔ)句層數(shù)較多,程序冗長(zhǎng),可讀性低。因此可用switch語(yǔ)句來(lái)處理多分支情況。 switch(表達(dá)式表達(dá)式)case 常量表達(dá)式常量表達(dá)式1:語(yǔ)句組:語(yǔ)句組1;case 常量表達(dá)式常量表達(dá)式2:語(yǔ)句組:語(yǔ)句組2;case 常量表達(dá)式常量表達(dá)式n:語(yǔ)句組:語(yǔ)句組n;default: 語(yǔ)句組語(yǔ)句組n+1;switch說(shuō)明:說(shuō)明:switch括號(hào)內(nèi)的表達(dá)式任意,值和哪個(gè)case后的常量表達(dá)式匹配,就執(zhí)行后面的語(yǔ)句,沒(méi)有匹配的,就執(zhí)行default后面的,default可省略。每個(gè)case后常量表達(dá)式的值必須不一樣,case和default的順序不影響結(jié)果。執(zhí)行完一個(gè)cas
24、e后,程序流程轉(zhuǎn)移到下一個(gè)case,直到運(yùn)行完全或遇見break語(yǔ)句,并非直接跳出。多個(gè)case可以共用一個(gè)執(zhí)行語(yǔ)句。例:例:輸入兩個(gè)實(shí)數(shù),按照代數(shù)值由小到大的順序輸出這兩個(gè)數(shù)。滿足滿足if條件就條件就交換交換a,b的值的值例:輸入三個(gè)實(shí)數(shù),編程找出其中最大例:輸入三個(gè)實(shí)數(shù),編程找出其中最大的一個(gè)并輸出的一個(gè)并輸出探究唯一的三目運(yùn)算符探究唯一的三目運(yùn)算符三目運(yùn)算符一般形式:表達(dá)式表達(dá)式1?表達(dá)式?表達(dá)式2:表達(dá)式:表達(dá)式3 其執(zhí)行順序?yàn)椋合惹蠼獗磉_(dá)式1,若為真(非0),則求解表達(dá)式2,并把表達(dá)式2的值作為整個(gè)條件表達(dá)式的值。若表達(dá)式1為假(0),則求解表達(dá)式3,并把表達(dá)式3的值作為整個(gè)條件表達(dá)
25、式的值。注意點(diǎn):注意點(diǎn):1. 條件運(yùn)算符的優(yōu)先級(jí)別高于賦值運(yùn)算符,條件運(yùn)算符的優(yōu)先級(jí)別高于賦值運(yùn)算符,但是比關(guān)系運(yùn)算符和算術(shù)運(yùn)算符要低。但是比關(guān)系運(yùn)算符和算術(shù)運(yùn)算符要低。2. 條件運(yùn)算符的結(jié)合方向?yàn)闂l件運(yùn)算符的結(jié)合方向?yàn)椤白杂蚁蜃笞杂蚁蜃蟆?. 條件表達(dá)式中的表達(dá)式條件表達(dá)式中的表達(dá)式2和表達(dá)式和表達(dá)式3可以是可以是任意的表達(dá)式。表達(dá)式任意的表達(dá)式。表達(dá)式1與表達(dá)式與表達(dá)式2和表達(dá)和表達(dá)式式3的類型也可以不同。的類型也可以不同。編寫程序:10113101121xxxxxxy 編寫一程序,從鍵盤上輸入x的值,根據(jù)上面的函數(shù),求出y的值。語(yǔ)句組中只有一句,花括號(hào)可以省略。語(yǔ)句組中只有一句,花括號(hào)可
26、以省略。3.5循環(huán)結(jié)構(gòu)程序設(shè)計(jì) while循環(huán)與自增自減運(yùn)算符 dowhile語(yǔ)句 for語(yǔ)句 逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式3.5.1 while循環(huán)與自增自減while語(yǔ)句用來(lái)實(shí)現(xiàn)“當(dāng)型”循環(huán)結(jié)構(gòu)。其一般形式:while(表達(dá)式)語(yǔ)句組;在語(yǔ)句組中必須包含能改變表達(dá)式的值來(lái)使表達(dá)式的值最終變?yōu)榧伲駝t循環(huán)永遠(yuǎn)不會(huì)中止例:使用例:使用while循環(huán)來(lái)求循環(huán)來(lái)求“1+2+3+100”的值的值運(yùn)行結(jié)果:運(yùn)行結(jié)果:循環(huán)條件循環(huán)條件i為循環(huán)變量為循環(huán)變量循環(huán)變量增值循環(huán)變量增值循環(huán)體循環(huán)體i=1i100sum+=ii+真真假假流程圖如下:流程圖如下:循環(huán)變量初始化循環(huán)變量初始化i=1判斷表達(dá)式判斷表達(dá)式i
27、100是否成立是否成立u成立就執(zhí)行循環(huán)體成立就執(zhí)行循環(huán)體u不成立就執(zhí)行循環(huán)體后不成立就執(zhí)行循環(huán)體后面的語(yǔ)句面的語(yǔ)句(循環(huán)體未執(zhí)行循環(huán)體未執(zhí)行)執(zhí)行循環(huán)體后,就再?gòu)牡谝粓?zhí)行循環(huán)體后,就再?gòu)牡谝徊酵逻M(jìn)行判斷,直至為假步往下進(jìn)行判斷,直至為假就退出循環(huán)就退出循環(huán)循環(huán)體循環(huán)體i+使使i每次增每次增1sum+=i進(jìn)行累加進(jìn)行累加自增運(yùn)算符“+”,其作用使變量的值增1.與其相對(duì)的還有自減運(yùn)算符“-”,其作用使變量的值減1。自增自減運(yùn)算符為單目運(yùn)算符,所以僅需1個(gè)變量。注意,自增自減只能用于變量,不能用于常量或表達(dá)式自增、自減運(yùn)算符的使用有兩種方式:前綴模式:前綴模式:+變量,變量,-變量。變量。(在使用
28、變量之前,先使變量的值加(減)1)后綴模式:變量后綴模式:變量+,變量,變量-。(在使用變量之后,使變量的值加(減)1)在用自增、自減運(yùn)算符時(shí),易使表達(dá)式產(chǎn)生不正確的地方,盡量不用3.5.2 dowhile語(yǔ)句 dowhile循環(huán)先執(zhí)行循環(huán)體語(yǔ)句,然后再判斷while后面的條件是否成立。當(dāng)表達(dá)式為真,則返回重新執(zhí)行循環(huán)體語(yǔ)句,如此反復(fù),直到while后面的表達(dá)式為假才結(jié)束循環(huán)一般形式為:do循環(huán)體語(yǔ)句組;循環(huán)體語(yǔ)句組;while(表達(dá)式表達(dá)式);此處分號(hào)一此處分號(hào)一定不能少定不能少用用while和和dowhile分別求分別求1到到100的累加和的累加和while循環(huán)循環(huán)dowhile循環(huán)循環(huán)對(duì)
29、比:對(duì)比:while循環(huán)先判斷條件,成立則執(zhí)行循環(huán)體,不循環(huán)先判斷條件,成立則執(zhí)行循環(huán)體,不成立執(zhí)行其后語(yǔ)句;而成立執(zhí)行其后語(yǔ)句;而dowhile循環(huán)先執(zhí)行一次循環(huán)循環(huán)先執(zhí)行一次循環(huán)體后判斷條件,成立則再執(zhí)行循環(huán)體,不成立,退出循體后判斷條件,成立則再執(zhí)行循環(huán)體,不成立,退出循環(huán)。所以環(huán)。所以dowhile至少執(zhí)行一次循環(huán)體至少執(zhí)行一次循環(huán)體3.5.3 for語(yǔ)句C語(yǔ)言中的for語(yǔ)句是使用最為靈活的語(yǔ)句,其一般形式如下:for(表達(dá)式表達(dá)式1;表達(dá)式;表達(dá)式2;表達(dá)式;表達(dá)式3)循環(huán)體語(yǔ)句組;循環(huán)體語(yǔ)句組;當(dāng)循環(huán)體語(yǔ)句組只有一句時(shí),花括號(hào)可以省略。for循環(huán)的執(zhí)行過(guò)程:循環(huán)的執(zhí)行過(guò)程:求解表達(dá)式求解表達(dá)式1;求解表達(dá)式求解表達(dá)式2,如果為真,則執(zhí)行循
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 聲樂(lè)四級(jí)考試試題及答案
- 精算評(píng)估面試題及答案
- 中國(guó)現(xiàn)代藝術(shù)課件
- 2025年中國(guó)攀登睡墊行業(yè)市場(chǎng)全景分析及前景機(jī)遇研判報(bào)告
- 2025春季開學(xué)安全教育第一課
- 職業(yè)性腫瘤概述與防治策略
- 2025年新員工培訓(xùn)計(jì)劃
- 檢驗(yàn)科實(shí)習(xí)生培訓(xùn)
- 環(huán)境健康安全培訓(xùn)
- 采光井工程節(jié)能設(shè)計(jì)與綠色施工合同
- 2025年高考軍隊(duì)院校征集和招錄人員政治考核表(原表)
- TCCEAS001-2022建設(shè)項(xiàng)目工程總承包計(jì)價(jià)規(guī)范
- 2024年河北省物理組招生計(jì)劃
- 中華民族共同體概論課件專家版3第三講 文明初現(xiàn)與中華民族起源(史前時(shí)期)
- 法人委托書范本
- 最新版焊接工藝評(píng)定格式標(biāo)準(zhǔn)
- 【圖文】泵用密封沖洗方案演示圖
- 新世紀(jì)大學(xué)英語(yǔ)綜合教程4 Unit1
- 振型中的節(jié)點(diǎn),節(jié)線,節(jié)徑和節(jié)圓
- 虹鱒魚養(yǎng)殖項(xiàng)目可行性研究報(bào)告寫作范文
- 工業(yè)清洗劑PPT課件
評(píng)論
0/150
提交評(píng)論