資源描述:
《第7章 順序結(jié)構(gòu)與選擇結(jié)構(gòu).ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、第7章順序結(jié)構(gòu)與選擇結(jié)構(gòu)C語言程序設(shè)計(jì)總體上包括兩個(gè)方面的內(nèi)容:數(shù)據(jù)定義和數(shù)據(jù)操作,數(shù)據(jù)定義是指程序中的數(shù)據(jù)描述語句,用來定義一系列數(shù)據(jù)的類型,完成數(shù)據(jù)的初始化等;數(shù)據(jù)操作是指程序中的操作控制語句,用來控制程序的執(zhí)行過程,一般程序的執(zhí)行結(jié)構(gòu)包括三種:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。前幾章我們學(xué)習(xí)了數(shù)據(jù)定義方面的有關(guān)內(nèi)容,本章將重點(diǎn)介紹C語言程序設(shè)計(jì)的數(shù)據(jù)操作。本章內(nèi)容:順序結(jié)構(gòu)程序設(shè)計(jì);選擇結(jié)構(gòu)程序設(shè)計(jì);應(yīng)用舉例。7.1順序結(jié)構(gòu)程序設(shè)計(jì)順序結(jié)構(gòu)程序是最簡單,最基本的程序設(shè)計(jì),它由簡單的語句組成,程序的執(zhí)行是按照程序員書寫的順序進(jìn)行的,沒有分支、轉(zhuǎn)移
2、、循環(huán),且每條語句都將被執(zhí)行。順序結(jié)構(gòu)的程序是從上到下依次執(zhí)行的,其執(zhí)行流程如圖所示。圖順序結(jié)構(gòu)執(zhí)行流程7.2選擇結(jié)構(gòu)程序設(shè)計(jì)由于順序結(jié)構(gòu)程序是順序執(zhí)行的,無分支、無轉(zhuǎn)移、無循環(huán),因此它不可能處理復(fù)雜的問題,而在數(shù)據(jù)處理過程中,通常需要根據(jù)不同的條件進(jìn)行判斷,然后選擇程序進(jìn)行處理,由此可見,順序結(jié)構(gòu)無法滿足要求,而選擇結(jié)構(gòu)就是為了解決這類問題而設(shè)定的。一般而言,C語言中選擇語句包括兩種:if語句和switch語句。所謂選擇語句就是通過判斷條件來選擇執(zhí)行哪一條語句,進(jìn)而達(dá)到編程目的。7.2.1if語句if語句又稱為條件語句,可以實(shí)現(xiàn)多路分支。C語言
3、中,if語句一般格式如下:7.2.1if語句1.常用的if語句格式通常在運(yùn)用的過程中,if分支語句有幾種常用的格式:格式一:if語句最簡單的格式是沒有else,只有if關(guān)鍵字。格式如下:if<條件>語句格式二:程序中應(yīng)用最多的if語句是兩路分支,它的基本格式如下:7.2.1if語句2.if語句的嵌套在if語句中出現(xiàn)的執(zhí)行語句既可以是一條語句也可以是復(fù)合語句,在復(fù)合語句再次出現(xiàn)if語句就構(gòu)成了if語句的嵌套。格式如下:7.2.2switch語句If語句一般用于處理一個(gè)或兩個(gè)分支的選擇結(jié)構(gòu),如果分支較多時(shí),就需要使用if語句的嵌套,但嵌套的if語句層
4、數(shù)越多,程序越復(fù)雜,可讀性就越差。C語句提供的switch語句能同時(shí)處理多個(gè)分支選擇結(jié)構(gòu)。其語法格式為:switch(表達(dá)式){case常量1:語句組1case常量2:語句組2…case常量n:語句組ndefault:語句組n+1}7.2.2switch語句這里要說明的是:(1)switch后面括號內(nèi)的“表達(dá)式”可以是任何類型的數(shù)據(jù)。可以是整形表達(dá)式、字符型表達(dá)式,也可以枚舉類型數(shù)據(jù)。(2)每個(gè)case的常量表達(dá)式的值必須互不相同,否則會(huì)產(chǎn)生錯(cuò)誤的選擇。(3)各個(gè)case和default的出現(xiàn)次序不影響執(zhí)行的結(jié)果。(4)在執(zhí)行switch語句時(shí),
5、根據(jù)switch后面表示式的值找到匹配的入口標(biāo)號,執(zhí)行完該case語句后,繼續(xù)執(zhí)行下一個(gè)case語句,不再進(jìn)行標(biāo)號判斷。case常量表達(dá)式只起到入口標(biāo)示的作用?!纠?-8】7.3應(yīng)用舉例本章學(xué)習(xí)結(jié)構(gòu)化程序設(shè)計(jì)中的順序結(jié)構(gòu)和選擇結(jié)構(gòu),在講解的同時(shí)也給出了一些實(shí)例,為了加深讀者對本章內(nèi)容的認(rèn)識(shí),本節(jié)將給出一些實(shí)例,請讀者結(jié)合前面所學(xué)的知識(shí)進(jìn)行分析?!纠?-10】給一個(gè)不多于5位的正整數(shù),求它是幾位數(shù),并逆序打印出各位數(shù)字。【例7-11】從鍵盤上輸入若干個(gè)學(xué)生的成績,統(tǒng)計(jì)并輸出最高成績和最低成績,當(dāng)輸入負(fù)數(shù)時(shí)結(jié)束輸入。7.3應(yīng)用舉例【例7-13】企業(yè)發(fā)
6、放的獎(jiǎng)金根據(jù)利潤提成。利潤(I)低于或等于10萬元時(shí),獎(jiǎng)金可提10%;利潤高于10萬元,低于20萬元時(shí),低于10萬元的部分按10%提成,高于10萬元的部分,可可提成7.5%;20萬到40萬之間時(shí),高于20萬元的部分,可提成5%;40萬到60萬之間時(shí)高于40萬元的部分,可提成3%;60萬到100萬之間時(shí),高于60萬元的部分,可提成1.5%,高于100萬元時(shí),超過100萬元的部分按1%提成,從鍵盤輸入當(dāng)月利潤I,求應(yīng)發(fā)放獎(jiǎng)金總數(shù)。