網站首頁 文學常識 簡歷 公文文書 文學名著 實用文 人生哲理 作文 熱點話題作文
當前位置:文萃咖 > 實用範文 > 論文

C語言程序設計教學分析與探索論文

欄目: 論文 / 發佈於: / 人氣:1.69W

[摘要]C語言是高校計算機類專業開設的一門非常重要的專業課程,學校往往在教學上投入很多,卻收效甚微。學生普遍反映難學、難懂,理論與實踐脱節,所以很難培養出滿足社會需求的計算機專業人才。本文從學校教學和學生學習兩個方面出發,分析C語言教學過程中現存的問題,通過多年的教學經驗,對教學方式和方法進行總結,試圖探索出一種符合現代人才培養需求的教學模式。

C語言程序設計教學分析與探索論文

[關鍵詞]C語言 程序設計 實踐教學

一、前言

上個世紀70年代以來,C語言在以其目標代碼質量高,使用靈活,數據類型豐富,可移植性好等特點而得到廣泛的普及和迅速發展,成為一種在系統軟件開發、科學計算、自動控制等各個領域廣泛應用的程式語言。在眾多高級程式語言競顯風流的當今社會,C語言以其強大的功能仍在高級程序設計領域佔據着重要的地位。

C語言作為計算機類專業的一門專業課,是學生學習程序設計的開端,學生分析問題、解決問題的能力和程序設計過程理念的形成都與C語言有着密切的聯繫。C語言有着其它高級程式語言不可比擬的優點,同時也有其較難學習的一面。由於現行教學過程中存在着一些弊端和學生自身因素的原因,所以在學習中普遍反映“難學”、“不懂“,這也是學生普遍遇到的問題。

二、現行教學和學習中存在的問題

1.現行教學中理論課與實踐課完全分離,不能相互促進。理論課中往往只注重對教材知識的分析和灌輸,在廣度上對知識沒有拓展和延伸,必定會影響對知識深度的剖析,也會造成學生理解的困難。而實踐課程通常被放到了次要的地位,很多時候是在走形式:一方面,學生對知識一知半解、往往用上網來對付實踐課;另一方面,老師很難監控到每個學生,瞭解他們是否都在認真編寫、調試程序。這就造成理論課沒有起到為實踐課打基礎的作用,實踐課也沒有起到鞏固、應用理論課的作用。

2.學生對計算機基礎的學習不深入,嚴重影響了C語言的學習。因為C語言程序設計課程的延續性和拓展性非常的強,包含了算法、數據結構、計算機基礎等相關專業課程和基礎課程的課程的知識。在C語言教學中涉及到進制轉換、取值範圍和順序存儲等基礎知識時,發現很多學生還沒掌握這些基礎知識,甚至根本不理解。在這樣薄弱的基礎上,C語言教學很難順利進行。

3.學生在學習中處於被動的接受知識的地位,沒有機會主動參與到學習中來,導致學習興趣不濃、學習停留在表面、對知識學的一知半解。由於接受的多是課本知識,所以動手能力差、應用能力差,導致不能把自己所學的知識應用到實踐中去。這樣培養出來的學生不能滿足社會的需要,也沒有達到教學的目的。

 三、探索新的教學方法

在多年的教學過程中,嘗試多種教學方式,不斷總結教學經驗,探索新的教學方法。

1.上好第一堂課,引起學生的學習興趣。第一堂課是最基礎的理論知識課,如介紹C語言的發展、特點、優點等內容,往往不被教師所重視,認為應該把精力放到程序設計部分。其實恰恰相反,上好第一堂課至關重要,它關係着學生是否會對學習產生興趣,渴望進行後繼內容的學習問題,所以絕對不能照本喧科。而對C語言的發展追本溯源,將C語言領域的開發投入、研發過程、遇到的問題進行詳細的分析,對C語言在現實中的應用以及C++、VC++進行介紹,往往能夠引起學生學習C語言程序設計的`興趣、推動後續知識的學習。

2.詳細講解基礎知識,深度剖析與後繼課程相關的內容,激發學生學習動力。C語言程序設計教學中涉及的數據類型、取值範圍、運算符、優先級、表達式等內容雖是基礎知識,但對學生來説卻是邁入程序設計大門的第一步。沒有堅實的基礎知識,便無從談及程序設計,所以對基礎知識的講解一定要詳細。比如遇到整型數據的取值範圍問題時,可以適當拓展一些原碼和反碼的知識,讓學生知其然,更知其所以然;鏈表知識是C語言的難點,這部分內容和數據結構聯繫密切,所以要深度剖析,尤其是對帶表頭結點的單、雙鏈表更要講解的清晰、透徹,為數據結構、JAVA語言等後繼課程打下堅實基礎。這樣繼往開來,不僅可以鞏固以前的計算機基礎知識,更能激發學生的學習動力。 3.重點分析程序設計過程,培養學生良好的編程習慣,逐步提高學生編程能力。很多學生認為,進行程序設計就是用計算機語言編寫源代碼,這其實是學習程序設計的一個誤區,編寫源代碼僅僅是完成了程序的編碼,而程序設計從問題分析就開始了,它包括分析問題、選擇算法、繪製流程圖、編寫源代碼、調試並測試程序,直到取得正確結果這樣一個完整的過程。其中繪製流程圖能使程序員在編程時思路清晰,減少編程錯誤。利用流程圖來分析、查找、解決程序設計中的問題能夠一目瞭然。例如:下面這一簡單的while循環結構,用流程圖便可以輕易發現錯誤所在。圖1是錯誤代碼的流程圖,它使程序陷入了無窮迴圈,圖2是正確的流程圖。所以繪製正確的流程圖,是減少代碼錯誤的有效手段。

Main(0

{int i,sum;

i=sum=0;

While(i<=100)

Sum+=i;

i++;

Printf(“1+2+3+…+100=%d’,sum);

}

在C語言程序設計教學過程中,即使對簡單的程序設計的講解也嚴格的按照程序設計的過程一步步的進行分析和引導,培養學生良好的編程習慣。

4.通過實踐教學,讓學生親自體會程序設計全過程,鞏固所學知識。學生通常在C語言的學習上投入了很多的精力與時間,但卻離實際要求相差很遠。因為缺乏了實踐經驗和能力,不能滿足社會的需求,這也是計算機類學生的通病。為此,在教學中一定要注重理論與實踐相結合。案例實驗可以説是學習C程序設計最有效的方法之一,在教學過程中我們故意將賦值符號“=”和等號“= =”互換、漏寫分號“;”和大括號“{}“,設置一些待解決的錯誤,引導學生在編程和調試過程中逐一解決這些問題,不僅能夠鞏固理論知識、養成編程的好習慣,更能調動學生思考問題和解決問題的積極性。同時在解決問題的過程中使學生有一種成就感,這對學習能力的提高和積極性的培養有很好的作用。

5.多種教學手段相結合,提高教學效果。理論教學與實踐教學相結合,適當減少理論課、增加實踐課,將理論教學融入實踐教學中來,逐漸模糊兩者之間的界限;傳統教學與豐富多彩的多媒體教學相結合、教師講解與學生課堂討論相結合,以便調動學習的主動性和積極性。

6.注重對知識的歸納和總結,讓學生温故而知新。在教學過程中,按章節、按階段對相關重點知識進行歸納總結,讓學生把模塊化的知識連接起來,系統、全面的掌握所學內容。

四、結束語

目前C語言程序設計教學中仍然有很多需要改進的地方,如何提高實踐教學質量,使理論與實踐相結合,仍需要在教學過程中不斷的探索和改革。

參考文獻:

[1]楊路明等.C/C++程序設計教程.長沙:湖南科學技術出版社, 2003.

[2]譚浩強. C語言程序設計教程.北京:高等教育出版社,1997.

[3]王士元. C高級實用程序設計.北京:清華大學出版社,1996.

[4]徐孝凱.數據結構實用教程(C/C++描述).北京:清華大學出版社,1999.