淺議C語言程序設計教學
課程整合
作者:戴佐倩 張霞 楊偉
摘要 C語言是一門計算機常用語言,兼具高級語言與低級語言的優點,非常適合係統軟件的編寫。在信息時代的今天,C語言應該是每一位大學生所必須掌握的。在4年的C語言教學中,經過不斷的理論探討和實踐摸索,總結了C語言的學習和教學的經驗和方法。
關鍵詞 C語言;
中圖分類號:G652 文獻標識碼:B
文章編號:1671-489X(2013)24-0073-03
1 概述
C語言是一門常用的計算機語言,它的功能豐富,表達能力強,使用靈活方便,應用麵廣,目標程序效率高,可移植性好,兼具高級語言與低級語言的優點,因而特別適用於編寫係統軟件[1]。對於計算機專業學生以及想要在計算機行業工作的學生來說,C語言是必須要掌握的語言之一。筆者在本科院校和大專高職院校教授C語言4年,結合學習以及教授C語言的實踐,談一些經驗和想法。
2 C語言教學中存在的問題
大學生的抽象思維幾乎全部形成,同時也有著豐富的數學、物理、英語、語文等其他學科知識,在講授新課的時候會相對輕鬆。但同時C語言對於大學生來說也是一門全新的課程,在講授過程中也存在很多的問題。
2.1 學生缺乏學習的興趣
筆者通過與學生的交流發現,很多學生在學習C語言課程時,目的僅僅是為了能夠拿到計算機二級等級證書,對於C語言的學習沒有濃厚的興趣。由於一開始學習動機並不是很強烈,大部分學生不能夠做到上課前預習、下課後複習,因此,教師在講課的時候要注意學生學習興趣的培養,並且注重課後作業的布置以及課前的鞏固複習。
2.2 C語言知識點多,概念容易混淆
C語言語法知識點較多,規則繁雜,相對抽象,相關概念與知識點容易混淆。如:1)位運算符‘&’‘|’與邏輯運算符‘&&’‘||’容易混淆;2)賦值運算符‘=’和‘==’不好區別;3)字符串和字符變量容易混淆;4)i++和++i等;5)字符串和字符的區別;6)getchar()、gets()、fgets()和putchar()、puts()、fputs()。如果一開始學習的時候,學生沒有弄清這些知識點,往往會在C語言後續學習過程中(如編程、運算時)出現問題。因此,教師在講到這些知識點的時候,要注意區分。
2.3 學生沒有利用好上機操作課
受傳統教學模式的影響,教師在授課的時候往往會把課堂完全變成講授型的課堂,采用“填鴨式”的教學模式,學生被動接受知識。同時,教師在講課時過分關注理論知識的傳授,而很少關注學生的實踐練習,即使是在僅有的幾節實踐課上,學生想幹什麼就幹什麼,沒有明確的實踐目的和實踐要求。因此,很多學生在做題目的時候還能得心應手,但是涉及相關實踐操作時,就會缺乏思路,無從下手。
3 C語言教學相關建議與思考
3.1 采用例子激發學生的興趣
在教學中,教師可以舉一些生活中的例子來幫助教學,通過一個個比較形象的例子,幫助學生理解一些難懂的知識點。如在對變量進行賦值時,學生很難理解變量定義後一定要先賦值才能使用。在教學過程中,筆者參照王曙霞老師的方法,向一個空的粉筆盒裏放一支粉筆,問學生:“盒子裏麵有幾隻粉筆?”學生都說有一支(0+1)。然後把粉筆盒放在身後增加幾支粉筆,再拿到學生麵前,往裏麵放了一支,問他們:“現在有幾支粉筆?”學生都說不知道,因為不知道一開始有幾支粉筆。同樣,如果變量一開始沒有給其賦初值,在對變量進行相關操作後,變量的值依然不能確定。采用這個簡單的例子,學生就理解了為什麼變量一定要賦初值。
再如在學習指針的時候,學生不明白什麼是間接存取,筆者認為可以舉如下例子:如果想要打開一扇門,我們可以直接把鑰匙帶在身上,然後直接用鑰匙打開門;也可以為了安全,不把鑰匙放在身上,而把它放在其他櫃子裏麵,當要打開那扇門的時候,我們不是直接去找鑰匙,而是去找櫃子,然後把櫃子打開取出鑰匙,再用鑰匙打開門,而C語言中的指針就是采用這種間接存取的方式。