【正文】
開始 輸入 a,b 輸出交換前 a,b的值 輸出交換后 a,b的值 結(jié)束 main() { int a,b,t。 printf(“交換前 a=%d,b=%d\n”,a,b)。 printf(“交換后 a=%d,b=%d\n”,a,b)。 模塊二 分支程序設(shè)計 能力目標(biāo): ?根據(jù)實際問題 ,正確書寫關(guān)系、邏輯表達(dá)式 ?正確認(rèn)識分支結(jié)構(gòu)的執(zhí)行特點 ?運用 if語句的 3種形式及 switch語句進(jìn)行分支程序的設(shè)計 任務(wù)一 認(rèn)識關(guān)系運算符和關(guān)系表達(dá)式 C語言提供的 6種關(guān)系運算符 :、 =、 、 = 、 ==、 != ,記錄運行結(jié)果 include”” main() {int true,false。} 請記錄運行結(jié)果 : 真 =1,假 =0 : 表達(dá)式 表達(dá)式的值 表達(dá)式的結(jié)果 3+1 2 2+7*3 23 真 a=0 0 1==0 0 假 真 假 知識盤點 : ? 關(guān)系運算的概念 ? 關(guān)系運算的優(yōu)先級 ? 關(guān)系表達(dá)式的概念 任務(wù)二 認(rèn)識邏輯運算符和邏輯表達(dá)式 1.3種邏輯運算符:&&、||、! 3.寫出下列表達(dá)式的等價式 xyamp。(mn) a!=b||x==y 等價于 !x||xy 等價于 x7amp。54||!0 等價于 2.完成下表 表達(dá)式 表達(dá)式的值 (32)amp。(x+y!=20) (3+2)amp。amp。 2.認(rèn)識 if語句(第一種形式) (1)請觀察下面的流程圖: x0 x=x+1 該圖用 if語句表示為: if(x0) x=x+1。 b 等。 (4)題目:輸入一個整數(shù),如果該數(shù)為正,輸出該數(shù)。 if printf(“%d”,x)。x)。 } 3 .認(rèn)識 if…else 語句(第二種形式) (1)請觀察下面的流程圖: x0 y=x y=x 真 假 該流程圖表示的意思是什么? ( 2 ) if …else 語句的形式: if(表達(dá)式) 語句 1 else 語句 2 ( 3)請?zhí)顚懥鞒虉D: 真 假 語句 1 答:求 x的絕對值。 “ 表達(dá)式 ” 可以是關(guān)系表達(dá)式 、 邏輯表達(dá)式 , 也可以是算術(shù)表達(dá)式 。 printf(“請輸入 2個整數(shù):” ); scanf(“%d%d”,amp。 if {l=s%10。如果 x=10,則 y=3x10,否則, y=2x1,輸出 y的值。 if(表達(dá)式 1) 語句 1 else if( ) 語句 2 else if(表達(dá)式 3) else 語句 4 表達(dá)式 2 語句 3 表達(dá)式2 語句 3 ( 3)根據(jù)所得語句形式,填寫程序,并記錄上機調(diào)試結(jié)果。 if((x1) else if(x=10) y=3*x10。 知識盤點: if… else… if語句是通過一連串的判斷,來實現(xiàn)互斥分支,它排列了一系列的操作,每一種操作是在相應(yīng)的條件下才能執(zhí)行。 else printf(“right!\n”)。 if(條件 1) if(條件 2) 語句 1 else 語句 2 else if(條件 3) 語句 3 else 語句 4 ( 2)題目:有一個函數(shù): 1(x0) 編程,輸入一個 x值, y= 0(x=0) 1(x0) 輸出 y值。 if(x0) y=1。 } 原因: 請判斷下列哪些寫法是正確的?為什么? 正確。 原因: 寫法 3: y=1。 不正確。 switch(grade) { case?A?:printf(“優(yōu)秀 \n”)。 case?C?:printf(“及格 \n”)。 default:printf(“輸入數(shù)據(jù)錯誤! \n”)。一般而言,在多分支結(jié)構(gòu)中總會出現(xiàn)“意外”情況,將其歸入 default: 標(biāo)號作統(tǒng)一處理。 2.請歸納 switch語句的一般形式: s w i t c h ( 表達(dá)式 ) { c a s e 常量表達(dá)式 1 : 語句部分 1 c a s e 常量表達(dá)式 2 : ┇ c a s e 常量表達(dá)式 n : 語句部分 n de fa ul t : 語句部分 n +1 } 3 .思考:在 s w i t c h 語句中多個 c a s e 可共用一組執(zhí)行語句嗎?如果可以,請寫出下面程序的預(yù)期運行結(jié)果?并且對比上機調(diào)試結(jié)果。 s w i t c h ( g r a d e ) { c a s e ? A ? : c a s e ? B ? : c a s e ? C ? : p r i n t f ( 及格 \ n ) 。 d e f a u l t : p r i n t f ( 輸入數(shù)據(jù)錯誤 \ n ) 。( 2 )當(dāng) n 介于 10 與 50 之間時, r = 0 . 9 。 2.由上述分析,填寫下列流程圖。 p r i n t f ( 請輸入商品購買量和單價: \ n ) 。 i f ( n 1 0 ) r = 1 . 0。 m o n e y = p r i c e * r * n 。 printf(“*\n”)。 } 程序二 main() { int i=1。 2.學(xué)習(xí) while語句的形式 ( 1)請觀察下面 while語句的形式,完成問題。 I 5) { s c a n f ( %d ,amp。 while 關(guān)系表達(dá)式、邏輯表達(dá)式 簡單語句、復(fù)合語句 while(表達(dá)式 ) 語句 3.學(xué)習(xí) while語句的執(zhí)行過程 ( 1)請觀察 while語句的流程,完成問題。 ③結(jié)束循環(huán),執(zhí)行循環(huán)后面的語句。 c h = 39。 w h i l e ( I 3) { pr i n t f ( %c \ n ,c h ) 。 I I=1 I3 I++ ( 3)請觀察下面 2個程序段,完成問題。 while(I=10) printf(“world!\n”)。它可以是簡單語句、復(fù)合語句,也可以是空語句。 任務(wù)二 認(rèn)識 do…whil