甄 華(河南工業(yè)貿易職業(yè)學院,鄭州 450000)
C語言課程在高職院校教學中存在的問題與改革措施
甄 華
(河南工業(yè)貿易職業(yè)學院,鄭州 450000)
摘 要:學生開始學習C語言,思維習慣還不適應對C語言的學習。加上學習C語言時還沒有接觸物理層面的器件不知道C語言用在哪里,不能堅持學習。本研究就是通過明確學習目的、分散難點、降低學習C語言的難度,以真實的測溫工程引導學生學習興趣,使堅持順利完成對C語言的學習。
關鍵字:C語言;高職教學;測溫工程;改革措施
由于C語言簡潔緊湊、具有結構化的控制語句、生成的目標代碼質量高、具有良好的移植性和靈活性,都選擇C語言作為首個計算機教學語言。C語言除了具有以上高級語言的優(yōu)點外還允許直接訪問物理地址,更適應于底層應用軟件的開發(fā),是嵌入式電子產品開發(fā)、芯片設計等基礎; Linux的內核也主要是以C語言寫的?;谝陨咸攸c,即使面向對象程序設計流行的今天,許多公司依然把C語言作為程序設計的首選語言,開發(fā)解決本領域的應用程序。
然而,C語言教學現狀不能令人滿意,C語言是學生進入大學學習的第一門計算機語言,加上C語言本身的抽象性、用語句表達邏輯關系比較復雜,加之以往在C語言教學中不能與解決實際問題緊密結合,造成學生學習C語言過程感到困難,目的又不明確,不能從學習C語言中獲得成就感,降低了學習興趣,學習到最后能夠堅持下來的學生比例很低。往往導致學習C語言開始階段躊躇滿志,中間階段困惑遍地都是,最后階段不了了之的現象。嚴重影響了C語言的教學質量和教學效果。
本研究主要從C語言的特點和學生以往學習中出現的問題出發(fā),通過強化知識點、分散難點、以實際測溫工程問題作為C語言學習承載媒介,通過激發(fā)學生學習興趣,嚴格要求學生、充分信任學生,鼓勵學生堅持學習,發(fā)揮師愛在教學過程中的作用,促使學生完成C語言的教學,最終達到學生在學習過程中目的清晰、學有興趣、學以致用的目的,幫助學生熟悉C語言在工程中的使用。提高學生的綜合職業(yè)能力和素質,為順利就業(yè)打下一個良好的基礎。
3.1 歸納出C語言的知識點
為了把C語言的知識梳理清晰便于學生記憶,我們把C語言的知識分為靜態(tài)的知識和動態(tài)的知識。
3.1.1 靜態(tài)的知識[1]
(1)一些概念如:運算符、標識符、關鍵字、數據類型、表達式、語句、數組、函數、指針等,像運算符、標識符、數據類型等概念容易理解,但是另一類概念(還包含用法)如二位數組及引用、指針、結構體與共用體等概念都是新接觸的概念并且抽象,它們的使用還涉及到計算機內部的工作過程,難度比較大,需要反復通過實例讓學生理解定義,在理解的基礎上在嘗試著應用。在這部分教學中需要重點加強練習。
(2)C語言的格式:可以概括為“函數頭 + 一個主函數”的結構,這是任何一個C語言程序必須的格式,就像給具體的C語言穿的一件制服,看到這個制服就知道是一個C語言程序;反過來,每一個C語言程序都必須穿這套制服。具體C語言程序中是什么內容,就要看{}中的內容了。
3.1.2 動態(tài)知識包括算法、函數、語句的使用、編譯工具軟件
(1)算法是一個很復雜很寬泛且有很大難度的問題,但就解決常見的工程問題和生活問題的算法還不是很難。明確算法只是解決問題的方法和步驟,不能對算法這個概念產生神秘感。對常見的算法會用C語言實現就可以,例如:一般的數值計算、邏輯運算、查找、排序、查表等。
(2)函數[2]:明確函數的調用、參數的傳遞,函數是C語言中的一個重要概念和組成部分,是C語言程序的基本組成單位,計算機的很多功能都是通過函數來實現的。要會使用乘方開方、正弦余弦、正切余切、指數運算、微分積分等有關的數值運算函數,能完成一般的數值計算,通過查閱資料會使用常用數學函數和必要的其它常用庫函數就可以了,在教學中要進行分項針對練習。
(3)C語言的編程語句表達式和語句的關系:把C語言語句分為四類以強化學生的記憶:順序語句、選擇語句、循環(huán)語句、轉移控制語句。C語言編程語句的教學是C語言教學中最核心難度最大也最有挑戰(zhàn)性的部分,只有學好這部分內容,才有可能會使用C語言進行編程。對這部分內容的教學重點要區(qū)別對待。對順序結構的語句來說,難度比較小,結合工程中的的算法就可以順利過關。選擇語句的難度有兩個,一是幾種選擇語句的書寫格式和用法。二是選擇語句的嵌套,邏輯關系一層套一層,邏輯嵌套的邏輯習慣養(yǎng)成不容易,必須由簡單到復雜循序漸進進行,讓學生養(yǎng)成用C語言邏輯嵌套的方式尋找解決問題的習慣。對簡單的循環(huán)語句結構要加大強化力度,開始通過一定量的循環(huán)小實例練習加強學生對循環(huán)語句的理解,達到熟練運用的程度,然后再結合工程中的循環(huán)語句讓學生知道循環(huán)語句在工程中的實際運用。循環(huán)的嵌套難度最大,對循環(huán)嵌套的教學必須通過實例反復訓練,達到熟練的程度,并且讓學生自己尋找生活中循環(huán)嵌套的例子,以適應循環(huán)嵌套的邏輯。最后還要仔細體會測溫工程中的循環(huán)嵌套的使用。對轉移控制語句的教學應該強調這三種控制語句的應用條件和注意事項,防止使用不當是程序進入死循環(huán)。必要時要通過一個錯誤的使用讓學生感受到錯誤使用產生的結果。
(4)C語言的編譯平臺,編譯平臺有幾種可以使用,通常使用的是Visual C++6.0有在教學中發(fā)現, C語言學習還沒有開始,就被編譯平臺難住了,選擇《啊哈磊》[3]編寫的C語言學習平臺,等適應后在啟用Visual C++6.0編譯軟件。
3.2 建立一個真實的測溫工程:
3.2.1 設計工程的硬件
本工程是利用C語言開發(fā)單片機以熱敏電阻為傳感器測定空氣的溫度。熱敏電阻與555組成振蕩器,,溫度變化,熱敏電阻阻值變化,電路振蕩頻率變化,通過單片機測定電路振蕩頻率,與標準比較就可以計算出溫度值。設計一個硬件電路并且用軟件設計一個PCB板,焊接好電路元件備用。
3.2.2 對測溫硬件電路編寫部分測溫軟件代碼如下:
#include <stdio.h>
#include <math.h>
fl oat fi nd(fl oat resv)
{ idata fl oat temper; idata int top,bottom,mid;
if(resv>=39028) temper=-30;
else if(resv<=831) temper=60;
else }
{ fl ag=1; //*假設輸入的數在表列中
top=90; bottom=0; mid=(top+bottom)/2;
while(fl ag)
……
return(temper);
}
3.3 教學的推進
3.3.1 在教學開始階段
(1)把測溫工程的硬件系統(tǒng)功能展示給學生,演示溫度測定過程,告訴學生本系統(tǒng)就是使用C語言編寫的應用程序,讓學生知道把C語言學好后就可以自己編寫控制程序。
(2)對C語言知識點的歸納,告訴學生C語言所包含的知識點和學習方法。
(3)明確C語言學習的困難。
(4)建立學習小組。
3.3.2 教學階段
根據C語言的知識點和能力點進行教學,教學新的知識點時需要反復讓學生練習直到熟練為止。教學中有難點時,要把難點分解成幾個步驟進行教學,例如,在講解循環(huán)語句時,就把循環(huán)語句每循環(huán)一次的運行結果以書面的形式寫出來,這樣寫出3-5個步驟,學生就理解了循環(huán)語句的作用。又例如講解循環(huán)嵌套的時候,開始把嵌套的語句以最簡單的形式表現出來,然后逐漸讓嵌套的語句變復雜,通過這樣對難點進行拆分,學習難度降低,當掌握了一定的知識后,學習的自信心就會增加,有助于學生堅持完成后面的學習。
開始就把測溫程序發(fā)給學生,讓學生隨時找出所學知識點在程序中的應用,并貫穿講解硬件知識。經過實際的教學實驗, C語言內容講授結束時,學生對該工程硬件也有了一定的了解,激發(fā)了學生對單片機知識的興趣,部分學生自己購買單片機書籍主動自學,調動了學生的學習熱情。
通過對C語言知識點強化、難點分散、降低學習難度,用工程實際問題作為C語言知識點的學習媒介,引導學生的主動學習,對學生完成C語言的教學產生了巨大的促進作用。教學過程中學生學習目的清晰、學有興趣,提高了學生學習C語言的效果,能堅持學完C語言的學生人數明顯增加。但是也有一些局限性,就是學生的電子學知識、單片機知識還很欠缺,還不能完達到希望的效果。如果把C語言開設在學習單片機之后效果會更好,學生的學習難度會更小。
參考文獻:
[1]馮茂巖,孫炯寧.C語言程序設計[M].高等教育出版社2009(07).
[2]楊峰.妙趣橫生的算法[M].清華大學出版社出版,2012(12).
[3]啊哈磊,啊哈C!.-思考快你一步[M].電子工業(yè)出版社,2013(09).
基金項目:河南省教育廳人文社會科學研究項目資助(題名:C語言課程在高職院校教學中存在的問題與改革措施;批準號:2014—ZC—068)
作者簡介:甄華(1982-),女,吉林四平人,南京理工大學碩士,河南工業(yè)貿易職業(yè)學院講師,主要研究方向:計算機網絡、仿真。