c語言程序設(shè)計(jì)教學(xué)方法研究_第1頁
已閱讀1頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  C語言程序設(shè)計(jì)教學(xué)方法研究</p><p> ?。壅軨語言程序設(shè)計(jì)是計(jì)算機(jī)專業(yè)學(xué)習(xí)中的一門基礎(chǔ)課程,是培訓(xùn)學(xué)生對計(jì)算機(jī)程序設(shè)計(jì)學(xué)習(xí)興趣的關(guān)鍵課程。分析C語言教學(xué)過程中存在的一些問題,并從方法論的觀點(diǎn)出發(fā),針對不同的學(xué)習(xí)階段,運(yùn)用不同的教學(xué)方法來提高教學(xué)質(zhì)量。 </p><p> ?。坳P(guān)鍵詞]C語言程序設(shè)計(jì)方法論教學(xué)方法 </p><p> 

2、?。壑袌D分類號]G642[文獻(xiàn)標(biāo)識碼]A[文章編號]2095-3437(2014)10-0056-02本文主要從學(xué)習(xí)C語言的5個階段來闡述如何把方法論運(yùn)用于C語言教學(xué)中。 </p><p>  一、理解計(jì)算機(jī)程序設(shè)計(jì)語言的特點(diǎn) </p><p>  計(jì)算機(jī)的實(shí)質(zhì)是一種在指令的控制下運(yùn)行的一種電子設(shè)備。計(jì)算機(jī)只能識別二進(jìn)制編碼的機(jī)器指令。因?yàn)闄C(jī)器語言難學(xué),難記憶,所以在計(jì)算機(jī)技術(shù)的發(fā)展過程中

3、,逐步出現(xiàn)了匯編語言,高級語言和面向?qū)ο蟮恼Z言。所有這些計(jì)算機(jī)編程語言出現(xiàn)的目的都是想以盡量“接近”人類的語言來編寫計(jì)算機(jī)程序。所有的計(jì)算機(jī)程序設(shè)計(jì)語言最終都要“翻譯”成計(jì)算機(jī)可執(zhí)行的機(jī)器語言,因此計(jì)算機(jī)程序設(shè)計(jì)語言即具有人類自然語言的特點(diǎn),也具有“計(jì)算機(jī)”語言的獨(dú)特之處。一方面,在學(xué)習(xí)計(jì)算機(jī)程序設(shè)計(jì)語言中,可以借鑒學(xué)習(xí)自然語言的方法來學(xué)習(xí)計(jì)算機(jī)編程語言,讓學(xué)生容易理解、接受。如自然語言有字符集,那么各類程序設(shè)計(jì)語言也有他們各自的字符集

4、。自然語言有語法法則,那么計(jì)算機(jī)語言也有語法法則,只有符合語言法則,計(jì)算機(jī)才能識別并翻譯成機(jī)器語言。另一方面,計(jì)算機(jī)程序設(shè)計(jì)語言,最終要“翻譯”成機(jī)器語言,由于CPU只能執(zhí)行特定的某些指令,計(jì)算機(jī)程序設(shè)計(jì)語言的語法規(guī)則是由計(jì)算機(jī)語言設(shè)計(jì)者所設(shè)計(jì),都是規(guī)定“死”了的法則,因此計(jì)算機(jī)程序設(shè)計(jì)語言不能像自然語言那樣能夠靈活使用。 </p><p>  二、透徹理解標(biāo)識符、常量、變量、運(yùn)算符和表達(dá)式 </p>

5、<p>  老師講課時,應(yīng)盡可能多運(yùn)用各種教學(xué)方法講課,如類別法,對比法等,把一些基礎(chǔ)知識講透徹,讓學(xué)生容易理解、接受。如講字符集時,可以用漢字字庫來類別;講標(biāo)識符時,可以用“名字”來類別;講常量時,一定要調(diào)動學(xué)生思維,讓學(xué)生領(lǐng)悟到計(jì)算機(jī)是如何識別常量的,并運(yùn)用對比法,理解各種常量之間的區(qū)別,如字符‘A’與字符串“A”的區(qū)別,字符‘1’與數(shù)字1的區(qū)別等等;講變量時,講清楚變量的數(shù)據(jù)類型、存儲格式和可進(jìn)行的運(yùn)算操作。講運(yùn)算符

6、時,這種強(qiáng)調(diào)運(yùn)算符的優(yōu)先級和結(jié)合性,并用數(shù)學(xué)中的優(yōu)先級和結(jié)合性的實(shí)例進(jìn)行類比。 </p><p>  三、理解C語言語句 </p><p>  語句是程序設(shè)計(jì)語言的重要組成部分,如果不把語句理解清楚,學(xué)生沒辦法編程。C語言語句包括:控制語句、函數(shù)調(diào)用語句、表達(dá)式語句、空語句和復(fù)合語句。學(xué)生極易在空語句和復(fù)合語句這兩個知識點(diǎn)上犯錯誤。講課時,不僅要講清楚空語句和復(fù)合語句的概念,而且要結(jié)合控制

7、語句一起,演示空語句和復(fù)合語句對程序結(jié)構(gòu)的影響?,F(xiàn)在用2個實(shí)例來分別說明空語句和復(fù)合語句對程序結(jié)構(gòu)的影響。 </p><p>  例 1假設(shè)變量均已定義,執(zhí)行下列語句的結(jié)果是() </p><p>  for(i=1;i<=5;i++); </p><p>  printf(“*”); </p><p>  A *****B *C 有語

8、法錯誤 </p><p>  本題好多學(xué)生一看馬上選A,正確的答案是B,因?yàn)閒or語句括號后有1個分號,所以循環(huán)體是空語句,當(dāng)for循環(huán)執(zhí)行結(jié)束后,順序執(zhí)行后面的printf(“*”);語句,輸出1個“*”。 </p><p>  例 2編一個程序,滿足下面函數(shù)的功能:輸入一個x值,輸出y值。請判斷下面程序是否正確。 </p><p><b>  y=-1

9、(x0) </b></p><p><b>  main() </b></p><p>  { int x,y; </p><p>  scanf(“%d”,&x); </p><p><b>  y=0; </b></p><p><b>  if(x

10、>=0) </b></p><p><b>  if(x>0) </b></p><p><b>  y=1; </b></p><p><b>  else </b></p><p><b>  y=-1; </b></p&

11、gt;<p>  printf(“x=%d,y=%d\n”,x,y);} </p><p>  本例大部分學(xué)生都認(rèn)為是正確的,認(rèn)為else與if(x>=0)的那個if匹配,實(shí)際上else應(yīng)與if(x>0)的那個if匹配,因?yàn)閑lse總是與上面最近沒有匹配的if向匹配。要使else與if(x>=0)的那個if匹配,可以再用一對花括號把if(x>0) y=1;這條語句括起來,由于

12、復(fù)合語句里面的結(jié)構(gòu)不能與花括號外面有聯(lián)系,所以按以上方法加花括號后,就改變了程序的流程,使else與if(x>=0)的那個if匹配。修改結(jié)果如下: </p><p><b>  main() </b></p><p>  { int x,y; </p><p>  scanf(“%d”,&x); </p><p>

13、<b>  y=0; </b></p><p><b>  if(x>=0) </b></p><p><b>  {if(x>0) </b></p><p><b>  y=1;} </b></p><p><b>  else &

14、lt;/b></p><p><b>  y=-1; </b></p><p>  printf(“x=%d,y=%d\n”,x,y);} </p><p>  在講完語句這部分內(nèi)容之后,要及時給學(xué)生做總結(jié),讓學(xué)生深刻理解控制語句結(jié)構(gòu)中語句可以是哪些語句。如 if(表達(dá)式) 語句,這里的“語句”可以是以下3種: </p>&

15、lt;p>  1.一條簡單的語句; </p><p>  2.由1對花括號括起來的1條復(fù)合語句; </p><p>  3.只有1個“;”構(gòu)成的空語句; </p><p>  四、提高學(xué)生算法分析的能力 </p><p>  在教書過程中,好多學(xué)生總說老師講的內(nèi)容都懂,照著老師編程都會,就是當(dāng)自己編程時遍不出來。這部分學(xué)生其實(shí)是算法分析

16、能力較差,并不是C語句基礎(chǔ)知識不好。在講課時,首先讓學(xué)生先把C語言拋在一邊,理解題意,分析算法,并用流程圖把算法描述出來,然后根據(jù)流程圖編寫程序。例如:從鍵盤上輸入一個年份,判斷改年是平年還是閏年。 </p><p>  1.讓學(xué)生理解閏年的判斷方法:(1)不能被4整除的肯定不是閏年,能被4整除的不能確定;(2)能被4整除但不能被100整除的是閏年,能被4整除且能被100整除的不能確定;(3)能被4整除又能被10

17、0整除同時也能被400整除的是閏年,能被4整除又能被100整除但不能被400整除的不是閏年。 </p><p>  2.畫N-S流程圖。 </p><p><b>  ■ </b></p><p>  3.根據(jù)N-S流程圖編程。 </p><p><b>  main() </b></p>

18、;<p>  {intyear,leap; </p><p>  scanf(“%d”,&year); </p><p>  if(year%4==0) </p><p>  if(year%100==0) </p><p>  if(year%400==0) </p><p><b>

19、  leap=1; </b></p><p><b>  else </b></p><p><b>  leap=0; </b></p><p><b>  else </b></p><p><b>  leap=1; </b></p

20、><p><b>  else </b></p><p><b>  leap=0; </b></p><p><b>  if(leap) </b></p><p>  printf(“%d is a leap year.\n ”,year); </p><p

21、><b>  else </b></p><p>  printf(“%d is not a leap year.\n ”,year); </p><p><b>  } </b></p><p>  一般題目經(jīng)過這3步后,學(xué)生比較容易理解、接受。訓(xùn)練一段時間后,算法分析能力逐步提高,編程就不在困難了。 </p

22、><p>  五、提高調(diào)試程序的能力。 </p><p>  學(xué)生編程出錯在所難免,關(guān)鍵是如何讓學(xué)生快速地找到錯誤并快速更改過來,確實(shí)是一件不容易的事。程序錯誤可以分為語法錯誤和語義錯誤。對于語法錯誤,編譯器可以查出來,并可以定位錯誤,一般錯誤就是在指定的那行,如果那行沒有錯誤,就向上找,如果再找不出來,就看程序的整體結(jié)構(gòu)。對于語義錯誤,讓學(xué)生自己把程序“執(zhí)行”一遍,分析錯誤的結(jié)果是怎么執(zhí)行出

23、來的,然后通過對比,就可以發(fā)現(xiàn)語義錯誤。 </p><p><b> ?。蹍⒖嘉墨I(xiàn)] </b></p><p> ?。?]譚浩強(qiáng).C程序設(shè)計(jì)第三版[M].北京:清華大學(xué)出版社,2005,. </p><p>  [2]化志章,揭安全,鐘林輝.Java程序設(shè)計(jì)―從方法學(xué)角度描述[M].北京:機(jī)械工業(yè)出版社,2012. </p>&l

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論