一、前言
C語(yǔ)言是一門(mén)通用性計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,它兼有匯編語(yǔ)言和高級(jí)語(yǔ)言的雙重優(yōu)點(diǎn);運(yùn)用它既能編寫(xiě)操作系統(tǒng)軟件,又能開(kāi)發(fā)各個(gè)領(lǐng)域的應(yīng)用軟件。C語(yǔ)言功能豐富,表達(dá)能力強(qiáng),使用靈活方便,應(yīng)用面廣,目標(biāo)程序效率高,可移植性好,特別適合寫(xiě)系統(tǒng)軟件。學(xué)好C語(yǔ)言,為學(xué)習(xí)C++、VC++等語(yǔ)言能打下堅(jiān)實(shí)的基礎(chǔ)。C語(yǔ)言是編程的首選語(yǔ)言,因此,如何在C語(yǔ)言教學(xué)中啟發(fā)、訓(xùn)練學(xué)生的編程思維,是每個(gè)教師應(yīng)考慮的問(wèn)題。
由于C語(yǔ)言牽涉到的概念比較復(fù)雜,規(guī)則繁多,使用靈活,容易出錯(cuò),所以很多初學(xué)者接受感到困難,普遍反映理論課太難、太枯燥。許多學(xué)過(guò)C語(yǔ)言的同學(xué)都感覺(jué)讀程序還湊合,編程則“難于上青天”。那么,如何解決以上問(wèn)題呢?以下是本人在C語(yǔ)言教學(xué)中的一些看法,愿與同行淺談。
二、上好第一節(jié)課
上好第一節(jié)《C程序程序設(shè)計(jì)》課是至關(guān)重要的。對(duì)于初學(xué)者,C語(yǔ)言是神秘的。俗話說(shuō):“興趣是最好的老師。”第一節(jié)課的任務(wù)主要是讓學(xué)生愛(ài)上C語(yǔ)言,因此教師先不要急著講正課。
1.課件展示程序結(jié)果,激發(fā)興趣
第一節(jié)課,要通過(guò)幻燈片向?qū)W生展示各種結(jié)果畫(huà)面,這一看不大緊,很多學(xué)生已經(jīng)有些“蠢蠢欲動(dòng)”了,恨不得馬上學(xué)好C語(yǔ)言,興趣已經(jīng)產(chǎn)生,第一節(jié)課的目的已經(jīng)達(dá)到。
2.傳授C語(yǔ)言“實(shí)踐”的學(xué)習(xí)方法
C語(yǔ)言是一門(mén)實(shí)踐性課程,要理論結(jié)合實(shí)踐,加強(qiáng)學(xué)生的動(dòng)手能力、解決問(wèn)題的能力。結(jié)合職專(zhuān)學(xué)生的特點(diǎn),在學(xué)習(xí)方法上教師必須給予指導(dǎo),告訴學(xué)生如何自學(xué),如何聽(tīng)課,如何動(dòng)手實(shí)踐,明確“C語(yǔ)言不是看會(huì)的,也不是聽(tīng)會(huì)的,而是親自動(dòng)手練會(huì)的”,培養(yǎng)學(xué)生養(yǎng)成上機(jī)前分析題目,決定算法與數(shù)據(jù)結(jié)構(gòu),并編出程序源代碼的好習(xí)慣。這樣,學(xué)生上機(jī)時(shí)就能有的放矢。要知道,好老師教給學(xué)生的是方法,而不是純粹的知識(shí)。
(1)強(qiáng)調(diào)C語(yǔ)言的重要性。學(xué)好C語(yǔ)言是學(xué)好后繼課程的基礎(chǔ),比如數(shù)據(jù)結(jié)構(gòu)、C++、JAVA等,雖然程序設(shè)計(jì)語(yǔ)言更新很快,但如果真正掌握精了程序設(shè)計(jì)思想,具備了真正解決實(shí)際問(wèn)題的能力,語(yǔ)言無(wú)論如何更新,但程序設(shè)計(jì)的本質(zhì)不會(huì)變。
(2)認(rèn)識(shí)C語(yǔ)言的編譯環(huán)境。在Visual studio環(huán)境下,舉出幾個(gè)簡(jiǎn)單的小程序演示給學(xué)生看,并逐一講解,引導(dǎo)學(xué)生自己去發(fā)現(xiàn)程序中存在的缺陷以及改進(jìn)的方式。同時(shí),要熟悉C語(yǔ)言源程序到可執(zhí)行文件的整個(gè)操作流程。
(3)把錯(cuò)誤作為寶貴資源。在學(xué)生上機(jī)練習(xí)過(guò)程中,難免會(huì)出現(xiàn)方方面面的問(wèn)題,我把每個(gè)學(xué)生的錯(cuò)誤收集起來(lái),逐一分析講解,為什么不能這樣,為什么要那樣才可以,學(xué)生印象會(huì)更深刻。這樣,模仿著編程序的學(xué)生比比皆是,而且興致也空前高漲。
三、C語(yǔ)言教學(xué)方法
1. 抽象思維到形象思維的轉(zhuǎn)化
讓學(xué)習(xí)過(guò)程變得輕松是激發(fā)學(xué)生興趣的關(guān)鍵所在,C語(yǔ)言本身是一門(mén)極其抽象難懂的學(xué)科,把抽象的問(wèn)題形象化,能使本來(lái)枯燥的C語(yǔ)言變得魅力無(wú)限。因此,教師要根據(jù)教學(xué)內(nèi)容或教學(xué)案例制作課件,使教學(xué)更具有直觀性,將復(fù)雜敘述用生動(dòng)的圖像和動(dòng)畫(huà)表現(xiàn)出來(lái),讓學(xué)生從知識(shí)的被動(dòng)接受者轉(zhuǎn)為主動(dòng)參與者和積極探索者,充分發(fā)揮學(xué)生的主體作用。這樣,既符合學(xué)生的認(rèn)知規(guī)律,又可以收到良好的效果。
2. 問(wèn)題啟發(fā)式授課,激發(fā)自主學(xué)習(xí)
針對(duì)C語(yǔ)言概念多、語(yǔ)法繁的現(xiàn)狀,采用問(wèn)題啟發(fā)式教學(xué)可以將難理解、難記憶的概念和規(guī)則變成一系列時(shí)而醒目、時(shí)而深?yuàn)W的問(wèn)題呈現(xiàn)在課堂教學(xué)中,這樣就能把學(xué)生的注意力集中起來(lái),學(xué)習(xí)積極性調(diào)動(dòng)起來(lái),達(dá)到師生互動(dòng)的效果。這種啟發(fā)式、討論式、交流式的教法,不僅改變了原來(lái)的灌輸式,而且增強(qiáng)了學(xué)生自主學(xué)習(xí)的能力。
3. “引申法”“框架法”和“求異法”相結(jié)合
所謂“引申法”是指結(jié)合已經(jīng)解決的問(wèn)題,因勢(shì)利導(dǎo),引導(dǎo)學(xué)生在此基礎(chǔ)上解決相關(guān)聯(lián)的問(wèn)題。它可以培養(yǎng)學(xué)生在程序設(shè)計(jì)方面的發(fā)散思維,提高程序設(shè)計(jì)中的應(yīng)變能力。問(wèn)題是活的,但程序是有章可循的。“引申法”的最終目的是使學(xué)生明白:語(yǔ)法是有限的,可解決的問(wèn)題是無(wú)限的。只有在分析實(shí)際問(wèn)題的基礎(chǔ)上,以清晰的思路去設(shè)計(jì)算法,才能舉一反三,以不變應(yīng)萬(wàn)變。
“框架法”可以培養(yǎng)學(xué)生的全局思維和算法的整體設(shè)計(jì)能力。教師不要拘泥于細(xì)節(jié),面面俱到、不分主次