

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> C語言程序設計教學方法研究</p><p> ?。壅軨語言程序設計是計算機專業(yè)學習中的一門基礎課程,是培訓學生對計算機程序設計學習興趣的關鍵課程。分析C語言教學過程中存在的一些問題,并從方法論的觀點出發(fā),針對不同的學習階段,運用不同的教學方法來提高教學質(zhì)量。 </p><p> [關鍵詞]C語言程序設計方法論教學方法 </p><p>
2、 [中圖分類號]G642[文獻標識碼]A[文章編號]2095-3437(2014)10-0056-02本文主要從學習C語言的5個階段來闡述如何把方法論運用于C語言教學中。 </p><p> 一、理解計算機程序設計語言的特點 </p><p> 計算機的實質(zhì)是一種在指令的控制下運行的一種電子設備。計算機只能識別二進制編碼的機器指令。因為機器語言難學,難記憶,所以在計算機技術的發(fā)展過程中
3、,逐步出現(xiàn)了匯編語言,高級語言和面向?qū)ο蟮恼Z言。所有這些計算機編程語言出現(xiàn)的目的都是想以盡量“接近”人類的語言來編寫計算機程序。所有的計算機程序設計語言最終都要“翻譯”成計算機可執(zhí)行的機器語言,因此計算機程序設計語言即具有人類自然語言的特點,也具有“計算機”語言的獨特之處。一方面,在學習計算機程序設計語言中,可以借鑒學習自然語言的方法來學習計算機編程語言,讓學生容易理解、接受。如自然語言有字符集,那么各類程序設計語言也有他們各自的字符集
4、。自然語言有語法法則,那么計算機語言也有語法法則,只有符合語言法則,計算機才能識別并翻譯成機器語言。另一方面,計算機程序設計語言,最終要“翻譯”成機器語言,由于CPU只能執(zhí)行特定的某些指令,計算機程序設計語言的語法規(guī)則是由計算機語言設計者所設計,都是規(guī)定“死”了的法則,因此計算機程序設計語言不能像自然語言那樣能夠靈活使用。 </p><p> 二、透徹理解標識符、常量、變量、運算符和表達式 </p>
5、<p> 老師講課時,應盡可能多運用各種教學方法講課,如類別法,對比法等,把一些基礎知識講透徹,讓學生容易理解、接受。如講字符集時,可以用漢字字庫來類別;講標識符時,可以用“名字”來類別;講常量時,一定要調(diào)動學生思維,讓學生領悟到計算機是如何識別常量的,并運用對比法,理解各種常量之間的區(qū)別,如字符‘A’與字符串“A”的區(qū)別,字符‘1’與數(shù)字1的區(qū)別等等;講變量時,講清楚變量的數(shù)據(jù)類型、存儲格式和可進行的運算操作。講運算符
6、時,這種強調(diào)運算符的優(yōu)先級和結合性,并用數(shù)學中的優(yōu)先級和結合性的實例進行類比。 </p><p> 三、理解C語言語句 </p><p> 語句是程序設計語言的重要組成部分,如果不把語句理解清楚,學生沒辦法編程。C語言語句包括:控制語句、函數(shù)調(diào)用語句、表達式語句、空語句和復合語句。學生極易在空語句和復合語句這兩個知識點上犯錯誤。講課時,不僅要講清楚空語句和復合語句的概念,而且要結合控制
7、語句一起,演示空語句和復合語句對程序結構的影響?,F(xiàn)在用2個實例來分別說明空語句和復合語句對程序結構的影響。 </p><p> 例 1假設變量均已定義,執(zhí)行下列語句的結果是() </p><p> for(i=1;i<=5;i++); </p><p> printf(“*”); </p><p> A *****B *C 有語
8、法錯誤 </p><p> 本題好多學生一看馬上選A,正確的答案是B,因為for語句括號后有1個分號,所以循環(huán)體是空語句,當for循環(huán)執(zhí)行結束后,順序執(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> 本例大部分學生都認為是正確的,認為else與if(x>=0)的那個if匹配,實際上else應與if(x>0)的那個if匹配,因為else總是與上面最近沒有匹配的if向匹配。要使else與if(x>=0)的那個if匹配,可以再用一對花括號把if(x>0) y=1;這條語句括起來,由于
12、復合語句里面的結構不能與花括號外面有聯(lián)系,所以按以上方法加花括號后,就改變了程序的流程,使else與if(x>=0)的那個if匹配。修改結果如下: </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)容之后,要及時給學生做總結,讓學生深刻理解控制語句結構中語句可以是哪些語句。如 if(表達式) 語句,這里的“語句”可以是以下3種: </p>&
15、lt;p> 1.一條簡單的語句; </p><p> 2.由1對花括號括起來的1條復合語句; </p><p> 3.只有1個“;”構成的空語句; </p><p> 四、提高學生算法分析的能力 </p><p> 在教書過程中,好多學生總說老師講的內(nèi)容都懂,照著老師編程都會,就是當自己編程時遍不出來。這部分學生其實是算法分析
16、能力較差,并不是C語句基礎知識不好。在講課時,首先讓學生先把C語言拋在一邊,理解題意,分析算法,并用流程圖把算法描述出來,然后根據(jù)流程圖編寫程序。例如:從鍵盤上輸入一個年份,判斷改年是平年還是閏年。 </p><p> 1.讓學生理解閏年的判斷方法:(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步后,學生比較容易理解、接受。訓練一段時間后,算法分析能力逐步提高,編程就不在困難了。 </p
22、><p> 五、提高調(diào)試程序的能力。 </p><p> 學生編程出錯在所難免,關鍵是如何讓學生快速地找到錯誤并快速更改過來,確實是一件不容易的事。程序錯誤可以分為語法錯誤和語義錯誤。對于語法錯誤,編譯器可以查出來,并可以定位錯誤,一般錯誤就是在指定的那行,如果那行沒有錯誤,就向上找,如果再找不出來,就看程序的整體結構。對于語義錯誤,讓學生自己把程序“執(zhí)行”一遍,分析錯誤的結果是怎么執(zhí)行出
23、來的,然后通過對比,就可以發(fā)現(xiàn)語義錯誤。 </p><p><b> [參考文獻] </b></p><p> ?。?]譚浩強.C程序設計第三版[M].北京:清華大學出版社,2005,. </p><p> [2]化志章,揭安全,鐘林輝.Java程序設計―從方法學角度描述[M].北京:機械工業(yè)出版社,2012. </p>&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論