摘要《C語言程序設(shè)計(jì)》作為職業(yè)技術(shù)學(xué)院計(jì)算機(jī)類的專業(yè)基礎(chǔ)課,目的是培養(yǎng)學(xué)生的程序設(shè)計(jì)理念,掌握程序設(shè)計(jì)的基本方法以及C程序的調(diào)試與運(yùn)行。因此,在重視理論教學(xué)的同時,必須加強(qiáng)實(shí)驗(yàn)環(huán)節(jié)。只有讓學(xué)生通過上機(jī)實(shí)踐操作才能正真學(xué)會如何編寫程序和調(diào)試程序,并更好地掌握理論知識。
中圖分類號:G420 文獻(xiàn)標(biāo)識碼:A
\"C Language\" Experimental Teaching Reform
JIA Dan
(Zhumadian Vocational College, Zhumadian, He'nan 463000)
AbstractAs a professional basic course in Computer Technology Institute, The purpose of \"C Language Programming\" is to cultivate students' program design, master the basic method of programming and debugging and run C programs. So, while taking emphasis on teaching the theory, experimental procedures must be strengthened. Make students operate on the computer can help them learn how to program and debug program, and grasp better theoretical knowledge.
Key wordsC language; program design; experimental teaching; program optimization; collaborative learning
0 引言
C語言課程作為職業(yè)技術(shù)學(xué)院的計(jì)算機(jī)專業(yè)課,是學(xué)生學(xué)習(xí)程序設(shè)計(jì)技術(shù)的入門課程,也是后繼數(shù)據(jù)結(jié)構(gòu)等的基礎(chǔ)課。可是由于C語言的運(yùn)算、數(shù)據(jù)結(jié)構(gòu)等較復(fù)雜,而且我院學(xué)生編程基礎(chǔ)薄弱,且學(xué)習(xí)不主動,該課程一直是個老大難的課程。只有在上機(jī)實(shí)踐中學(xué)生才能正真學(xué)會如何編寫程序和調(diào)試程序,也只有通過上機(jī)實(shí)踐才能更好地掌握程序設(shè)計(jì)的理論知識。在實(shí)際的上機(jī)實(shí)驗(yàn)課中,發(fā)現(xiàn)普遍有以下幾個問題:
(1)學(xué)生沒有明確的實(shí)驗(yàn)?zāi)繕?biāo),學(xué)習(xí)主動性不強(qiáng)。C語言教材沒有配套的上機(jī)操作實(shí)驗(yàn),課后也沒有預(yù)留和本節(jié)課相關(guān)的上機(jī)作業(yè),導(dǎo)致一部分學(xué)生上機(jī)時上機(jī)時無所事事。
(2)C語言上機(jī)部分過于枯燥,缺少生動和學(xué)生喜歡的實(shí)例,和實(shí)際開發(fā)脫節(jié),學(xué)生提不起來興趣。而且,C語言的書寫格式和規(guī)則過于嚴(yán)格,學(xué)生在編寫過程中如稍有疏忽就會導(dǎo)致在調(diào)試時錯誤百出。
(3)現(xiàn)有實(shí)驗(yàn)大多注重語句、語法等,沒有把編程解題思路和程序測試等放在首位,對學(xué)生分析問題和解決問題的能力訓(xùn)練不夠。
1 實(shí)驗(yàn)教學(xué)的改革
職業(yè)技術(shù)學(xué)院的職業(yè)性教學(xué)過程中更注重職業(yè)崗位能力與職業(yè)技能的訓(xùn)練,注重解決問題、分析問題和自學(xué)等能力的培養(yǎng)。在C語言實(shí)驗(yàn)中,主要是培養(yǎng)學(xué)生讀寫程序和調(diào)試程序的能力以及提高上機(jī)的學(xué)習(xí)興趣和自主實(shí)驗(yàn)的方法技巧等。那么如何提高學(xué)生對這們課程的學(xué)習(xí)水平,我們從以下部分進(jìn)行改革:
1.1 提高學(xué)生實(shí)驗(yàn)興趣
興趣是最好的老師,要讓學(xué)生喜歡實(shí)驗(yàn),就要提高他們的實(shí)驗(yàn)興趣。現(xiàn)代的學(xué)生大多已習(xí)慣于計(jì)算機(jī)的圖形操作界面,且基礎(chǔ)比較薄弱,動手能力相對也差。而C語言的上機(jī)操作卻是純英文的界面和純鍵盤操作,這種反差很大,很難提起學(xué)習(xí)的興趣。這時,我們就要采取一些手段,譬如:簡化入門環(huán)境,在桌面建立快捷方式;提問一部分英語單詞,看誰翻譯的更準(zhǔn)確等;學(xué)生練習(xí)前,老師先進(jìn)行一些演示,讓大家先看到結(jié)果等。
1.2 讓實(shí)驗(yàn)部分與課程掛鉤
C語言的實(shí)驗(yàn)部分要和當(dāng)前課程講授內(nèi)容一致,加強(qiáng)學(xué)生對程序錯誤的診斷和校正能力等方面的培養(yǎng)。第一章課程開始,我們便可以設(shè)計(jì)了相應(yīng)的上機(jī)實(shí)驗(yàn),如練習(xí)輸入輸出語句;在選擇結(jié)構(gòu)中練習(xí)求一個數(shù)的絕對值等問題;在循環(huán)結(jié)構(gòu)中可以設(shè)計(jì)九九乘法表等等。
1.3 強(qiáng)化實(shí)驗(yàn)步驟及分析討論
每節(jié)實(shí)驗(yàn)課都可以散發(fā)來進(jìn)行實(shí)驗(yàn)。如循環(huán)結(jié)構(gòu)的九九乘法表有很多種,而每一種都有不同的實(shí)現(xiàn)方式。
譬如下圖是其中的一種表:(圖1)
在上圖中,我們就可以安排以下實(shí)驗(yàn)內(nèi)容:
(1)使用while,do…while和for語句如何實(shí)現(xiàn),使用這三種語句各有什么優(yōu)缺點(diǎn),有什么區(qū)別?
(2)使用for語句有幾種實(shí)現(xiàn)方案,使用for語句需要注意哪些細(xì)節(jié),如第二行使用for(i=0;i<9;i++)和for(i=9;i<0;i--)和for(i=100;i<109;i++)等有什么不同?如何設(shè)定循環(huán)開始和結(jié)束的條件,循環(huán)需要幾層?分行應(yīng)該放置在第幾次循環(huán)里面等?
(3)如何分行、如何安排空隙、如何體現(xiàn)行和列相乘的過程等等。
1.4 進(jìn)一步實(shí)驗(yàn)
(1)九九乘法表如果修改成以下該如何實(shí)現(xiàn)?該圖和上圖區(qū)別在哪里?(見圖2)
(2)表體部分需要幾層循環(huán),每一個公式如何體現(xiàn)出來?
(3)九九乘法表繼續(xù)修改,譬如表體可以改成只有對角線以下部分,或是只有逆對角線以上部分等等。
1.5 設(shè)計(jì)綜合性的實(shí)驗(yàn)
大家在學(xué)完C語言后,大都可以理解程序的意義,可以設(shè)計(jì)一些簡單的課本上的案例,但遇到實(shí)際問題或復(fù)雜的問題就無從下手。原因是我們的教材缺少和我們實(shí)際生活相連的題目,為此,我們設(shè)計(jì)短期任務(wù)與長期任務(wù)結(jié)合的上機(jī)內(nèi)容。我們可以先把一個大點(diǎn)的程序作為一個長期任務(wù),再按照不同的功能分解成一個一個的小程序作為短期任務(wù)。每一章的學(xué)習(xí)都是這個大程序的一部分,這樣大家的學(xué)習(xí)任務(wù)就形成了一定得連貫性。例如,以“學(xué)生成績管理系統(tǒng)”為設(shè)計(jì)的長期任務(wù),從第一章的輸入/輸出語句開始,讓學(xué)生編寫主函數(shù);學(xué)習(xí)完選擇結(jié)構(gòu)以后,可以編寫驗(yàn)證某學(xué)生名是否是本班級的在校學(xué)生的函數(shù);學(xué)習(xí)完循環(huán)控制后,要求可以輸入輸出本班級某位同學(xué)的所有成績和平均成績函數(shù);學(xué)習(xí)完數(shù)組后,可以完成本班級所有同學(xué)的學(xué)習(xí)和信息的錄入檢索等;學(xué)完結(jié)構(gòu)體類型后,要求使用結(jié)構(gòu)體數(shù)組來存儲和處理學(xué)生的信息;學(xué)習(xí)鏈表后,要求利用單鏈表動態(tài)管理學(xué)生的成績;最后在“文件”這一章,要求利用文件操作完成學(xué)生成績管理。這樣當(dāng)我們學(xué)完整個課程之后,我們也完成了一個大的程序的編程。這樣學(xué)生既練習(xí)了大程序的設(shè)計(jì),提高編程能力,也鍛煉了他們相互學(xué)習(xí),協(xié)同工作的能力。
2 總結(jié)
實(shí)踐證明,C語言實(shí)驗(yàn)課教學(xué)的改革確實(shí)可以提高學(xué)生對編程課的學(xué)習(xí)興趣,而且C語言上機(jī)對格式和書寫規(guī)則也提高了他們學(xué)習(xí)的嚴(yán)謹(jǐn)性;為后繼的課程打下良好的基礎(chǔ)。關(guān)于C語言實(shí)驗(yàn)課的改革,我們還有許多要改進(jìn)和探討的內(nèi)容。
參考文獻(xiàn)
[1]廖雷.C語言程序設(shè)計(jì)(第2版)[M].北京:高等教育出版社,2003.12.
[2]譚浩強(qiáng).C程序設(shè)計(jì)(第二版)[M].北京:清華大學(xué)出版社,1999.3.
[3]全國計(jì)算機(jī)等級考試二級教程C語言程序設(shè)計(jì)[M].北京:高等教育出版杜.
[4]http://www.51xue.cn/hunwen/edu/2006-6-26/2006626716081742.shtml.淺談信息技術(shù)環(huán)境下的協(xié)作學(xué)習(xí).
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文