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