【正文】
。 寫法 2: if(x=0) if(x0) y=1。 if(x!=0) if(x0) y=1。 任務(wù)五 考察 switch語句 include”” main() {char grade。 break。break。 } } switch語句部分流程圖: 1.請(qǐng)閱讀下面的程序及流程圖,完成問題。 若只需考慮個(gè)別情況的處理,也可將各個(gè)情況分別寫在各 case 標(biāo)號(hào)后面, 這樣 default 標(biāo)號(hào)就可以省略。 # i n c l u d e s t d i o . h m a i n ( ) { c h a r g r a d e 。 b r e a k 。 } } 預(yù)期運(yùn)行結(jié)果: BCR 上機(jī)調(diào)試結(jié)果: 及格 任務(wù)六 分支的應(yīng)用 題目: 商家為了促銷,以打折吸引顧客,其打折情況如下: 購買量< 10 原價(jià)銷售 10 ≤購買量< 50 打 9 折銷售 50 ≤購買量< 100 打 8 折銷售 購買量≥ 100 打 7 折銷售 編程實(shí)現(xiàn):輸入商品單價(jià)和購買量,求應(yīng)繳付多少錢。( 3 )當(dāng) n 介于 50與 100 之間時(shí), r = 0 . 8 。 n10 n100 r= r= r= 真 假 真 假 真 假 n50 r= 3.根據(jù)流程圖,填寫程序。 s c a n f ( % f % f , amp。 e l s e i f ( ) r = 0 . 9。 p r i n t f ( 應(yīng)繳付 % . 2f 元錢 \ n , m o n e y ) 。 printf(“*\n”)。 while(i++=5) printf(“*\n”)。 語句一 w h i l e ( n + + = 5) pr i n t f ( %d ,n ) 。 x ) 。 表達(dá)式 語 句 真 假 請(qǐng)歸納執(zhí)行過程: ①計(jì)算 ,如果表達(dá)式為真,進(jìn)入 ,開始一次循環(huán)周期;否則進(jìn)入③,結(jié)束循環(huán)。 表達(dá)式 ② ① ( 2)請(qǐng)記錄該程序的上機(jī)調(diào)試結(jié)果,畫出以下程序的流程圖,并指出循環(huán)條件、循環(huán)體及循環(huán)控制變量的三個(gè)工作。 39。 I + + 。 語句一 I=1。 ① 判斷下面哪一個(gè)程序段是正確的? ② 循環(huán)控制變量更新的趨勢(shì)是什么? ③ 程序在什么時(shí)候才能判斷循環(huán)是否終止? 語句一 讓循環(huán)條件為假 判斷循環(huán)條件時(shí) 4.討論 用 while語句編程求 1+2+…+10 之和。 ? ? 循環(huán)控制變量 在循環(huán)條件中控制條件真假的變量,稱為循環(huán)控制變量。 s u m = 0 。 } w h i l e (i = 1 0 )。 i=10 do { } While(表達(dá)式 )。如果表達(dá)式為真,結(jié) 束本次循環(huán),重 新返回 ,開始下一個(gè)循環(huán)周期;否則,轉(zhuǎn)③。 c h a r c h 。 * 39。 c h = g e t c h a r ( ) 。 } } } ①運(yùn)行結(jié)果 ②運(yùn)行結(jié)果 若輸入: ABC*CR 若輸入: ABC* CR 則輸出: 則輸出: 若輸入: *AB* CR 若輸入: *AB* CR 則輸出: 則輸出: ( 2)由上述運(yùn)行結(jié)果看出, do… while語句與 while語句的區(qū)別是什么? ABC *AB ABC 無結(jié)果 答:當(dāng)?shù)冢贝螆?zhí)行循環(huán)體時(shí),因?yàn)楸磉_(dá)式為“真”,兩種循環(huán)得到的結(jié)果相同;否則,二者結(jié)果就不同。 I = 1 。 n u m ) 。 s u m = s u m + n u m 。 答:輸入 10個(gè)數(shù),并求這 10個(gè)數(shù)的和。 ③執(zhí)行 for 下面的語句,執(zhí)行完 后轉(zhuǎn) 。 ① f o r ( I = 5 。 n 1 8 。 。 c h + + ) p r i n t f ( % 3 c , c h ) 。 ⑤ f o r ( n = 1 。(同時(shí)畫出該程序的流程圖) 程序: 流程圖: 任務(wù)四 認(rèn)識(shí)循環(huán)嵌套 1.學(xué)習(xí)循環(huán)嵌套的形式 (1)請(qǐng)觀察下面兩個(gè)圖,完成問題。 問題:在已有幾種循環(huán)嵌套形式后,補(bǔ)充 3種合法的形式。) ⑥ {while() { } } 2.觀察二重循環(huán) (1)請(qǐng)閱讀程序,完成問題。 m + + ) / * 7 行 */ { f or ( n = 1。 } / * 1 2 行 */ } ① 程序定義了哪些變量? ② 程序中采用幾重循環(huán)嵌套? ③ 程序中外層循環(huán)為哪幾行?外層循環(huán)的循環(huán)體中有幾條語句? ④ 程序中內(nèi)層循環(huán)為哪幾行??jī)?nèi)層循環(huán)的循環(huán)體中有幾條語句? 答:兩個(gè)變量, m和n 答:二重循環(huán) 答:外層循環(huán)從 7行到 12行,外層循環(huán)的循環(huán)體中有 2條語句。\n39。內(nèi)層循環(huán)結(jié)束后,執(zhí)行外層循環(huán)體的下一條輸出語句,執(zhí)行一個(gè)換行符。(該表給出了內(nèi)外層循環(huán)控制變量的變化情況) 外層 m 值 內(nèi)層 n 值 輸出 m*n 1 2 3 4 5 1,2,3,4,5 1,2,3,4,5 1,2,3,4,5 1,2,3,4,5 1,2,3,4,5 1 2 3 4 5 2 4 6 8 10 3 6 9 12 15 4 8 12 16 20 5 10 15 20 25 ( 3)請(qǐng)閱讀程序,完成問題,并記錄上機(jī)調(diào)試結(jié)果。 m + + ) { fo r(n = 1 。 } } 請(qǐng)記錄上機(jī)調(diào)試結(jié)果: 請(qǐng)思考:為什么會(huì)出現(xiàn)這種結(jié)果?與上例程序有什么區(qū)別? 任務(wù)五 認(rèn)識(shí)循環(huán)輔助語句: break語句和 continue語句 1.學(xué)習(xí) break語句 ( 1)請(qǐng)閱讀程序,完成問題。 s c a n f ( % f , amp。 r + + ) { V = P I * r * r * h 。 答:可以通過當(dāng) V,執(zhí)行 break語句退出循環(huán)。 體積等于 體積等于 此時(shí) r=3 ( 3)請(qǐng)記錄該程序的上機(jī)調(diào)試結(jié)果,并與預(yù)期結(jié)果比較,有差異嗎? 請(qǐng)記錄上機(jī)調(diào)試結(jié)果: 差異: 2.學(xué)習(xí) continue語句 (1)請(qǐng)閱讀程序,完成問題,并記錄上機(jī)調(diào)試結(jié)果。 n u m + + ) { i f ( n u m % 7 = = 0 ) c o n t i n u e 。 num=50 num=100 num%7==0 輸出 num num++ 真 假 假 真 continue 從流程上看出,什么情況下不輸出數(shù)據(jù)?而輸出的數(shù)據(jù)是具有什么性質(zhì)的數(shù)據(jù)? 答:當(dāng)數(shù)據(jù)能被 7整除時(shí),不輸出。 ? ? break 語句在嵌套循環(huán)里,它只影響包含它的最內(nèi)層循環(huán)。 任務(wù)六 循環(huán)的應(yīng)用 1.累加的應(yīng)用 題目:用 while語句編程求 1+2+3+…+100 的和。一旦 i 為 1 0 1 ,條件 i = 1 0 0 不成立,結(jié)束循環(huán)。 s u m = 0 。 } p r i n t f ( 1 + 2 + ? + 1 0 0 = % d , s u m ) 。 for(I=1。 } 2.累乘的應(yīng)用 題目:編程求 210。 方法一: 記錄上機(jī)調(diào)試結(jié)果: 方法二: 記錄上機(jī)調(diào)試結(jié)果: 3.討論 題目:假設(shè)有一張無限大的紙,其厚度為 (毫米),現(xiàn)反復(fù)地將其對(duì)折,編程計(jì)算對(duì)折多少次后可以達(dá)到珠穆朗瑪峰的高度 8848m(米)?