《《分支結(jié)構(gòu)》PPT課件.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《《分支結(jié)構(gòu)》PPT課件.ppt(26頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、通知:o http:/10.5.20.58/jsjo Jo內(nèi)容:n Word、Excel、PPT、網(wǎng)絡(luò)及綜合應(yīng)用(三周時(shí)間)o要求:o在實(shí)驗(yàn)課,70分以下上交所有實(shí)驗(yàn)報(bào)告;70分以上僅上交最后一部分內(nèi)容的報(bào)告o本周C語(yǔ)言實(shí)驗(yàn):需要交培訓(xùn)實(shí)驗(yàn)報(bào)告的做1、2;o 其它同學(xué)1、2、3。 C程序設(shè)計(jì)語(yǔ)言第三章 分支結(jié)構(gòu)劉文斌 天才無(wú)非是長(zhǎng)久的忍耐,努力吧!1、上一章:C語(yǔ)言的基本內(nèi)容 數(shù)據(jù)表達(dá)、運(yùn)算、流程控制(if,for)應(yīng)用函數(shù)編程2、本章介紹:分支結(jié)構(gòu)邏輯運(yùn)算字符類型數(shù)據(jù)及其存儲(chǔ) 3.1 字符類型統(tǒng)計(jì)1、問題提出:輸入10個(gè)字符,統(tǒng)計(jì)其中英文字母、空格或回車、數(shù)字和其它字符的個(gè)數(shù)問題分析:如何接
2、收鍵盤輸入?scanf函數(shù)可以做到接收10次,怎么辦?for語(yǔ)句來(lái)解決如何進(jìn)行字符分類?分支控制if語(yǔ)句來(lái)控制 字符的概念2、什么是字符?鍵盤上的各類符號(hào)如az、AZ,09,!#$% /定義了一個(gè)字符類型變量ch4、看如下代碼char c1,c2; /字符類型定義c1=a;c2=b;printf(“%c %c”,c1,c2); 5、字符類型變量賦值ch=A; /一定是用一對(duì)單引號(hào)括起來(lái)A、a、9、$、#分別表示字母A、a,數(shù)字9,符號(hào)$、#Tip:1是整數(shù),1是字符 char字符類型的存儲(chǔ)1、內(nèi)存中占1Byte(8bit) size.cint類型占多少Byte?float?double?2、實(shí)
3、質(zhì):整數(shù)(char.cpp)3、如何理解字符是整數(shù)? 對(duì)應(yīng)的ASCII的值從0255(8位二進(jìn)制數(shù))4、處理過程在計(jì)算機(jī)內(nèi)存中以整數(shù)存放打印的時(shí)候,對(duì)照字符表,把符號(hào)打印出來(lái)格式控制 “%c” 5、保存ASCII *碼字符集(附錄2)及特殊符號(hào)每個(gè)字符有唯一的次序數(shù)字字符09的ASCII嗎按升序連續(xù)排列大寫字母AZ的ASCII嗎按升序連續(xù)排列小寫字母az的ASCII嗎按升序連續(xù)排列048、A65、a97*American Standard Code for Information Interchange 接收字符的另外一種方式1、scanf()可以從鍵盤接收各種類型的數(shù)據(jù),屬于全能型的2、一個(gè)
4、專門從接收字符的函數(shù)getchar()一次讀入一個(gè)字符要讀入多個(gè)字符,就要重復(fù)循環(huán)調(diào)用3、對(duì)應(yīng)的字符數(shù)出函數(shù)putchar()這二個(gè)函數(shù)的說明在stdio.h中(P333)思考:getchar和putchar與printf()和scanf()有什么區(qū)別?例子:ch3-1-1.cpp Tip:邏輯運(yùn)算1、回顧:算術(shù)運(yùn)算符關(guān)系運(yùn)算符2、邏輯運(yùn)算符目 數(shù)單目雙目運(yùn)算符! B則打印Good;C則打印Be study hard;D則打印Failed.1、用ifelse是一種解決方法,請(qǐng)寫出程序2、是否有其他的方式呢?och3-7.cpp switch語(yǔ)句1、用來(lái)實(shí)現(xiàn)多分支選擇結(jié)構(gòu)2、當(dāng)需要用到多分支的選
5、擇結(jié)構(gòu)時(shí)用switch比用if語(yǔ)句方便 幾個(gè)要點(diǎn)1、switch后面圓括號(hào)中表達(dá)式的值應(yīng)該為int 或者char 型。case 后面的標(biāo)號(hào)必須為int 型或者 char型的常量或者僅包含整型常量的表達(dá)式。2、當(dāng)表達(dá)式的值與某一個(gè)case后面的常量表達(dá)式的值相等時(shí),就執(zhí)行此case后面的語(yǔ)句,若所有的case中的常量表達(dá)式的值都沒有與表達(dá)式的值匹配的,就執(zhí)行default后面的語(yǔ)句(如果有 default的話)。3、每一個(gè)case的常量表達(dá)式的值必須互不相同,否則就會(huì)出現(xiàn)互相矛盾的現(xiàn)象。 4、各個(gè)case和default的出現(xiàn)次序不影響執(zhí)行結(jié)果。例如,可以先出現(xiàn)“default:”,再出現(xiàn)“ca
6、se D:”,然后是“case A:”。5、執(zhí)行完一個(gè)case后面的語(yǔ)句后,流程控制轉(zhuǎn)移到下一個(gè)case繼續(xù)執(zhí)行。“case常量表達(dá)式”只是起語(yǔ)句標(biāo)號(hào)作用,并不是在該處進(jìn)行條件判斷。在執(zhí)行switch語(yǔ)句時(shí),根據(jù)switch后面表達(dá)式的值找到匹配的入口標(biāo)號(hào),就從此標(biāo)號(hào)開始執(zhí)行下去,不再進(jìn)行判斷。(調(diào)試ch3-3.cpp)6、應(yīng)該在執(zhí)行一個(gè)case分支后,使流程跳出switch結(jié)構(gòu),即終止Switch語(yǔ)句的執(zhí)行??梢杂靡粋€(gè)break語(yǔ)句來(lái)達(dá)到此目的。 實(shí)例: 查詢自動(dòng)售貨機(jī)中商品的價(jià)格 P51och3-2.cpp 輸入10個(gè)字符,統(tǒng)計(jì)空格或回車、數(shù)字和其它字符的個(gè)數(shù)och3-3.cpp 3.3分支結(jié)構(gòu)程序設(shè)計(jì)1、例3-4 交換兩個(gè)不相等的數(shù)och3-4.cpp /p562、例3-5 輸入3個(gè)整數(shù),輸出其中最大的值och3-5.cpp /p57 嵌套的ifelse語(yǔ)句o多重ifelse語(yǔ)句的形式o嵌套ifelse語(yǔ)句n if(條件表達(dá)式1) if(條件表達(dá)式2) do something; else do something; else do something; 回顧o要求計(jì)算三分段函數(shù),怎么處理?)(xf 2 3 21 2 1 1 xx xx xx 嵌套ifelse解法