C語言選擇結(jié)構(gòu)程序教學(xué)設(shè)計(jì)_第1頁
C語言選擇結(jié)構(gòu)程序教學(xué)設(shè)計(jì)_第2頁
C語言選擇結(jié)構(gòu)程序教學(xué)設(shè)計(jì)_第3頁
C語言選擇結(jié)構(gòu)程序教學(xué)設(shè)計(jì)_第4頁
C語言選擇結(jié)構(gòu)程序教學(xué)設(shè)計(jì)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

一、教學(xué)思想(包括教學(xué)背景、教學(xué)目標(biāo))1、關(guān)于“C語言”計(jì)算機(jī)的本質(zhì)是“程序的機(jī)器”,程序和指令的思想是計(jì)算機(jī)系統(tǒng)中最基本的概念,只有懂得程序設(shè)才能懂得計(jì)算機(jī),真正了解計(jì)算機(jī)是怎樣工作的;通過學(xué)習(xí)程序設(shè)計(jì)可以使我們進(jìn)一步了解計(jì)算機(jī)的工作原理,更好地理解個(gè)應(yīng)用計(jì)算機(jī),學(xué)會(huì)用計(jì)算機(jī)處理問題的方法。C語言作為一種高級(jí)程序設(shè)計(jì)語言,相比其他高級(jí)程序設(shè)計(jì)語言有著公認(rèn)的一些特點(diǎn),比如語言本身簡(jiǎn)介,生成的代碼質(zhì)量高,使用靈活等。它既可以編寫計(jì)算機(jī)系統(tǒng)軟件又可以編寫各類應(yīng)用軟件。C語言作為一種簡(jiǎn)潔高校并且支持結(jié)構(gòu)化編程的程序設(shè)計(jì)語言,在講究效率的時(shí)代,對(duì)于幫助學(xué)習(xí)者掌握程序設(shè)計(jì)的基本思想和方法,進(jìn)而更好地理解計(jì)算機(jī)的工作,會(huì)有極大的幫助。關(guān)于選擇結(jié)構(gòu)程序設(shè)計(jì)選擇結(jié)構(gòu)程序設(shè)計(jì)是結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)之一,是程序設(shè)計(jì)中常用的結(jié)構(gòu)。前面介紹的順序結(jié)構(gòu)里,程序中的所有語句按照書寫順序依次執(zhí)行。而在日常生活中,處理事情的順序并不都是按部就班的順序進(jìn)行,有時(shí)會(huì)根據(jù)某些條件進(jìn)行選擇。比如在進(jìn)行周末活動(dòng)安排時(shí),我們可以說:“如果天氣好,我們就去郊游,否則我們就去體育館打球?!痹谶@樣安排中,可以看到,“郊游”和“打球”哪個(gè)動(dòng)作實(shí)際執(zhí)行依賴于“天氣好”這個(gè)條件是否滿足。在程序設(shè)計(jì)中,上述安排就要用選擇結(jié)構(gòu)來實(shí)現(xiàn)。選擇結(jié)構(gòu)的作用是根據(jù)所給條件的真假,決定程序的運(yùn)行途徑。在上述實(shí)例中,“天氣好?”是控制條件,它的作用是決定程序的流程,如果天氣確實(shí)好,則條件為真,進(jìn)行“郊游”這個(gè)活動(dòng),如果天氣不好,則條件為假,進(jìn)行“打球”這個(gè)活動(dòng)?!敖加巍焙汀按蚯颉皟蓚€(gè)活動(dòng)只進(jìn)行一個(gè),該選擇結(jié)構(gòu)結(jié)束后,再執(zhí)行下面的語句。教學(xué)目標(biāo)知識(shí)與技能目標(biāo):掌握關(guān)系運(yùn)算、邏輯運(yùn)算和C語言條件語句的使用。過程與方法目標(biāo):通過課程舉例,程序的比較和運(yùn)行和程序流程圖的使用,讓學(xué)生加深記憶,理解條件語句的執(zhí)行順序。情感態(tài)度與價(jià)值觀目標(biāo):學(xué)習(xí)條件語句使學(xué)生進(jìn)一步了解程序,對(duì)程序設(shè)計(jì)產(chǎn)生學(xué)習(xí)興趣。教學(xué)重點(diǎn)與難點(diǎn)重點(diǎn):if語句、switch語句的使用難點(diǎn):if語句的嵌套、課程設(shè)計(jì)思路(包括教學(xué)方法、教學(xué)手段)教學(xué)步驟教學(xué)家設(shè)計(jì)意圖表達(dá)方式

教學(xué)步驟教學(xué)家設(shè)計(jì)意圖表達(dá)方式1、學(xué)習(xí)關(guān)系運(yùn)算和關(guān)系表達(dá)式關(guān)系運(yùn)算符:用來對(duì)兩個(gè)數(shù)值進(jìn)行比較的比較運(yùn)算符C語言提供6種關(guān)系運(yùn)算符:①< (小于)②<= (小于或等于)③> (大于)④>= (大于或等于)⑤==(等于)⑥!= (不等于)關(guān)系表達(dá)式用關(guān)系運(yùn)算符將兩個(gè)數(shù)值或數(shù)值表達(dá)式連接起來的式子<表達(dá)式><關(guān)系運(yùn)算符><表達(dá)式>11 真關(guān)系表達(dá)式的值是一個(gè)邏輯值{0——假例:a+b>c+d (a=3)<(b=5)‘a(chǎn)'!='A' (a>b)==(c<d)選擇結(jié)構(gòu)程序設(shè)計(jì)中條件語句的使用需要使用關(guān)系運(yùn)算和邏輯運(yùn)算。使用簡(jiǎn)單的例子便于學(xué)生理解。在教學(xué)過程中由簡(jiǎn)入難2、學(xué)習(xí)邏輯運(yùn)算和邏輯表達(dá)式以及運(yùn)算符的優(yōu)先次序3種邏輯運(yùn)算符:&&(邏輯與)II(邏輯或)!(邏輯非)&&和||是雙目(元)運(yùn)算符!是一目(元)運(yùn)算符邏輯表達(dá)式<表達(dá)式>(邏輯運(yùn)算符><表達(dá)式>例:判斷年齡在13至17歲之?age>=13&&age<=17判斷年齡小于12或大于65?age<12||age>65邏輯運(yùn)算符的優(yōu)先次序!f&&fII (!為三者中最高)與其他運(yùn)算符的優(yōu)先次序! !(高)算術(shù)運(yùn)算符關(guān)系運(yùn)算符&&和1|賦值運(yùn)算符 (低)例:判別某一年是否閏年,用邏輯表達(dá)式表示閏年的條件是符合下面二者之一:①能被4整除,但不能被100整除,如2008②能被400整除,如2000(year%4==0&&year100!=0)||year%400==0如果表達(dá)式值為1,則閏年;否則為非閏年

教學(xué)步驟教學(xué)家設(shè)計(jì)意圖

表達(dá)方式例:2、學(xué)習(xí)邏輯運(yùn)算和邏輯表達(dá)式以及運(yùn)算符的優(yōu)先次序maiuO運(yùn)行結(jié)果:a=lsb=2,c=3sd=4;m=n=l;k=0?m=0?n=lk=(m=a>b)&&(n=c>d);printf(t4k=%d?m=%d,n=:教學(xué)步驟教學(xué)家設(shè)計(jì)意圖

表達(dá)方式例:2、學(xué)習(xí)邏輯運(yùn)算和邏輯表達(dá)式以及運(yùn)算符的優(yōu)先次序maiuO運(yùn)行結(jié)果:a=lsb=2,c=3sd=4;m=n=l;k=0?m=0?n=lk=(m=a>b)&&(n=c>d);printf(t4k=%d?m=%d,n=:%d\ii,,,k,m,n);注:<n=c>d)不被執(zhí)行,n仍然為1例:求ax2+bx+c=0方程的根。由鍵盤輸入a,b,c。假設(shè)a,b,c的值任匕意一,4。并N不保3、使用if語句實(shí)現(xiàn)選擇結(jié)構(gòu)和條件判斷語句程無實(shí)根”的信息。開始d=bMa右邊為選擇結(jié)構(gòu)程序流程圖。比,證果。需要在程序中進(jìn)行判別,如,就計(jì)算并輸出b^r程4的磅個(gè)實(shí)根,否則就輸出“方d=b2-4ac選擇結(jié)構(gòu)和條件判斷語句是本章的重難點(diǎn),對(duì)于初學(xué)者有一定的難度,這一部分家采用大量的例題以便學(xué)生理解和掌握選擇語句的用法。左邊為順序結(jié)構(gòu)的程序流程圖較它們的之間區(qū)別。#include<stdio.h>#include<math.h>intmain(){通過例題doublea,b,c,disc,x1,x2,p,q;scanf("%lf%lf%lf",&a,&b,&c);disc=b*b-4*a*c;通過例題if(disc<0)

教學(xué)步驟教學(xué)家設(shè)計(jì)意圖表達(dá)方式3、使用if語句實(shí)現(xiàn)選擇結(jié)構(gòu)和條件判斷語句printf("hasnotrealroots\n");else{p=-b/(2.0*a);q=sqrt(disc)/(2.0*a);x1=p+q;x2=p-q;printf(“realroots:\nx1=%7.2f\nx2=%7.2f\n”,x1,x2);}return0;}當(dāng)程序輸入6,3,1時(shí),它的運(yùn)行結(jié)果是什么?當(dāng)程序輸入2,4,1時(shí),它的運(yùn)行結(jié)果是什么?例:輸入兩個(gè)實(shí)數(shù),按代數(shù)值由小到大的順序輸出這兩個(gè)數(shù)。解題思路:只需要做一次比較,然后進(jìn)行一次交換即可用if語句實(shí)現(xiàn)條件判斷關(guān)鍵是怎樣實(shí)現(xiàn)兩個(gè)變量值的互換 [開始]#include<stdio.h>intmain() 1氧,b/{floata,b,t; L j~/scanf("%f,%f",&a,&b);if(a>b){ t=a; IL—5a=b; MWbb=t; 1 } /帥/printf("%5.2f,%5.2f\n",a,b); |return0; [endj}例:輸入3個(gè)數(shù)a,b,口要求按由小到大的順序輸出。解題思路:可以先用偽代碼寫出算法:ifa>b,a和b對(duì)換 (a是a、b中的小者)ifa>c,a和c對(duì)換 (a是三者中最小者)ifb>c,b和c對(duì)換 (b是三者中次小者)順序輸出a,b,c#include<stdio.h>intmain(){floata,b,c,t;scanf("%f,%f,%f",&a,&b,&c);if(a>b)如果a>b,將a和b對(duì)換{t=a;a=b;b=t;}a是a、b中的小者的實(shí)際運(yùn)用讓學(xué)生了解條件判斷的作用選擇結(jié)構(gòu)的使用。

教學(xué)步驟教學(xué)家設(shè)計(jì)意圖表達(dá)方式3、使用if語句實(shí)現(xiàn)選擇結(jié)構(gòu)和條件判斷語句if(a>c)如果a>c,將a和b對(duì)換{ t=a; a=c; c=t; } a是a、c中1if(b>c)如果b>c,將a和b對(duì)換{ t=b; b=c; c=t; } b是b、c中《printf("%5.2f,%5.2f,%5.2f\n”,a,b,c);return0;}運(yùn)行程序并輸出結(jié)果。if語句的一般形式:if(表達(dá)式)語句1[else語句2]最常用的3種if語句形式:if(表達(dá)式)語句1 (沒有else子句)if(表達(dá)式)語句1else語句2 (有else子句)if(表達(dá)式71 語句7else1£(表達(dá)式2)語句2else1£(表達(dá)式31語句3111else1£(表達(dá)式加)語句加else語句m+1(在else部分又嵌套了多層的if語句勺小者的小者0通過例題的學(xué)習(xí)引入if語句的格式和使用方法。讓學(xué)生自已找出規(guī)律加深記憶。語句功能格忒3/31語句1 t卜1Fie的值并判斷.e值語句11非0,則執(zhí)行語句1;否貝必執(zhí)行下條語句口格式2:if(e)語句1else語句21下條語句[非0<?>0I計(jì)算e的值并判斷,e值非0,則執(zhí)行語句L否則,執(zhí)行語句2白語句1語句21 , 1下條語句

教學(xué)步驟教學(xué)家設(shè)計(jì)意圖表達(dá)方式、格式3:if(耳)語句1, 4]scif(妗)語句2墓¥55]elseif(q)語句3語句2-1*3、使用ifelseif?)語句m語句3:語句實(shí)現(xiàn)選擇結(jié)構(gòu)else語句it計(jì)算巧的值并判斷,其值非0執(zhí)d.W和條件判斷語句行語句h否則,判斷句的值,其值非。執(zhí)行語句2;否則,判斷%的值,其值非。執(zhí)行語句%否則,……判斷"的值,其值非0執(zhí)行語句m:否則.執(zhí)行語句口?培口口J下條語句例:某運(yùn)輸公司噸公里基本運(yùn)費(fèi)為p,根據(jù)距離s的遠(yuǎn)近計(jì)費(fèi)標(biāo)運(yùn)用例題準(zhǔn)如下:s<250km 沒有折扣250 s<500 2%折扣500 s<1000 5%折扣1000 s<2000 8%折扣2000 s<3000 10%折扣3000 s 15%折扣根據(jù)貨物重量W和運(yùn)距5,求運(yùn)費(fèi)f。main(){floatp,s,w,d,f;scanf("%f%f%f”,&p,&s,&w);if(s>=3000)d=0.15;elseif(s>=2000)d=0.10;elseif(s>=1000)d=0.08;elseif(s>=500)d=0.05;elseif(s>=250)d=0.02;elsed=0.0;f=p*w*s*(1-d);printf("f=%15.2f”,f);鞏固知識(shí),實(shí)現(xiàn)多重選擇語句的使用。}選擇結(jié)構(gòu)的嵌套:在if語句中又包含一個(gè)或多個(gè)if語句稱為if語句的嵌套一般形式:if(), if()語句1 else總是與它上面最近的未配對(duì)else語句2 的if配對(duì)else

教學(xué)步驟教學(xué)家設(shè)計(jì)意圖表達(dá)方式if()語句3else語句4嵌if3、使用if語句實(shí)現(xiàn)選擇結(jié)構(gòu)和條件判斷語句例:有一函數(shù):卜1(%<0)y=]0 (%=0)1 (%>0)編一程序,輸入一個(gè)x值,要求輸出相應(yīng)的y值。解題思路:方法1(1)先后用3個(gè)獨(dú)立的if語句處理:輸入x scanf("%d",&x);若x<0,則y=-1 if(x<0) y=-1;若x=0,則y=0 if(x==0)y=0;若x>0,則y=1 if(x>0) y=1;輸出x和y pHntf("x=%d,y=%d\n",x,y);引用例題使用多種方法說明if的嵌套使用,便于理解和記憶。解題思路:方法2(2)用一個(gè)嵌套的if語句處理:輸入x scanf("%d",&x);若x<0,則y=-1if(x<0)y=-1;否則 else若x=0,則y=0if-。)y=0;否則y=1 . 1elsey=1;scanf("%d",&x);if(x>=0)if(x>0)y=1;else y=0;else y=-1;printf("x=%d,y=%d\n",x,y);輸出x和y ,printf("x=%d,y=%d\n",x,y);有一種if語句,當(dāng)被判別的表達(dá)式的值為“真”或“假”時(shí),都執(zhí)行一個(gè)賦值語句且向同一個(gè)變量賦值如:if(a>b)max=a;else 「 'max=(a>b)?a:b;max=b;1、條件表達(dá)式的一般形式<表達(dá)式1>?<表達(dá)式2>:<表達(dá)式3>2、運(yùn)算規(guī)則先計(jì)算表達(dá)式1,若為非0,則以表達(dá)式2的值作為條件表達(dá)式條件運(yùn)算符和條件表達(dá)式相對(duì)而言比較簡(jiǎn)單,在的值;否則,以表達(dá)式3的值為條件表達(dá)式的值。七任八’3、優(yōu)先級(jí) 1右結(jié)合J教學(xué)過程中列舉表達(dá)式的一般形式并舉例說明。4、條件運(yùn)算符和條件表達(dá)式算術(shù)關(guān)系邏輯運(yùn)算(!除外)條件運(yùn)算1賦值運(yùn)算高? >低(1)輸出x和y當(dāng)中的最大值z(mì)=x>y?x:y;printf(“max=%d”,z);或printf("max=%d",x>y?x:y);或x>y?printf("%d”,x):printf("%d”,y);a>b?a:b+1等價(jià)于a>b?a:(b+1)而不是(4>,?4:功+1a>b?a:c>d?c:d等價(jià)于a>b?a:(c>d?c:d)

教學(xué)步驟教學(xué)家設(shè)計(jì)意圖表達(dá)方式(4)x>y?1:5.6表達(dá)式的值的類型取高的

教學(xué)步驟教學(xué)家設(shè)計(jì)意圖表達(dá)方式4、條件運(yùn)算符和條件表達(dá)式例:輸入一個(gè)字符,判別它是否大寫字母,如果是,將它轉(zhuǎn)換成小寫字母;如果不是,不轉(zhuǎn)換。然后輸出最后得到的字符。#include<stdio.h>intmain(){charch;scanf("%c",&ch);ch=(ch>='A'&&ch<='Z')?(ch+32):ch;printf("%c\n",ch);return0;}5、用switch語句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)switch語句的作用是根據(jù)表達(dá)式的值,使流程跳轉(zhuǎn)到不同的語句switch語句的一般形式:switch(表達(dá)式){case常量1:語句1case 常量2 :語句21 1 11 1 11 1 1case 常量n :語句ndefault :語句n+1}switch語句的作用是根據(jù)表達(dá)式的值,使流程跳轉(zhuǎn)到不同的語句switch語句的執(zhí)行過程:當(dāng)switch后的表達(dá)式的值與某一個(gè)case后的常量表達(dá)式的值相等時(shí),執(zhí)行其后的語句;若無匹配,則執(zhí)行default后的語句break語句使流程跳出switch結(jié)構(gòu),終止switch語句的執(zhí)行。例:要求按照考試成績的等級(jí)輸出百分制分?jǐn)?shù)段,A等為85分以上,B等為70?84分,C等為60?69分,D等為60分以下。成績的等級(jí)由鍵盤輸入。#include<stdio.h>intmain(){chargrade;scanf("%c”,&grade);printf("Yourscore:");switch(grade){case'A':printf("85?100\n");break;case'B':printf("70?84\n");break

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論