周金玲
(濰坊學院,山東 濰坊 261061)
C語言是應用最廣的程序設計語言之一,由于其較難掌握,令絕大部分初學者感到抽象且難以理解,這直接影響了學生對計算機語言學習的積極性。加之,學校對C語言理論課時安排的縮減,教師在規定的課時內必須完成教學任務,傳統“黑板式”教學方式速度慢,無法按時按量完成教學任務,目前課堂教學大多采用多媒體授課方式,雖具有生動形象、一目了然、圖文并茂等優點,然而也存在弊端,如傳遞知識量大,放映過程導致教師講課在不知不覺中速度加快,若學生課前或課后對該課程不做預習和復習,則預期的授課效果不佳,容易走入“滿堂灌”教學的誤區,教師在教學工作中遇到很多困難。為此研究和探索新的教學方法和教學手段對提高C語言教學效果尤為重要。
不僅僅是C語言,對所有課程來說,教師上好第一堂課對以后學生學習該課程將起到極大的作用。如果第一堂課學生就對本課程產生了濃厚的興趣,那么接下來的學習就會輕松很多,那么教師該如何上好第一堂課呢?要上好第一堂課就要想辦法讓講課內容生動、富有吸引力,因為這直接關系到學生對該課程的興趣。對C語言來說,第一堂課教師可以演示一個用C語言編寫的趣味小游戲。學生看完之后,給學生說明這是用咱們即將學習的這門課程做的程序,學生看到了學完課程之后的用處,自然對C語言的興趣就來了。
C語言是一門編程課程,如果教師上課純粹講理論會使課程枯燥、乏味、抽象難以理解,所以在教學過程中通過一個個實例結合多媒體來展示C語言的應用,這樣會使學生對所學知識點更加直觀和清晰的掌握。例如,在講多重循環時,我們可以舉打印圖形的例子:先編程打印一行十個“*”;再修改成打印十行十列“*”。如圖1。
寫程序打印一行十個“*”,這對學生來說并不難,程序段如下:
for(i=1;i<=10;i++)
printf(“*”);
printf(“\n”);
接下來打印十行十列的圖形,因為上面的程序段就是打印一行十個“*”,那么我們把該程序段重復十次就可以打印出一行十個“*”,程序段如下:

圖1 打?。?/p>
for(j=1;j<=10;j++)
{
for(i=1;i<=10;i++)
printf(“*”);
printf(“\n”);
}
該程序由兩個循環組成,在執行時,通過設計斷點,程序每執行一次循環就暫停一下,對照執行結果,學生就能很明白的掌握雙重循環。
當然實例教學離不開多媒體,通過多媒體一步一步的演示,才能讓學生更清楚的掌握知識點。另外,在選擇教學實例時應做到“科學性、趣味性、應用性和易學性”的要求,并按照不同的學習功能進行分類。除此之外,實例教學一定要充實實例庫,做到實例拿來即用。
對于程序設計課程,理論學習和上機實訓都是非常重要的。布置編程作業對大多數學生來說有一定的難度,會讓編不出程序的學生產生挫敗感,于是對以后的學習喪失了信心。因此必須改變這種傳統的教學方式,讓學生真正掌握程序設計的思想和方法,能夠靈活的運用語言編程。既然編寫整個程序會讓學生覺得太難,那教師可以把上機任務簡單化,把一個完整的程序空出重點語句部分讓學生填空,或者把程序修改后讓學生改錯,讓學生上機調試,既可避免編不出程序而使學生產生挫折感,又可培養學生主動思考的學習態度和程序改錯的能力,加深對知識點的理解。待到學生有一定的編程基礎后,教師便可以布置一些較難的任務,這樣循序漸進的訓練,激發了學生學習興趣,培養了問題求解和編程能力。另外老師布置的作業一定是要有代表性的程序題,讓學生在有限的上機時間內充分理解和掌握知識點。
另外一個普遍出現的情況就是學生的上機作業存在抄襲現象,很多同學編寫的程序完全相同,錯誤出現的地方也完全一樣。所以教師在布置作業的時候盡量做到不同的同學完成的作業不一樣,比如說編寫循環程序題,可以有的同學用for循環語句,有的用while,有的用do-while。用同一種循環的可以循環次數不一樣。當然不同的知識點要想能做到所有學生都不抄襲,就要教師自己動腦筋想辦法。還有對于學生上機過程中普遍出現的錯誤,進行集中提示、講解以增加學生的印象。
對同一個班的學生來說,因為來自不同的地區,學生計算機水平良莠不齊,所以C語言的教學必須注重因材施教。對計算機水平高的可以讓他們提前預習后面的內容,在布置作業時可以給他們布置難度大點的。如果這部分學生想要探討更深的問題,可在課下單獨輔導?,F在網絡發達,教師也可以與學生在線交流。對計算機水平差點的,教師更應該耐心輔導,用一些更簡單的實例讓學生掌握知識點。
本文分析了目前高校C語言教學過程中存在的問題,并研究和探討了在教學實踐中如何提高C語言教學質量,達到C語言教學在程序設計能力培養中的目標。然而教學是一門藝術,教學方法探討永無止境。計算機技術發展迅速,C語言教學方法在教學實踐中更需要不斷的改進和創新。任何教學方法只有在一定的條件下才會顯示出優勢及其使用的范圍,所以我們也要緊跟時代的發展,對教學進行實時的知識更新,并不斷地進行深入研究和探討,才能適應目前應用型人才培養的需要。
[1]張磊.C語言程序設計[M].2版.北京:高等教育出版社,2009.
[2]譚浩強.C程序設計[M].3版.北京:清華大學出版社,2005.
[3]何元惠,高占國,楊靜.C程序設計語言教學方法探討[J].中國科技信息,2007,(3):209-211.