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

下載本文檔

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

文檔簡(jiǎn)介

C語(yǔ)言循環(huán)結(jié)構(gòu)教學(xué)設(shè)計(jì)教學(xué)設(shè)計(jì)(包括教學(xué)背景、教學(xué)目標(biāo))關(guān)于“C語(yǔ)言程序設(shè)計(jì)”課程C語(yǔ)言是在70年代初問(wèn)世的。一九七八年由美國(guó)電話電報(bào)公司(AT&T)貝爾實(shí)驗(yàn)室正式發(fā)表了C語(yǔ)言。同時(shí)由B.W.Kernighan和D.M.Ritchit合著了著名的“THECPROGRAMMINGLANGUAGE”一書(shū)。通常簡(jiǎn)稱為《K&R》,也有人稱之為《K&R》標(biāo)準(zhǔn)。但是,在《K&R》中并沒(méi)有定義一個(gè)完整的標(biāo)準(zhǔn)C語(yǔ)言,后來(lái)由美國(guó)國(guó)家標(biāo)準(zhǔn)學(xué)會(huì)在此基礎(chǔ)上制定了一個(gè)C語(yǔ)言標(biāo)準(zhǔn),于一九八三年發(fā)表。通常稱之為ANSIC。當(dāng)代最優(yōu)秀的程序設(shè)計(jì)語(yǔ)早期的C語(yǔ)言主要是用于UNIX系統(tǒng)。由于C語(yǔ)言的強(qiáng)大功能和各方面的優(yōu)點(diǎn)逐漸為人們認(rèn)識(shí),到了八十年代,C開(kāi)始進(jìn)入其它操作系統(tǒng),并很快在各類大、中、小和微型計(jì)算機(jī)上得到了廣泛的使用。成為當(dāng)代最優(yōu)秀的程序設(shè)計(jì)語(yǔ)言之一。

C語(yǔ)言的特點(diǎn)C語(yǔ)言是一種結(jié)構(gòu)化語(yǔ)言。它層次清晰,便于按模塊化方式組織程序,易于調(diào)試和維護(hù)。C語(yǔ)言的表現(xiàn)能力和處理能力極強(qiáng)。它不僅具有豐富的運(yùn)算符和數(shù)據(jù)類型,便于實(shí)現(xiàn)各類復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。它還可以直接訪問(wèn)內(nèi)存的物理地址,進(jìn)行位(bit)一級(jí)的操作。由于C語(yǔ)言實(shí)現(xiàn)了對(duì)硬件的編程操作,因此C語(yǔ)言集高級(jí)語(yǔ)言和低級(jí)語(yǔ)言的功能于一體。既可用于系統(tǒng)軟件的開(kāi)發(fā),也適合于應(yīng)用軟件的開(kāi)發(fā)。此外,C語(yǔ)言還具有效率高,可移植性強(qiáng)等特點(diǎn)。因此廣泛地移植到了各類各型計(jì)算機(jī)上,從而形成了多種版本的C語(yǔ)言。C語(yǔ)言版本目前最流行的C語(yǔ)言有以下幾種:

·MicrosoftC或稱MSC

·BorlandTurboC或稱TurboC

·AT&TC

這些C語(yǔ)言版本不僅實(shí)現(xiàn)了ANSIC標(biāo)準(zhǔn),而且在此基礎(chǔ)上各自作了一些擴(kuò)充,使之更加方便、完美。

面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言

在C的基礎(chǔ)上,一九八三年又由貝爾實(shí)驗(yàn)室的BjarneStrou-strup推出了C++。C++進(jìn)一步擴(kuò)充和完善了C語(yǔ)言,成為一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。C++目前流行的最新版本是BorlandC++4.5,SymantecC++6.1,和MicrosoftVisualC++2.0。C++提出了一些更為深入的概念,它所支持的這些面向?qū)ο蟮母拍钊菀讓?wèn)題空間直接地映射到程序空間,為程序員提供了一種與傳統(tǒng)結(jié)構(gòu)程序設(shè)計(jì)不同的思維方式和編程方法。因而也增加了整個(gè)語(yǔ)言的復(fù)雜性,掌握起來(lái)有一定難度。學(xué)習(xí)方法建議學(xué)習(xí)本章內(nèi)容時(shí),應(yīng)重點(diǎn)掌握3種循環(huán)語(yǔ)句的基本流程,并在此基礎(chǔ)上理解循環(huán)嵌套的應(yīng)用,要求多讀程序,理解編程的算法、編程的思路,并仿照例題多編程序、上機(jī)練習(xí),真正掌握循環(huán)結(jié)構(gòu)程序設(shè)計(jì)。教學(xué)目標(biāo)知識(shí)層面:掌握循環(huán)結(jié)構(gòu)程序設(shè)計(jì)能力層面:在編程語(yǔ)言環(huán)境熟練應(yīng)用循環(huán)結(jié)構(gòu)編寫(xiě)程序認(rèn)知層面:深刻理解循環(huán)結(jié)構(gòu)for語(yǔ)句、while語(yǔ)句、do-while語(yǔ)句在編程序時(shí)應(yīng)用教學(xué)重點(diǎn)與難點(diǎn)1)教學(xué)重點(diǎn):for語(yǔ)句、do-while語(yǔ)句、while語(yǔ)句處理方法:結(jié)構(gòu)流程圖和實(shí)列幫助學(xué)生理解循環(huán)結(jié)構(gòu)執(zhí)行過(guò)程2)教學(xué)難點(diǎn):循環(huán)的嵌套處理方法:詳細(xì)列舉循環(huán)的嵌套結(jié)構(gòu)形式以及流程圖,加上練習(xí)幫助學(xué)生理解二、課程設(shè)計(jì)思路(包括教學(xué)方法、教學(xué)手段)教學(xué)步驟教學(xué)內(nèi)容設(shè)計(jì)意圖與表達(dá)方式巧妙復(fù)習(xí),引入正題一問(wèn)題引入:例如:問(wèn)題1:打印一行十個(gè)星號(hào),如何實(shí)現(xiàn)?問(wèn)題2:打印兩行十個(gè)星號(hào),如何實(shí)現(xiàn)?問(wèn)題3:打印10行十個(gè)星號(hào)如何實(shí)現(xiàn)?問(wèn)題4:打印100行十個(gè)星號(hào)如何實(shí)現(xiàn)?既能克服傳統(tǒng)復(fù)習(xí)枯燥乏味的缺點(diǎn),也能抓住學(xué)生的好奇心,還能激發(fā)學(xué)生對(duì)新問(wèn)題的求知欲。通過(guò)介紹循環(huán)語(yǔ)句for的語(yǔ)法規(guī)則以及流程圖二.內(nèi)容講解過(guò)程:2.1for語(yǔ)句在三種循環(huán)語(yǔ)句中,教師應(yīng)該先講哪個(gè)呢?我認(rèn)為應(yīng)該先講for語(yǔ)句,因?yàn)閒or語(yǔ)句完全可以變形為while語(yǔ)句,while語(yǔ)句又能變形為do-while語(yǔ)句。所以當(dāng)學(xué)生深刻理解了for語(yǔ)句后,自然能理解和掌握其他語(yǔ)句。for語(yǔ)句是循環(huán)控制結(jié)構(gòu)中使用最廣泛的一種循環(huán)控制語(yǔ)句,特別適合已知循環(huán)次數(shù)的情況。第一次講解循環(huán)實(shí)例要通俗易懂,力求循序漸進(jìn)。如求1+2+3+…+100的值,并將其結(jié)果放在變量sum中。引導(dǎo)學(xué)生用依次相加的方法求和,推導(dǎo)過(guò)程如以下代碼所示。sum=0;sum=sum+1;sum=sum+2;sum=sum+3;……sum=sum+100;從這個(gè)推導(dǎo)過(guò)程中找出規(guī)律sum=sum+i,i的初值i=1,i的范圍i<=100,i每次變化步長(zhǎng)。得出語(yǔ)句:for(i=1;i<=100;i++)sum=sum+i;從例子中引出for語(yǔ)句的一般形式。2.1.1for語(yǔ)句的一般形式for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體語(yǔ)句。for語(yǔ)句從結(jié)構(gòu)上很好地體現(xiàn)了循環(huán)控制應(yīng)注意的三個(gè)問(wèn)題:1)循環(huán)的初始條件;2)循環(huán)條件;3)循環(huán)的步長(zhǎng)。接著講解for語(yǔ)句中表達(dá)式的功能及常見(jiàn)形式。表達(dá)式1:設(shè)計(jì)循環(huán)的初始條件,常為賦值表達(dá)式,給循環(huán)的控制變量賦初值;表達(dá)式2:確定循環(huán)的條件,該表達(dá)式的值為邏輯量真或假,一般為關(guān)系表達(dá)式或邏輯表達(dá)式;表達(dá)式3:循環(huán)的步長(zhǎng),一般為賦值表達(dá)式、自加或自減表達(dá)式。語(yǔ)句:循環(huán)體,當(dāng)有多條語(yǔ)句時(shí),必須使用復(fù)合語(yǔ)句。所以for語(yǔ)句的一般形式又可以變?yōu)椋篺or(賦值表達(dá)式;關(guān)系表達(dá)式;自加或自減表達(dá)式)循環(huán)體語(yǔ)句。有了這種對(duì)表達(dá)式功能的認(rèn)識(shí),才能有此表達(dá)式確定的形式,這種形式的確定為下一步講解如何將for語(yǔ)句轉(zhuǎn)變成while語(yǔ)句做了最好的鋪墊。2.1.2for循環(huán)的執(zhí)行過(guò)程首先計(jì)算表達(dá)式1,然后計(jì)算表達(dá)式2,若表達(dá)式2的值為真,則執(zhí)行循環(huán)體;否則,退出for循環(huán),執(zhí)行for循環(huán)外的語(yǔ)句。如果執(zhí)行了循環(huán)體,則循環(huán)體每執(zhí)行一次,都計(jì)算表達(dá)式3,然后重新計(jì)算表達(dá)式2,依此循環(huán),直至表達(dá)式2的邏輯量值為假,退出循環(huán)。流程圖如圖1所示。此處可以詳細(xì)講解剛才的實(shí)例,程序段如下所示。for(i=1;i<=100;i++)sum=sum+i;即i=1;1<=100為真,sum=sum+1;前1項(xiàng)的和,執(zhí)行后i=2;i=2;2<=100為真,sum=sum+2;前2項(xiàng)的和,執(zhí)行后i=3;i=3;3<=100為真,sum=sum+3;前3項(xiàng)的和,執(zhí)行后i=4;…i=100;100<=100為真,sum=sum+100;前100項(xiàng)的和,執(zhí)行后i=101;i=101;101<=100為假,循環(huán)終止。此時(shí)sum中的值即為所求前100項(xiàng)的和。通過(guò)例子得出結(jié)論之后,教師要不失時(shí)機(jī)地再次設(shè)疑。在此處,教師可以讓學(xué)生思考和解決難度相同的問(wèn)題,并由他們自己做出正確答案,以加深對(duì)循環(huán)語(yǔ)句的理解和認(rèn)識(shí)。平行問(wèn)題如下所示。問(wèn)題1:1-100內(nèi)所的奇數(shù)/偶數(shù)之和?問(wèn)題2:1-100內(nèi)所有為5倍數(shù)的數(shù)值之和?問(wèn)題3:1+1/2+1/3+……+1/100之和?對(duì)于上述問(wèn)題,教師只要稍加點(diǎn)撥,或經(jīng)學(xué)生互相討論,大多數(shù)同學(xué)都可以從表達(dá)式條件對(duì)執(zhí)行過(guò)程影響這一角度加以理解,并順利得出正確的程序。這些問(wèn)題解決之后,可以逐步加深問(wèn)題的難度,提高問(wèn)題如下所示。問(wèn)題4:鍵盤輸入10個(gè)學(xué)生的成績(jī),輸出各成績(jī)和平均成績(jī);問(wèn)題5:在兩行上分別按順序和逆序輸出26個(gè)英文大寫(xiě)字母;問(wèn)題6:輸出斐波納契(Fibonacci)級(jí)數(shù)的前30項(xiàng)。上述例子,可以使學(xué)生由感性認(rèn)識(shí)上升到理性認(rèn)識(shí),在認(rèn)識(shí)上產(chǎn)生了質(zhì)的飛躍。2.1.3for語(yǔ)句的幾種格式for語(yǔ)句的三個(gè)表達(dá)式都是可以省略的,但分號(hào)“;”絕對(duì)不能省略。還是以剛才的例子分別講解表達(dá)式1、表達(dá)式2和表達(dá)式3省略的情況。1)for(;表達(dá)式2;表達(dá)式3)循環(huán)體語(yǔ)句。for語(yǔ)句執(zhí)行過(guò)程的第一步是執(zhí)行表達(dá)式1,我們可以將表達(dá)式1放到for循環(huán)的前面,這就形成了省略表達(dá)式1的情況。使用條件是:循環(huán)控制變量的初值是執(zhí)行在循環(huán)體前已經(jīng)賦值,如下面代碼:i=1;for(;i<=100;i++)sum=sum+i;可以清楚地看到,在執(zhí)行循環(huán)前,循環(huán)控制變量的初值已經(jīng)被事先賦值了。執(zhí)行時(shí),跳過(guò)求解“表達(dá)式1”這一步,其他的執(zhí)行步驟不變。2)for(表達(dá)式1;;表達(dá)式3)循環(huán)體語(yǔ)句。表達(dá)式2省略時(shí),循環(huán)條件默認(rèn)為真,此時(shí),循環(huán)體中一定要有一條語(yǔ)句能夠跑出循環(huán),否則就是一個(gè)死循環(huán)。為了以后避免出現(xiàn)死循環(huán),可以演示死循環(huán)的執(zhí)行過(guò)程,給學(xué)生留下深刻的印象。3)for(;表達(dá)式2;)循環(huán)體語(yǔ)句。讓學(xué)生更好理解for語(yǔ)句的語(yǔ)法規(guī)則,詳細(xì)講解利用for語(yǔ)句的特性過(guò)度到while語(yǔ)句For語(yǔ)句過(guò)度到while語(yǔ)句表達(dá)式3也可以省略,根據(jù)它的執(zhí)行順序可知,它是在執(zhí)行循環(huán)體語(yǔ)句后面執(zhí)行的,那么我們可以把“表達(dá)式3”放到循環(huán)體中所有語(yǔ)句的最后面,以保證循環(huán)能正常結(jié)束。如以上代碼可以變?yōu)槿缦滦问健=1;for(;i<=100;){sum=sum+i;i++;}特別要注意的是,如果循環(huán)體有多條語(yǔ)句,要用一對(duì)大括號(hào)括起所有語(yǔ)句,構(gòu)成復(fù)合語(yǔ)句。這種形式就是也while語(yǔ)句最為接近的形式。也可以從這里推導(dǎo)出while語(yǔ)句。表達(dá)式1;while(表達(dá)式2){循環(huán)體;表達(dá)式3;}代碼形式變?yōu)椋篿=1;while(i<=10){sum=sum+i;i++;}這時(shí)可以直觀地看出for語(yǔ)句與while語(yǔ)句的聯(lián)系。也可以說(shuō)如果表達(dá)式1,表達(dá)式2,表達(dá)式3完全相同的話,while語(yǔ)句完全等同于for語(yǔ)句。2.2while語(yǔ)句有些問(wèn)題用for語(yǔ)句不方便或解決不了時(shí),可以用while語(yǔ)句。如問(wèn)題:從鍵盤輸入若干個(gè)非0數(shù)據(jù),求它們的和?用0結(jié)束循環(huán)的執(zhí)行。while語(yǔ)句是當(dāng)型循環(huán)語(yǔ)句,一般形式為:while(表達(dá)式)語(yǔ)句;其中while為語(yǔ)句的關(guān)鍵詞,表達(dá)式為循環(huán)條件,語(yǔ)句部分一般包括兩部分:循環(huán)體和步長(zhǎng),所以一般為多條語(yǔ)句構(gòu)成,應(yīng)使用復(fù)合語(yǔ)句,以符合語(yǔ)法規(guī)范的要求。while語(yǔ)句的傳統(tǒng)流程圖如圖2所示,其特點(diǎn)是先判斷,后執(zhí)行,若條件不成立,有可能一次也不執(zhí)行。在整個(gè)循環(huán)中,初始條件只在循環(huán)開(kāi)始時(shí)執(zhí)行一次,以后進(jìn)行的是循環(huán)條件、循環(huán)體和步長(zhǎng)之間的循環(huán),一般初始條件以變量初始化或變量賦值語(yǔ)句的形式在循環(huán)語(yǔ)句之前已經(jīng)實(shí)現(xiàn),所以在while語(yǔ)句中沒(méi)有這一條件的體現(xiàn)。在講解while語(yǔ)句時(shí),教師可以將講解for語(yǔ)句的例子用while語(yǔ)句來(lái)實(shí)現(xiàn)一遍。從問(wèn)題的求解中讓學(xué)生自己總結(jié)出兩者之間的區(qū)別。2.3do-while語(yǔ)句do-while和while很相似:while先判斷表達(dá)式的值,后執(zhí)行循環(huán)體;do-while先執(zhí)行循環(huán)體,再判斷表達(dá)式[3]。它的一般形式為:do循環(huán)體while(表達(dá)式);其中語(yǔ)句通常為復(fù)合語(yǔ)句,基本組成同while語(yǔ)句。do-while語(yǔ)句的流程圖如圖3所示,其基本特點(diǎn)是:先執(zhí)行后判斷,因此,循環(huán)體至少被執(zhí)行一次??梢杂胐o-while語(yǔ)句實(shí)現(xiàn)前一個(gè)例子,比較它們的異同。此過(guò)程是較難的階段,以引導(dǎo)學(xué)生掌握f(shuō)or語(yǔ)句變換到while語(yǔ)句、用流程比較while語(yǔ)句與do-while語(yǔ)句差別,加深學(xué)生對(duì)它們理解三.循環(huán)的嵌套嵌套的幾種形式(1)while(){……while(){……}…...}2)do{……do{……}while();…...}while();(3)while(){……do{……}while();…….}(4)for(;;){……do{……}while();……while(){……}…...}題列:分析程序運(yùn)行結(jié)果。inti=1,a=0;for(;i<=5;i++){do{i++; a++;}while(i<3); i++;}printf(“%d,%d\n”,a,i);該點(diǎn)是教學(xué)的難點(diǎn),學(xué)生不易理解嵌套層次,引用了一個(gè)簡(jiǎn)單三層循環(huán)。幫助理解循環(huán)的嵌套。并在C++環(huán)境中求解四、break語(yǔ)句和continue語(yǔ)句1.break語(yǔ)句功能:在循環(huán)語(yǔ)句和switch語(yǔ)句中,終止并跳出循環(huán)體或開(kāi)關(guān)體。說(shuō)明:break只能終止并跳出最近一層的結(jié)構(gòu)break不能用于循環(huán)語(yǔ)句和switch語(yǔ)句之外的任何其它語(yǔ)句之中。2.continue語(yǔ)句功能:結(jié)束本次循環(huán),跳過(guò)循環(huán)體中

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論