楊沛
摘 要: 自20世紀(jì)90年代以來,C語言迅速在全世界普及推廣,C語言程序設(shè)計(jì)在計(jì)算機(jī)教育和計(jì)算機(jī)應(yīng)用中發(fā)揮重要的作用。本文從學(xué)生在學(xué)習(xí)C程序設(shè)計(jì)過程中遇到的困惑出發(fā),立足在課堂教學(xué)中如何引導(dǎo)學(xué)生樹立良好的學(xué)習(xí)信心、更好地激發(fā)學(xué)生的學(xué)習(xí)熱情,展開關(guān)于C語言學(xué)習(xí)方法及興趣培養(yǎng)等幾方面的討論,希望對(duì)學(xué)生有所幫助。
關(guān)鍵詞: 中職院校 C程序設(shè)計(jì) 興趣培養(yǎng)
C語言是國(guó)際上廣泛流行的一門高級(jí)程序設(shè)計(jì)語言,具有語言簡(jiǎn)潔、使用方便靈活、移植性好、能直接對(duì)系統(tǒng)硬件和外圍接口進(jìn)行控制等特點(diǎn),所以C語言程序設(shè)計(jì)始終是高等學(xué)校的一門基本的計(jì)算機(jī)課程。目前很多中職院校的計(jì)算機(jī)專業(yè)都開設(shè)了C語言課程,而且一些高考對(duì)口升學(xué)高校增加了C程序設(shè)計(jì)考試科目,主要考查考生是否掌握C語言結(jié)構(gòu)化程序設(shè)計(jì)的方法,是否具備良好的程序設(shè)計(jì)風(fēng)格等相關(guān)知識(shí)、能力和素養(yǎng)。但中職學(xué)校學(xué)生文化素質(zhì)、專業(yè)能力普遍較差,缺乏學(xué)習(xí)信心,學(xué)習(xí)目標(biāo)不明確,缺乏學(xué)習(xí)主動(dòng)性和積極性。因此在學(xué)習(xí)C程序設(shè)計(jì)的過程中就會(huì)感覺到C語言概念復(fù)雜、規(guī)則繁多、較難理解、容易出錯(cuò)等問題,從而不能引起學(xué)生的學(xué)習(xí)興趣,容易產(chǎn)生畏懼、排斥心理,下面從以下幾個(gè)方面探討如何提高中職生學(xué)習(xí)C程序設(shè)計(jì)的興趣。
一、充分認(rèn)識(shí)C語言
簡(jiǎn)單了解C語言的發(fā)展歷史,理解科學(xué)家們開發(fā)C語言是由興趣而發(fā),這對(duì)學(xué)生來說具有引領(lǐng)作用。而要進(jìn)行程序設(shè)計(jì),必須使用一種計(jì)算機(jī)語言作為工具,否則只是紙上談兵,可供選擇的語言很多,各有特點(diǎn)和應(yīng)用領(lǐng)域。C語言是一門通用的計(jì)算機(jī)編程語言,它功能豐富、表達(dá)力強(qiáng)、語法規(guī)則相對(duì)簡(jiǎn)單,閱讀和編程較其他高級(jí)語言來說更容易一些,而且它使用靈活方便、應(yīng)用面廣、目標(biāo)程序效率高、可移植性好,既具有高級(jí)語言的優(yōu)點(diǎn),又具有低級(jí)語言的許多特點(diǎn)。C語言作為傳統(tǒng)的面向過程的程序設(shè)計(jì)語言更適合解決某些小型程序的編程,而且如果有了C語言的基礎(chǔ),在需要時(shí)進(jìn)一步學(xué)習(xí)C++,也是很容易過渡的。
二、利用現(xiàn)代化的教學(xué)設(shè)備
傳統(tǒng)的C語言教學(xué)是在普通教室里,教師除了講授語法知識(shí)外就是例題講解,學(xué)生不是在聽講就是在做練習(xí),這些理論知識(shí)的學(xué)習(xí)固然重要,但授課過程幾乎是老師全程灌輸知識(shí),整個(gè)課堂顯得枯燥乏味,學(xué)生很容易排斥這門課。教學(xué)條件稍好的話可以利用投影授課,但是在學(xué)生的眼中一行行的代碼猶如“天書”,久而久之,缺乏意志力的學(xué)生就跟不上教師的節(jié)奏,往往“昏昏欲睡”。在機(jī)房實(shí)訓(xùn)時(shí)只知道把課本或筆記中的代碼機(jī)械地錄入電腦中,編譯、連接、運(yùn)行出結(jié)果就算是完成任務(wù),教學(xué)效果可想而知。如果將C語言課程全部放入一體化教學(xué)的實(shí)訓(xùn)機(jī)房中,并安裝適合學(xué)生掌握的編譯軟件(如VC++6.0或C/C++程序設(shè)計(jì)學(xué)習(xí)與實(shí)驗(yàn)系統(tǒng)),在老師講解理論知識(shí)并提出問題后,經(jīng)過學(xué)生的小組分析、討論并得出解決的方案,這樣學(xué)生就能馬上驗(yàn)證程序運(yùn)行的結(jié)果,再加以保證充分的實(shí)訓(xùn)時(shí)間和質(zhì)量,教學(xué)效果一定會(huì)有所增強(qiáng)。
三、進(jìn)行經(jīng)典有趣的案例教學(xué)
在中職學(xué)校C語言的教學(xué)中,應(yīng)當(dāng)根據(jù)學(xué)生的特點(diǎn),制訂合理的教學(xué)計(jì)劃,設(shè)計(jì)形式新穎的教學(xué)內(nèi)容和環(huán)環(huán)相扣的教學(xué)環(huán)節(jié),適當(dāng)?shù)亟档徒虒W(xué)難度,充分激發(fā)學(xué)生的學(xué)習(xí)興趣和熱情。由譚浩強(qiáng)編著的《C程序設(shè)計(jì)(第四版)》提供了大量的例題和習(xí)題,大部分是和數(shù)學(xué)知識(shí)有關(guān)的,例如一元二次方程根的求解、判斷一個(gè)數(shù)是否為素?cái)?shù)、求兩個(gè)正整數(shù)的最大公約數(shù)和最小公倍數(shù)、判斷某一年份是否為閏年、求一個(gè)正整數(shù)的階乘、九九乘法表、四舍五入等。還有一些數(shù)學(xué)中的經(jīng)典問題,例如排序問題、水仙花數(shù)、兔子繁殖問題(斐波那契數(shù)列)、猴子吃桃、楊輝三角形、漢諾塔等。除此之外,還有一些和生活息息相關(guān)的案例,例如定期活期存款利息的計(jì)算、房貸的計(jì)算、企業(yè)發(fā)放獎(jiǎng)金的計(jì)算等。使用這些經(jīng)典案例教學(xué),可以更好地激發(fā)學(xué)生學(xué)習(xí)的樂趣。教師在教學(xué)過程中一定要提醒學(xué)生利用數(shù)學(xué)知識(shí)解決問題和利用計(jì)算機(jī)編程解決數(shù)學(xué)問題的區(qū)別,把重點(diǎn)放在這類數(shù)學(xué)問題算法的講解上,而不是詳細(xì)地解釋每條語句的語法和作用。有效地將理論和實(shí)踐結(jié)合起來,真正地將知識(shí)傳遞給學(xué)生,讓學(xué)生學(xué)有所得,從而更好地激發(fā)學(xué)生的學(xué)習(xí)熱情。
四、處理好算法和語言的關(guān)系
進(jìn)行程序設(shè)計(jì),要解決兩個(gè)問題:(1)要學(xué)習(xí)和掌握解決問題的思路和方法,即算法;(2)學(xué)習(xí)怎樣實(shí)現(xiàn)算法,即用計(jì)算機(jī)語言編寫程序,達(dá)到用計(jì)算機(jī)解決問題的目的,二者都是必要的,缺一不可。算法是靈魂,不掌握算法就是無米之炊;語言是工具,不掌握語言,編程就成了空中樓閣。教學(xué)的過程就是學(xué)生在學(xué)習(xí)編程的過程中理解并掌握有關(guān)的典型算法,教師要引導(dǎo)學(xué)生思考怎樣構(gòu)造一個(gè)算法。編寫程序的過程是設(shè)計(jì)算法的過程,掌握基本的語法規(guī)則是編程的基礎(chǔ),必須遵守語法規(guī)則,否則編出來的程序錯(cuò)誤百出,無法運(yùn)行。教師應(yīng)從學(xué)生的認(rèn)知規(guī)律出發(fā),課程設(shè)置由淺入深,由易到難,一開始讓學(xué)生看懂簡(jiǎn)單的程序,然后逐步深入,隨著難度的加大,算法和語法的學(xué)習(xí)同步提升。學(xué)生在富有創(chuàng)意、引人入勝的編程中,學(xué)會(huì)了算法,掌握了語法,把枯燥的語法規(guī)則變成了生動(dòng)活潑的編程應(yīng)用。
五、提高程序閱讀能力、掌握編程技巧
提高程序閱讀能力對(duì)學(xué)好C語言非常有用,一方面可以鞏固所學(xué)概念、語法等理論知識(shí)點(diǎn),另一方面可以理解編者的算法設(shè)計(jì)及流程。平時(shí)要注意閱讀程序的積累,這就是所謂的見多識(shí)廣,如果精力允許的話還可以對(duì)別人的程序進(jìn)行模仿或改進(jìn),這樣不僅可以吸取別人的經(jīng)驗(yàn),還可以完善自己的知識(shí)結(jié)構(gòu)。在研讀程序時(shí),必須認(rèn)真細(xì)致,做到每一條語句都準(zhǔn)確理解它的含義與作用,在完全理解程序之后,還要寫出程序運(yùn)行的結(jié)果,上機(jī)運(yùn)行驗(yàn)證結(jié)果是必不可少的步驟。通過閱讀理解程序,學(xué)生還要親自動(dòng)手寫寫與例題相似的程序段,如果一開始沒有思路,不要著急,返回來再繼續(xù)研讀例程,看一下自己是否正確構(gòu)造了程序結(jié)構(gòu),再畫一畫流程圖,每一個(gè)步驟試圖用自己的話寫下來或者用偽代碼試試,然后再運(yùn)用正確的語法寫成相應(yīng)的語句,反反復(fù)復(fù),直到成功。
中職階段的C語言教學(xué)目標(biāo)是使學(xué)生掌握其基本規(guī)則,了解C語言的魅力,培養(yǎng)學(xué)習(xí)C語言的興趣,從而提升學(xué)生分析問題、構(gòu)造算法、編程及調(diào)試程序的能力,所以教師要重視程序設(shè)計(jì)的基本訓(xùn)練。
參考文獻(xiàn):
[1]譚浩強(qiáng).C程序設(shè)計(jì)(第四版).清華大學(xué)出版社,2010.