第三章控制語句課件_第1頁
第三章控制語句課件_第2頁
第三章控制語句課件_第3頁
第三章控制語句課件_第4頁
第三章控制語句課件_第5頁
已閱讀5頁,還剩61頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

章控制語句程序的三種基本結(jié)構(gòu)條件分支語句多路開關(guān)語句循環(huán)語句循環(huán)嵌套程序的三種基本結(jié)構(gòu)語句的類型五類三種基本結(jié)構(gòu)順序、選擇、循環(huán)2程序結(jié)構(gòu)3語句的類型.控制語句①()... (條件語句)② (多分支選擇語句)③()... (循環(huán)語句)④()... (循環(huán)語句)⑤() (循環(huán)語句)⑥ (結(jié)束本次循環(huán)語句)⑦ (中止執(zhí)行或循環(huán)語句)⑧ (轉(zhuǎn)向語句)⑨ (從函數(shù)返回語句)4語句的類型.函數(shù)調(diào)用語句 函數(shù)調(diào)用語句由一個函數(shù)調(diào)用加一個分號構(gòu)成。 例: ();.表達式語句表達式語句由一個表達式加一個分號構(gòu)成。 例: ; ; ;5語句的類型.空語句空語句是只有一個分號的語句,不執(zhí)行任何操作。形式為: ;.復(fù)合語句把一些語句用{}括起來稱為復(fù)合語句(又稱分程序),通常由多條語句構(gòu)成,但在邏輯上可以看作一條語句。例:(>){;;;}6三種基本結(jié)構(gòu)順序結(jié)構(gòu)例,從鍵盤輸入一個學(xué)生的學(xué)號、姓名和成績,并輸出。7三種基本結(jié)構(gòu).選擇結(jié)構(gòu)8三種基本結(jié)構(gòu).循環(huán)結(jié)構(gòu)9條件分支語句語句的三種流程語句嵌套條件運算符10語句的三種流程.單分支語句(表達式)語句例:(){<<"最高分"<<; }(){<<"缺考"<<; }11語句的三種流程.雙分支語句(表達式)語句

語句例:(>){<<“合格"<<; }{<<“不合格"<<; }12語句的三種流程.多分支語句(表達式)語句(表達式)語句(表達式)語句...(表達式)語句

語句13語句的三種流程.多分支語句例: (>) {(''); } (>) {(''); } (>) {(''); } (>) {(''); }

{(''); }14.關(guān)于語句的說明種形式的語句都只是一條語句后面都有表達式,一般為邏輯表達式或關(guān)系表達式,求解邏輯值。常犯的邏輯錯誤:(){<<"***"<<;}改為:(){<<"***"<<;}語句的三種流程15語句嵌套(表達式)(表達式)語句

語句(表達式)語句

語句與配對原則:總是與它前面最近的未曾配對的配對。內(nèi)嵌if內(nèi)嵌if16編程實現(xiàn)以下符號函數(shù)的功能:算法分析:語句嵌套舉例17......,;<<"";>>;(>) 如果大于{;}(<) 如果小于{;} 如果等于{;}<<""<<<<;......

語句嵌套舉例(編程實現(xiàn))18......,;<<"";>>;(>) 如果大于{;}(<) 如果小于{;} 如果等于{;}<<""<<<<;......

語句嵌套舉例(編程實現(xiàn));(>)(>);

;也能實現(xiàn)嗎?為什么?19條件運算符: ?:條件表達式:由條件運算符和操作數(shù)構(gòu)成的表達式格式:表達式?表達式:表達式功能:若表達式成立,則求解表達式,并將表達式的值作為整個表達式的值;否則,求解表達式,并將表達式的值作為整個表達式的值。條件運算符20例:將、、三個變量中最大的值賦值給變量。用語句實現(xiàn): (>) (>) ;

;

(>) ;

;用條件運算符實現(xiàn): >?(>?:):(>?:);條件運算符21多路開關(guān)語句為什么使用?怎樣正確使用?22多路開關(guān)語句流程圖:23多路開關(guān)語句基本格式:(表達式){常量表達式: 語句;;常量表達式: 語句;;……常量表達式: 語句;;: 語句;}24多路開關(guān)語句舉例例,在“學(xué)生選課系統(tǒng)”中,根據(jù)用戶輸入的編號,輸出需要調(diào)用的操作模塊名稱。根據(jù)學(xué)生的百分制分數(shù)值打出~等級。(){::('');;:('');;:('');;:('');;:('');}25多路開關(guān)語句說明:后面表達式可以是中任意類型的合法表達式,通常是整型或字符型,求解其實際值,而非邏輯值;每一個后的常量表達式必須互不相同,否則在編譯時系統(tǒng)會報錯;不是必不可少的;和的出現(xiàn)順序不影響執(zhí)行結(jié)果;最后一個情況(無論是還是)之后可以不使用,流程自動結(jié)束語句。(表達式){常量表達式:常量表達式:語句;;……常量表達式:語句;;: 語句;}26循環(huán)語句語句語句語句27語句基本格式:說明:后面的表達式可以是中任意類型合法的表達式,先求其實際值,進一步求得其邏輯值;若表達式的值一開始就為,則循環(huán)體將一次也不執(zhí)行;當(dāng)循環(huán)體由多個語句組成時,必須用{}把它們括起來,使它們形成復(fù)合語句;為了使循環(huán)最終能夠結(jié)束,而不至于產(chǎn)生“死循環(huán)”,每執(zhí)行一次循環(huán)體,表達式的值都應(yīng)該有所變化。(表達式){ 語句(組);}28語句舉例利用以下公式計算π的值,要求精度控制在內(nèi)。算法分析:每次得到新的一項,并累加。關(guān)鍵:如何得到新項?29語句舉例圖:當(dāng)前項分子初始化為當(dāng)前項分母初始化為當(dāng)前項初始化為初始化為(當(dāng)前項絕對值大于)

累加當(dāng)前項

計算當(dāng)前項的分子

計算當(dāng)前項的分母

計算新的當(dāng)前項*輸出30語句舉例(編程實現(xiàn))......;;;;(()>){ ; ; ; ();}*;<<""<<<<;......31語句基本格式:說明:在后必須有一個“;”,表示語句結(jié)束;由于語句是先執(zhí)行循環(huán)體語句再判斷表達式的值,所以無論一開始判斷表達式的值為“真”還是“假”,循環(huán)體中的語句都至少被執(zhí)行一次;如果語句的循環(huán)體部分是由多個語句組成的,則必須用花括號{}括起來,使它們形成復(fù)合語句。{ 語句(組);}(表達式);32語句舉例將用戶輸入的一個正整數(shù)倒序輸出。例如,輸入,則輸出。算法分析:如何求得正整數(shù)的某一位?如何倒序輸出?33語句舉例(編程實現(xiàn))......;<<"請輸入一個正整數(shù):";>>;<<"倒序結(jié)果:";{<<;;}(>);<<;......34循環(huán)語句基本格式:說明:三個表達式之間必須用分號間隔;任何一個表達式都可以省略,但其中的分號一定要保留;若循環(huán)體部分由多個語句組成,則必須用花括號{}括起來,使它們形成復(fù)合語句;表達式和表達式既可以是一個簡單表達式,也可以是由逗號連接的多個表達式。(表達式;表達式;表達式){ 循環(huán)體語句;}35循環(huán)語句舉例由鍵盤輸入全體考生的語言成績,并求平均分。算法分析:利用循環(huán)依次輸入每一位考生的成績,并將其累加起來。若考生人數(shù)確定(即循環(huán)次數(shù)確定),選用循環(huán)更為方便。36循環(huán)語句舉例(編程實現(xiàn))......; 循環(huán)變量; 考生人數(shù); 當(dāng)前考生的成績; 總成績; 平均成績<<"請輸入考生人數(shù):";>>;<<"請逐一輸入各位考生的成績:"<<;(;<;){>>; 輸入當(dāng)前考生成績; 累加}; 求平均值<<"平均分是"<<<<;......37,和語句的比較①一般情況下,三種循環(huán)語句是可以互換的;②一般來說,語句用于循環(huán)次數(shù)明確的情況,而和語句用于循環(huán)次數(shù)不確定但循環(huán)條件明確的情況;③用循環(huán)時,循環(huán)變量的初始化可以由表達式來實現(xiàn),而用和循環(huán)時,循環(huán)變量的初始化需要在語句之前完成。④循環(huán)更加靈活。(,;<;){;}(,;<;,);38循環(huán)嵌套一個循環(huán)體內(nèi)又包含另一個完整的循環(huán)結(jié)構(gòu),稱為循環(huán)的嵌套。39循環(huán)嵌套(){…(){…}…}(){…

{…}();…}(){…(;;){…}…}40循環(huán)嵌套

{…

{…}();…}();

{…(){…}…}();{…(;;){…}…}();41循環(huán)嵌套(;;){…

{…}();…}(;;){…(){…}…}(;;){…(;;){…}…}42循環(huán)嵌套舉例請輸出九九乘法表。算法分析:可使用循環(huán)依次輸出九九表的各行,表每行的輸出又需要一個循環(huán)——雙重循環(huán)外層循環(huán)變量代表被乘數(shù)內(nèi)層循環(huán)變量代表乘數(shù)外層循環(huán)依次處理各行,內(nèi)層循環(huán)中依次輸出當(dāng)前行的每一個乘法口訣(;<;)依次處理行

(;<;)

輸出乘法表的當(dāng)前項*

輸出換行符43循環(huán)嵌套舉例(編程實現(xiàn))請輸出九九乘法表。......;循環(huán)變量,控制行;循環(huán)變量,控制列(;<;)依次處理各行{(;<;)依次處理各列{<<<<"*"<<<<""<<*<<"";}<<;結(jié)束本行}......44,

和語句條件轉(zhuǎn)向語句——,無條件轉(zhuǎn)向語句——45語句用法:只能用在語句和循環(huán)語句中。作用:用在語句中控制分支的出口。用在循環(huán)體中,使流程從循環(huán)體內(nèi)跳出,從而提前結(jié)束循環(huán)。46編程計算×××…×,。<>;(){ ,; () { *;; (>); } (“**…*\”,–,); ;}語句舉例用常量作判斷表達式,好像形成了一個無限循環(huán)……當(dāng)循環(huán)終止條件滿足時,用語句結(jié)束循環(huán)。47將一個正整數(shù)分解質(zhì)因數(shù)。例如:輸入,打印出×××。算法分析:要將一個數(shù)分解為質(zhì)因數(shù),可從質(zhì)數(shù)開始,判斷其是否為的因子。如果是,則輸出,再將除以該因子,繼續(xù)判斷;如果不是,則將因數(shù)的值增繼續(xù)判斷。本例可使用雙重循環(huán):外層循環(huán)對的可能因子進行循環(huán),的因子最小可能是,最大不能超過本身;在內(nèi)層循環(huán),如果是的因子,則輸出,然后將除以,繼續(xù)判斷是否是的因子,這樣就可以將進行完全分解了。語句舉例48將一個正整數(shù)分解質(zhì)因數(shù)。例如:輸入,打印出×××。語句舉例49......;待分解的數(shù);外層循環(huán)的循環(huán)變量,表示的因子<<"請輸入一個正整數(shù):";>>;<<<<"";......語句舉例(編程實現(xiàn))50......(;<;)對的所有可能正因子進行循環(huán){()不等于其正因子時循環(huán){()如果是的正因子{<<<<"×";輸出正因子; 除以當(dāng)前正因子}

{;}不是的因子,跳出當(dāng)前的循環(huán)}}<<<<;輸出最后一個因子......語句舉例(編程實現(xiàn))51語句用法:只能用在循環(huán)語句中。作用:結(jié)束本次循環(huán),立即開始執(zhí)行下一次循環(huán)。52編程計算~之間所有偶數(shù)的和。......;循環(huán)變量,當(dāng)前要累加的數(shù);累加和,初始化為(;<;)對~中每個數(shù)進行循環(huán){()如果不是偶數(shù){;跳過累加};累加當(dāng)前數(shù)字}<<"…"<<<<;......語句舉例53基本結(jié)構(gòu):標識符;作用:與條件判斷相結(jié)合可以構(gòu)成循環(huán)結(jié)構(gòu)或跳出循環(huán),但非實現(xiàn)循環(huán)結(jié)構(gòu)的專用語句。優(yōu)點:靈活,尤其在多層循環(huán)嵌套的內(nèi)層中跳出的情況下,語句可方便實現(xiàn);缺點:可能會使程序流程無規(guī)律,可讀性差。語句54用逐個判別法求出~以內(nèi)的所有質(zhì)數(shù)。算法分析:可使用雙重循環(huán):外循環(huán)對~的所有數(shù)進行枚舉;內(nèi)循環(huán)對的所有可能正因子進行枚舉,如果某個能整除,則轉(zhuǎn)向?qū)Ψ琴|(zhì)數(shù)處理的相應(yīng)語句;如果所有的均不能整除,則是質(zhì)數(shù),輸出即可。語句舉例55<> 包含輸入輸出接口文件; 引用標準命名空間() 定義主函數(shù){;循環(huán)變量,枚舉所有的數(shù);循環(huán)變量,枚舉所有的正因子;質(zhì)數(shù)的個數(shù),初始為......語句舉例(編程實現(xiàn))56(;<;) 循環(huán)處理所有的數(shù){(;*<;) 循環(huán)處理的所有可能正因子{() 如果是的因子{;} 轉(zhuǎn)向非質(zhì)數(shù)處理語句}<<<<""; 輸出當(dāng)前質(zhì)數(shù); 質(zhì)數(shù)個數(shù)增()如果是的倍數(shù),本行已輸出個數(shù){<<;} 輸出換行符: 非質(zhì)數(shù)處理語句; 什么事也不做,但空語句不能省略};}語句舉例(編程實現(xiàn))57程序舉例58某次面試有若干位專家為面試者打出百分制分值,計算面試者最后得分的方法是:去掉一個最高分,去掉一個最低分,取剩余成績的平均分。編寫程序,輸入一位面試者的若干成績,以作為輸入結(jié)束標記,計算其最終得分。算法分析:在循環(huán)中完成輸入評分、累加成績、求最高及最低分等操作。循環(huán)完成后,將總成績減去最高分和最低分,除以計分專家的人數(shù)即可得到平均分。因為專家數(shù)不定,故循環(huán)需以“當(dāng)前成績是”為結(jié)束條件。如何求一系列數(shù)字中的最大值和最小值?可以設(shè)一個變量存儲最大值,其初值很小,如;在循環(huán)中,如果當(dāng)前評分大于,則將更新為當(dāng)前評分;這樣循環(huán)結(jié)束后,的值就是所有評分中的最大值。同理可得最小值。例59例(流圖)60<> 包含輸入輸出接口文件; 引用標準命名空間()定義主函數(shù){; 專家打分; 最低分; 最高分; 總分; 專家數(shù)<<"輸入專家評分,以結(jié)束:"<<;>>; 輸入第一個分數(shù);設(shè)讀入第一個分數(shù)為最高分和最低分(){; 專家數(shù)增......

例(編程實現(xiàn))61......;分數(shù)累加(>)如果當(dāng)前分數(shù)大于最高分{;則將最高分更新}(<)如果當(dāng)前分數(shù)小于最低分{;則將最低分更新}>>;輸入下一個分數(shù)};去掉一個最高分和最低分<<"最后得分:"<<()<<;;}例(編程實現(xiàn))62寫一個程序,打印輸入中的單詞,每行打印一個單詞。(假定空格和制表位都是單詞間的分隔符)算法分析:在一串字符中,一個新單詞開始的特征是當(dāng)前字符不是空白字符,而它的前一個字符是

溫馨提示

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

評論

0/150

提交評論