摘要:指針是C語言的基本組成部分,如何讓學(xué)生更好地理解和掌握指針內(nèi)容,是教師面臨的重要研究課題。文章給出一種新的指針內(nèi)容編排體系,在該體系下,指針內(nèi)容不再像以往那樣獨立成章,而是貫穿于整個課程始終。這樣,可以讓學(xué)生有盡可能多的消化和理解時間,從而更好地掌握指針的基本內(nèi)容和使用方法。
關(guān)鍵詞:C語言;指針;內(nèi)容編排體系;教學(xué)方法
現(xiàn)今,幾乎所有的理科非計算機專業(yè)都開設(shè)了“C語言程序設(shè)計”課程,旨在培養(yǎng)學(xué)生的編程能力,提高計算機素養(yǎng),為以后的學(xué)習(xí)、工作及科研打下堅實的基礎(chǔ)。
C語言有著豐富的內(nèi)容,指針部分是C語言的基本組成部分,由于其在程序編寫及軟件開發(fā)中發(fā)揮著重要的作用,它成為C語言的重點內(nèi)容;同時,由于其理解和掌握上存在的難度,它也是C語言的難點內(nèi)容。
隨著教學(xué)改革的深入開展,許多學(xué)校都對該課程進行了調(diào)整,其中一項就是課時的調(diào)整,目前,存在著64+32、48+32、32+32等多種課時設(shè)置方案。在課時有限甚至是偏少的情況下,如何讓學(xué)生能更好地理解和掌握指針內(nèi)容,成為教師面臨的研究課題。
關(guān)于整個課程的教學(xué)改革與創(chuàng)新,很多文章進行了介紹。尤其是關(guān)于指針內(nèi)容的教學(xué)探討與改革,一直沒有停止,很多好的研究成果見諸報端,成為教師的有益參考和借鑒。這些探討主要集中在如何對內(nèi)容進行講授、如何幫助學(xué)生理解難點解答疑問、講授手段探索、例題精選等方面,這對教師和學(xué)生來說都是不無裨益的。盡管如此,教學(xué)實踐中,還是經(jīng)常會出現(xiàn)學(xué)生們對指針理解不夠透徹,從而影響指針的使用和應(yīng)用。
通觀現(xiàn)在的C語言教材,在內(nèi)容編排上,大多數(shù)是將指針內(nèi)容獨立成章,對指針集中講解,并且其在整個內(nèi)容編排體系中所處位置偏后。這樣編排的好處是指針內(nèi)容比較集中,講起來易進行綜合分析、比較,但問題也有,即學(xué)生理解和消化指針內(nèi)容的時間不夠,從而影響學(xué)習(xí)效果。
本文就是針對這一問題展開討論的,試圖在這方面能作些改革嘗試,改進教學(xué)效果。
1 指針內(nèi)容體系的新設(shè)置
近年來,針對指針內(nèi)容教學(xué)中出現(xiàn)的問題,北京師范大學(xué)信息技術(shù)與應(yīng)用課程組進行了認(rèn)真思考和分析,試圖找到解決問題的辦法。這些嘗試主要集中在上課的講授方法、手段、技巧,以及上機試驗的設(shè)計與考核等方面。我們的教學(xué)團隊也進行過探討,并且借鑒已有改革成果,教學(xué)效果有所改善,但不明顯。這促使我們進行更深刻的思考與反思,探究新的解決方法。2004年,我們的教學(xué)團隊開始了內(nèi)容編排體系的改革嘗試。
改革課程內(nèi)容編排體系,既要注意體系的科學(xué)與合理,更要兼顧能解決教學(xué)中存在的問題。于是,我們針對c語言中幾大主要模塊重新設(shè)計與布局,本文介紹的是指針內(nèi)容體系的調(diào)整與改革。
新的指針內(nèi)容編排體系的指導(dǎo)思想是打破指針內(nèi)容編排上的“獨立成章”,代之以將指針內(nèi)容貫穿于整個課程體系的始終。
’
在這種思想的指導(dǎo)下,我們在課程開始就設(shè)置指針的基本概念,讓學(xué)生更早認(rèn)識指針這一對象。當(dāng)然,這個時期的講解和介紹主要聚焦于基本概念,把它同基本數(shù)據(jù)類型一起進行講解。然后,在后面的章節(jié)中有機穿插講解相應(yīng)的指針內(nèi)容及應(yīng)用。比方說,在講函數(shù)的時候,將指針和函數(shù)結(jié)合,講解指針性形參、指針值函數(shù)、函數(shù)指針等內(nèi)容;在講數(shù)組時,將數(shù)組和指針結(jié)合,講解用指針操縱數(shù)組、指針數(shù)組、數(shù)組指針等內(nèi)容;在講文件時,講解文件指針等;在講動態(tài)數(shù)據(jù)結(jié)構(gòu)時,講解指針更廣泛和深刻的應(yīng)用,等等。
這樣一種內(nèi)容的編排方法,雖然不會出現(xiàn)指針內(nèi)容的“獨立成章”,但是幾乎在后面的每章中都會出現(xiàn)與指針內(nèi)容相關(guān)的小節(jié),體現(xiàn)出“將指針內(nèi)容貫穿于整個課程體系”的指導(dǎo)思想。這樣做,可能有人會擔(dān)心削弱了指針在C語言中的地位,其實,這種擔(dān)心是多余的。因為關(guān)于指針的內(nèi)容沒有減少,只是將集中講解改為逐步、循序、適時講解。這樣做的好處是明顯的:
1)增加了學(xué)生的消化理解時間,更好地體現(xiàn)了指針內(nèi)容的重要性。
將指針內(nèi)容進行拆分,合理地分配到相應(yīng)的章節(jié)中去,這顯然拉長了學(xué)生對指針內(nèi)容的消化和理解時間,從而有助于對內(nèi)容的更好掌握。這也很好地克服了以往內(nèi)容偏后導(dǎo)致的理解消化時間不夠的不足。這種編排方法不僅講解了指針的全部內(nèi)容,而且還跟其他內(nèi)容進行了有機結(jié)合。因此,這種編排體系不僅沒有降低指針在C語言中的地位,反而更能體現(xiàn)指針內(nèi)容的重要性。
2)降低了指針的難度和學(xué)生對指針的畏懼。
眾所周知,指針是C語言的重要內(nèi)容,同時也是難點。許多學(xué)生從心理上有種恐懼感,一定程度影響了學(xué)習(xí)效果。我們設(shè)計的“化整為零”的內(nèi)容編排方法,讓學(xué)生在慢慢消化的過程中,逐步掌握指針的內(nèi)容。在看似不知不覺的過程中,達到了“各個擊破”的良好效果。因此,可以說在一定程度上降低了指針內(nèi)容的難度。
3)增強了學(xué)生應(yīng)用指針的直觀感受。
在相應(yīng)的章節(jié)中穿插講解指針內(nèi)容,并有機結(jié)合,給出恰當(dāng)?shù)膶嵗蛻?yīng)用背景,這樣學(xué)生能感受到指針內(nèi)容使用的必要性和自然感,了解應(yīng)用的背景,從而增強對指針應(yīng)用的直觀感受。
4)指針內(nèi)容體系新設(shè)置示例。
在這里以函數(shù)和數(shù)組兩章為例來展示我們的新做法。
函數(shù):
1 函數(shù)的定義
2 函數(shù)的調(diào)用
2.1 調(diào)用方式
2.2 調(diào)用機理
2.3 聲明被調(diào)函數(shù)與函數(shù)原型
2.4 嵌套調(diào)用
2.5 遞歸函數(shù)與遞歸調(diào)用
3 變量的作用域
3.1 局部變量
3.2 全局變量
4 變量的存儲類別
4.1 auto類別
4.2 extern類別
4.3 register類別
4.4 static類別
5 函數(shù)與指針
5.1 指針變量作函數(shù)的參數(shù)
5.2 指向函數(shù)的指針
5.2.1 用函數(shù)指針調(diào)用函數(shù)
5.2.2 用函數(shù)指針作函數(shù)參數(shù)
5.3 指針值函數(shù)
數(shù)組:
1 一維數(shù)組
1.1 定義與初始化
1.2 數(shù)組元素的引用
1.2.1 下標(biāo)引用
1.2.2 指針引用
1.3 數(shù)組指針作函數(shù)參數(shù)
1.4 數(shù)組的排序
1.5 結(jié)構(gòu)體數(shù)組
1.6 批量數(shù)據(jù)的存取與文件操作
2 二維數(shù)組與多維數(shù)組
2.1 定義與初始化
2.2 數(shù)組元素的引用
2.2.1 下標(biāo)引用
2.2.2 指針引用
2.3 數(shù)組指針作函數(shù)參數(shù)
2.4 多維數(shù)組
3 字符數(shù)組與字符串
3.1 字符數(shù)組與字符串
3.2 字符串處理函數(shù)
3.3 指針與字符串
3.4 字符串指針作函數(shù)參數(shù)
4 指針數(shù)組與指向指針的指針
4.1 指針數(shù)組
4.2 指向指針的指針
4.3 指針數(shù)組與命令行參數(shù)
2 配套的改革措施和實踐效果
為了讓上面給出的指針內(nèi)容編排方法真正發(fā)揮作用,我們還做了其他一些配套工作。
首先,進行整個課程內(nèi)容體系的重新調(diào)整。因為指針內(nèi)容涉及許多章節(jié),所以,指針內(nèi)容體系設(shè)置的改革必須同時考慮其他相關(guān)章節(jié)的安排與銜接,這樣才能真正發(fā)揮改革措施的作用。在這方面,我們主要考慮了數(shù)組、函數(shù)、文件以及動態(tài)數(shù)據(jù)結(jié)構(gòu)等內(nèi)容的重新編排。
其次,對上機實踐環(huán)節(jié)作了相應(yīng)設(shè)計。上機實踐應(yīng)當(dāng)與課堂教學(xué)同步、配套。為此,我們針對新的內(nèi)容設(shè)置體系,設(shè)計了相應(yīng)的上機實踐任務(wù)、規(guī)范與要求。
最后,編寫了體現(xiàn)新思想的講義。為了配合教學(xué)改革,我們編寫了體現(xiàn)改革思想的講義,學(xué)生能在新的體系框架下開展學(xué)習(xí),確保良好的學(xué)習(xí)效果。將來,我們將編寫正式的教材,使改革更深入。
3 結(jié)語
以上措施都很好地保證了新思想體系作用的發(fā)揮。到目前為止,我們已經(jīng)連續(xù)進行了幾屆學(xué)生的教學(xué)實踐,從教學(xué)效果來看,改革是成功的。下一步,我們將進一步總結(jié)改革中的經(jīng)驗和教訓(xùn),完善已取得的教學(xué)成果,使之能更好地發(fā)揮作用。
(編輯:郭田珍)