亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        C語言中循環(huán)結(jié)構(gòu)的教學設(shè)計探討

        2011-01-01 00:00:00馬憲敏于延
        計算機教育 2011年5期


          摘要:循環(huán)結(jié)構(gòu)是結(jié)構(gòu)化程序設(shè)計中的三種基本結(jié)構(gòu)之一,也是程序設(shè)計的基礎(chǔ)。但是,對于初學者來說,循環(huán)結(jié)構(gòu)與人類日常的思維習慣不同,較難掌握。本文通過精講for循環(huán),推導出while、do-while循環(huán),該方法在日常授課中取得良好的效果。
          關(guān)鍵詞:C語言;結(jié)構(gòu)化程序設(shè)計;循環(huán)結(jié)構(gòu);計算機課教學方法
          
          循環(huán)語句是C語言程序設(shè)計課中的重點知識,是編輯程序的關(guān)鍵。筆者根據(jù)多年程序設(shè)計課程的教學實踐,針對循環(huán)語句的特點,通過提問式、啟發(fā)式教學方法,將問題層層剖析、層層深入,用簡單淺顯的語句講解循環(huán)語句,特別是在如何從for語句變形為while語句這一知識點的過渡方面體會深刻、總結(jié)獨特。該教學方法能夠啟發(fā)學生動用自己的思維,激發(fā)學生的潛能,并使其主動探索,該方法及選用的一連串的例子能夠引導學生自己去發(fā)現(xiàn)學習的樂趣。
          
          1巧妙復習,引入正題
          
          要使學生輕松容易地理解和掌握C語言中的循環(huán)結(jié)構(gòu)程序設(shè)計方法和技巧,教師必須在教學的所有環(huán)節(jié)上都進行認真研究和精心設(shè)計[1]。在循環(huán)結(jié)構(gòu)的第一節(jié)課,我們可以連續(xù)拋出幾個問題讓學生思考。“例如,問題1:打印一行十個星號,如何實現(xiàn)?問題2:打印兩行十個星號,如何實現(xiàn)?問題3:打印10行十個星號如何實現(xiàn)?問題4:打印100行十個星號如何實現(xiàn)?”對于前3個問題,學生都能快速解決,而第4個問題,學生如果還用以前的方法,語句至少需要100條。此時,如果教師指導學生用for循環(huán)實現(xiàn)的語句,同學們就可得到用3條語句代替這100 條語句的直觀印象。這樣做既能克服傳統(tǒng)復習枯燥乏味的缺點,也能抓住學生的好奇心,還能激發(fā)學生對新問題的求知欲。
          
          2內(nèi)容講解過程
          
          2.1for語句
          在三種循環(huán)語句中,教師應(yīng)該先講哪個呢?筆者認為應(yīng)該先講for語句,因為for語句完全可以變形為while語句,while語句又能變形為do-while語句。所以當學生深刻理解了for語句后,自然能理解和掌握其他語句。for語句是循環(huán)控制結(jié)構(gòu)中使用最廣泛的一種循環(huán)控制語句,特別適合已知循環(huán)次數(shù)的情況。第一次講解循環(huán)實例要通俗易懂,力求循序漸進。如求1+2+3+…+100的值,并將其結(jié)果放在變量sum中[2]。引導數(shù)生用依次相加的方法求和,推導過程如以下代碼所示。
          sum=0;
          sum=sum+1;
          sum=sum+2;
          sum=sum+3;
          ……
          sum=sum+100;
          從這個推導過程中找出規(guī)律sum=sum+i,i的初值i=1,i的范圍i<=100,i每次變化步長。得出語句:for(i=1;i<=100;i++) sum=sum+i;從例子中引出for語句的一般形式。
          2.1.1for語句的一般形式
          for(表達式1;表達式2;表達式3)循環(huán)體語句。
          for語句從結(jié)構(gòu)上很好地體現(xiàn)了循環(huán)控制應(yīng)注意的三個問題:1)循環(huán)的初始條件;2)循環(huán)條件;3)循環(huán)的步長[3]。
          接著講解for語句中表達式的功能及常見形式。
          表達式1:設(shè)計循環(huán)的初始條件,常為賦值表達式,給循環(huán)的控制變量賦初值;
          表達式2:確定循環(huán)的條件,該表達式的值為邏輯量真或假,一般為關(guān)系表達式或邏輯表達式;
          表達式3:循環(huán)的步長,一般為賦值表達式、自加或自減表達式。
          語句:循環(huán)體,當有多條語句時,必須使用復合語句。
          所以for語句的一般形式又可以變?yōu)椋?br/>  for(賦值表達式;關(guān)系表達式;自加或自減表達式)循環(huán)體語句。
          有了這種對表達式功能的認識,才能有此表達式確定的形式,這種形式的確定為下一步講解如何將for語句轉(zhuǎn)變成while語句做了最好的鋪墊。
          2.1.2for循環(huán)的執(zhí)行過程
          首先計算表達式1,然后計算表達式2,若表達式2的值為真,則執(zhí)行循環(huán)體;否則,退出for循環(huán),執(zhí)行for循環(huán)外的語句。如果執(zhí)行了循環(huán)體,則循環(huán)體每執(zhí)行一次,都計算表達式3,然后重新計算表達式2,依此循環(huán),直至表達式2的邏輯量值為假,退出循環(huán)。流程圖如圖1所示。
          此處可以詳細講解剛才的實例,程序段如下所示。
          for (i = 1; i <= 100; i++)
          sum = sum + i;
          即i=1;1<=100為真,sum=sum+1;前1項的和,執(zhí)行后i=2;
          i=2;2<=100為真,sum=sum+2;前2項的和,執(zhí)行后i=3;
          i=3;3<=100為真,sum=sum+3;前3項的和,執(zhí)行后i=4;
          …
          i=100;100<=100為真,sum=sum+100;前100項的和,執(zhí)行后i=101;
          i=101;101<=100為假,循環(huán)終止。此時sum中的值即為所求前100項的和。
          通過例子得出結(jié)論之后,教師要不失時機地再次設(shè)疑。在此處,教師可以讓學生思考和解決難度相同的問題,并由他們自己做出正確答案,以加深對循環(huán)語句的理解和認識。平行問題如下所示。
          問題1:1-100內(nèi)所的奇數(shù)/偶數(shù)之和?
          問題2:1-100內(nèi)所有為5倍數(shù)的數(shù)值之和?
          問題3: 之和?
          對于上述問題,教師只要稍加點撥,或經(jīng)學生互相討論,大多數(shù)同學都可以從表達式條件對執(zhí)行過程影響這一角度加以理解,并順利得出正確的程序。
          這些問題解決之后,教師可以逐步加深問題的難度,提高問題如下所示。
          問題4:鍵盤輸入10個學生的成績,輸出各成績和平均成績。
          問題5:在兩行上分別按順序和逆序輸出26個英文大寫字母。
          問題6:輸出斐波納契(Fibonacci)級數(shù)的前30項。
          上述例子,可以使學生由感性認識上升到理性認識,在認識上產(chǎn)生了質(zhì)的飛躍。
          2.1.3for語句的幾種格式
          for語句的三個表達式都是可以省略的,但分號“;”絕對不能省略。還是以剛才的例子分別講解表達式1、表達式2和表達式3省略的情況。
          1)for(;表達式2;表達式3) 循環(huán)體語句。
          for語句執(zhí)行過程的第一步是執(zhí)行表達式1,我們可以將表達式1放到for循環(huán)的前面,這就形成了省略表達式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í)行時,跳過求解“表達式1”這一步,其他的執(zhí)行步驟不變。
          2)for(表達式1;;表達式3) 循環(huán)體語句。
          表達式2省略時,循環(huán)條件默認為真,此時,循環(huán)體中一定要有一條語句能夠跑出循環(huán),否則就是一個死循環(huán)。為了以后避免出現(xiàn)死循環(huán),可以演示死循環(huán)的執(zhí)行過程,給學生留下深刻的印象。
          3)for(;表達式2;) 循環(huán)體語句。
          表達式3也可以省略,根據(jù)它的執(zhí)行順序可知,它是在執(zhí)行循環(huán)體語句后面執(zhí)行的,那么我們可以把“表達式3”放到循環(huán)體中所有語句的最后面,以保證循環(huán)能正常結(jié)束。如以上代碼可以變?yōu)槿缦滦问健?br/>  i = 1;
          for (; i <= 100;)
         ?。鹲um = sum + i;i++;}
          特別要注意的是,如果循環(huán)體有多條語句,要用一對大括號括起所有語句,構(gòu)成復合語句。
          這種形式就是也while 語句最為接近的形式。也可以從這里推導出while語句。
          
          表達式1;
          while(表達式2)
         ?。h(huán)體;表達式3;}
          代碼形式變?yōu)椋?br/>  
          i=1;
          while (i <= 10)
          {sum = sum + i;i++;}
          這時可以直觀地看出for語句與while語句的聯(lián)系。也可以說如果表達式1,表達式2,表達式3完全相同的話,while語句完全等同于for語句。
          2.2while語句
          有些問題用for語句不方便或解決不了時,可以用while語句。如問題:從鍵盤輸入若干個非0數(shù)據(jù),求它們的和?用0結(jié)束循環(huán)的執(zhí)行[2]。
          while語句是當型循環(huán)語句,一般形式為:
          while(表達式)語句;
          其中while為語句的關(guān)鍵詞,表達式為循環(huán)條件,語句部分一般包括兩部分:循環(huán)體和步長,所以一般為多條語句構(gòu)成,應(yīng)使用復合語句,以符合語法規(guī)范的要求。
          while語句的傳統(tǒng)流程圖如圖2所示,其特點是先判斷,后執(zhí)行,若條件不成立,有可能一次也不執(zhí)行。
          在整個循環(huán)中,初始條件只在循環(huán)開始時執(zhí)行一次,以后進行的是循環(huán)條件、循環(huán)體和步長之間的循環(huán),一般初始條件以變量初始化或變量賦值語句的形式在循環(huán)語句之前已經(jīng)實現(xiàn),所以在while語句中沒有這一條件的體現(xiàn)。
          在講解while語句時,教師可以將講解for語句的例子用while語句來實現(xiàn)一遍。從問題的求解中讓學生自己總結(jié)出兩者之間的區(qū)別。
          2.3do-while語句
          do-while和while很相似:while 先判斷表達式的值,后執(zhí)行循環(huán)體;do-while先執(zhí)行循環(huán)體,再判斷表達式[3]。它的一般形式為:
          do
          循環(huán)體
          while(表達式);
          其中語句通常為復合語句,基本組成同while語句。
          do-while語句的流程圖如圖3所示,其基本特點是:先執(zhí)行后判斷,因此,循環(huán)體至少被執(zhí)行一次。
          可以用do-while語句實現(xiàn)前一個例子,比較它們的異同。
          
          3結(jié)語
          
          “C語言程序設(shè)計”課程中循環(huán)結(jié)構(gòu)是重點也是難點,如何在課堂上激發(fā)學生學習的興趣,培養(yǎng)學生發(fā)現(xiàn)問題和解決問題的能力,充分發(fā)揮學生的潛能,這是每一位教師必須面對的問題。只有教師采用秩序漸近的教學方法,學生才能掌握規(guī)律、活學活用、舉一反三。在課堂上,充分發(fā)揮學生的主體作用和教師的主導作用,采用啟發(fā)式,并遵循循序漸進的教學原則,引導學生不斷設(shè)疑、析疑、解疑??傊?,教學是一個需要持續(xù)改進和完善的過程,我們將不斷總結(jié)課程教學的經(jīng)驗,使C語言教學邁向新的臺階。
          
          參考文獻:
          [1]

        av中文字幕少妇人妻| 日本午夜精品一区二区三区电影| 国产精品久久久久久久免费看| 男人的天堂在线无码视频| 日本女优中文字幕四季视频网站| 美女主播网红视频福利一区二区| 久久人妻少妇嫩草av无码专区| 久久久精品免费观看国产| 国产传媒剧情久久久av| 亚洲精品一区三区三区在线| 无码国产精品一区二区免费式直播| 四虎精品视频| 久久国产精品一区二区| 97cp在线视频免费观看| 亚洲v欧美v国产v在线观看| 男人的天堂在线无码视频| 日本av第一区第二区| 精品卡一卡二卡3卡高清乱码| 韩国19禁无遮挡啪啪无码网站| 国产精品麻豆A啊在线观看| 麻豆精品在线视频观看| 午夜福利理论片在线观看| 亚洲精品你懂的在线观看| 熟女丝袜美腿亚洲一区二区三区| 国产一区二区视频在线免费观看| 人妻夜夜爽天天爽一区 | 高潮又爽又无遮挡又免费| 精品国产免费Av无码久久久| 日产精品毛片av一区二区三区| 十四以下岁毛片带血a级| 免费人成年小说在线观看| 97人妻无码免费专区| 亚洲高清中文字幕视频| 久久综合精品国产一区二区三区无码| 久久国产免费观看精品| 国产日产亚洲系列首页| 国产精品www夜色视频| 精品免费人伦一区二区三区蜜桃| 人妻少妇中文字幕专区| 亚洲乳大丰满中文字幕| 午夜国产在线|