5.3 if語句嵌套_第1頁
5.3 if語句嵌套_第2頁
5.3 if語句嵌套_第3頁
5.3 if語句嵌套_第4頁
5.3 if語句嵌套_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Teacher teaching designCONTENTS 目 錄自主學(xué)習(xí) 明確考點案例分析 交流提升課后作業(yè) 自我提升仿真演練,體驗探索自主學(xué)習(xí) 明確考點PART 01選擇結(jié)構(gòu)的嵌套語句PART 01選擇結(jié)構(gòu)的嵌套語句條件1條件2條件n程序段1程序段2程序段n程序段n+1if后程序段真假假假真真選擇結(jié)構(gòu)的嵌套語句形式如下:if ( 條件表達式1 ) 語句序列1else if (條件表達式2 ) 語句序列2else if (條件表達式3 ) 語句序列3else 語句序列n選擇結(jié)構(gòu)的嵌套語句執(zhí)行過程 選擇結(jié)構(gòu)的嵌套語句說明1(1)除與前面兩種格式的要求外還要注意格式三中最后的else語句可以

2、沒有,即判斷各種情況,若沒有一種條件成立時,可以不執(zhí)行任何操作。說明2(2)格式三中的各表達式其條件要互不相容。說明3(3)if語句允許嵌套,但嵌套的層數(shù)不宜太多,應(yīng)適當控制嵌套層數(shù)(2-3層)。說明案例分析 交流提升PART 02程序1#include main( ) int a,b,c,max; printf(a = ); scanf(%d,&a); printf(b = ); scanf(%d,&b); printf(c = ); scanf(%d,&c); if (a b) if (a c) max = a; else max = c; else if (b c) max = b; e

3、lse max = c; printf(Max = %dn ,max);算法思路1:設(shè)三個數(shù)分別為a,b,c,首先設(shè)置外層,任取兩個數(shù)a,b進行比較,如果a大于b成立,則只要把a與c進行比較(作為內(nèi)層),取二者中最大值就可;否則只要把b與c進行比較(作為內(nèi)層),取其中的最大值?!纠?】、任意輸入三個整數(shù),比較大小,輸出其中最大值。案例分析 交流提升1程序2:main() int a,b,c,max; printf(Please input three numbers:);scanf(%d,%d,%d,&a,&b,&c);if (ab) max=a;else max=b;if (cmax) ma

4、x=c;printf(The three numbers are:%d,%d,%dn,a,b,c);printf(max=%dn,max);第一步:將a,b比較,如果a大于b ,則把a的值放在max中,否則,將b的值放在此max中;第二步:將c與max比較,如c大于max,則將c的值放在max中。最后所求的那個數(shù)就為最大數(shù)?!纠?】、任意輸入三個整數(shù),比較大小,輸出其中最大值。案例分析 交流提升1運行結(jié)果:Please input three numbers:15,8,27The three numbers are:15,8,27max=27main()float x,y,a; printf(

5、please input two number to x and y:n); scanf(%f,%f,&x,&y); if(x=0) if(y=0) a=x+y;else a=x-y;else if(y=0) a=-x+y; else a=-x+(-y);printf(the value is: %fn,a);根據(jù)數(shù)學(xué)知識可知,任意一個未知數(shù)絕對值的取值,可能存在大于0、等于0、小于0三種情況,在這里可知,只要變量x、y中,如果假設(shè)有一個數(shù)大于等于0或小于等于0,那么只需判斷另一個數(shù)的情況。求|x|+|y|=a案例分析 交流提升2#include stdio.hvoid main()int x

6、,a,b,c,d; /*a,b,c,d代表千位、百位、十位、個位*/scanf(%d,&x);a=x/1000;b=x%1000/100;c=x%100/10; d=x%10; /*分解出千位、百位、十位、個位*/if(a!=0) printf(4:%d%d%d%dn,d,c,b,a);else if(b!=0) printf(3:%d%d%dn,d,c,b);else if(c!=0) printf(2:%d%dn,d,c);else if(d!=0) printf(1:%dn,d);案例分析 交流提升3思考:本例的算法思路【例3】、給一個不多于4位的正整數(shù),求出它是幾位數(shù),逆序打印出各位數(shù)

7、字。 #include stdio.hvoid main()float a,b,c;scanf(%f,%f,%f,&a,&b,&c);if(a+bc&a+cb&b+ca) if(a=b&b=c) printf(equalateral triangle.n); else if(a=b|a=c|b=c) printf(isoscelestrianglen); else printf(other trianglen); else printf(can notn);【例4】、任意輸入三個數(shù),判斷能否構(gòu)成三角形?若能構(gòu)成三角形,是等邊三角形、等腰三角形還是其它三角形;案例分析 交流提升4:#includ

8、e main( ) float a,b,c,d,x1,x2,p,q; printf(a = ); scanf(%f,&a); printf(b = ); scanf(%f,&b); printf(c = ); scanf(%f,&c); d = b * b - 4 * a * c; if (d = 0) if (d 0) x1 = (-b + sqrt(d) / 2 * a ; x2 = (-b - sqrt(d) / 2 * a ; printf(方程有兩個不同的實根:); printf(x1 = %6.2fn, x1); printf(x2 = %6.2f, x2); 案例分析 交流提升5

9、【例5】、輸入一個一元二次方程ax2+bx+c=0的三個系數(shù),求方程的兩個根,根的計算公式abacibxxabxxaacbbxxacb24,02,024,04221212212時,時,時,else x1 = (-b) / 2 * a; printf(方程有兩個相同的實根:); printf(x1 = x2 %6.2f, x1); else p = (-b) / 2 * a ; q = sqrt(-d) / 2 * a ; printf( 方程有兩個不同的虛根:n); printf(x1 = %6.2f + %6.2f in, p, q); printf(x1 = %6.2f - %6.2f i

10、n, p, q); 【例6】#includestdio.hmain() char c; printf(input a character: ); c=getchar(); if(c=0&c=A&c=a&c=z) printf(This is a small lettern); else printf(This is an other charactern);案例分析 交流提升6仿真演練 體驗探索PART 041、以下程序運行后的輸出結(jié)果是( )main() int a=3,b=4,c=5,t=99; if(ba&ac)t=a;a=c;c=t; if(ac&bc)t=b;b=a;a=t; pri

11、ntf(%d%d%dn,a,b,c);仿真演練 體驗探索2、當a=1,b=3,c=5,d=5時,執(zhí)行下面的程序段后,x的值為( )if(ab) if(cd) x=1; else if(ac) if(bb) if(bc) printf(%d,d+1); else printf(%d,+d+1); printf(%dn,d); 仿真演練 體驗探索有以下程序程序輸出( ) main() int a=0,b=0,c=0,d=0;if(a=1) b=1;c=2; else d=3;printf(%d,%d,%d,%dn,a,b,c,d); 以下程序運行后的結(jié)果是( ) main() int a=1,b=2,c=3; if(c=a) printf(%dn,c); else printf(%dn,b); 有以下程序執(zhí)行后輸出結(jié)果是( )main() int n=0,m=1,x=2;if (!n)

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論