

【摘 要】《C語言》是對口單招計算機專業(yè)考試中的一門重要學科,在專業(yè)綜合理論考試中占有很重要的分值,是考試中的重點和難點。對C語言學習和掌握的數(shù)據(jù)結構、算法、編程技巧將會轉(zhuǎn)移到其他程序設計語言的學習之中。本文總結了一套立足于學生的程序設計課程的優(yōu)化教學思路和具體可行的教學方法。
【關鍵詞】中職計算機;對口單招;C語言;教學方法
一、形象比喻法
在C語言的教學過程中,隨著課程的深入,難度也逐步加大,很多問題按照課本上的講解很難理解,對于這些難理解的問題我通常舉些形象生動的例子加以講解。例如:函數(shù)調(diào)用中的值傳遞和地址傳遞,前者為單向傳遞后者為雙向傳遞,我在講解時打了一個比喻,所謂值傳遞就是值的復制,就像把我房間里的東西復制到你的房間,你在自己的房間里處理這些東西以后,我房間里的東西并沒有變化,所以稱之為單向傳遞,僅是我傳給你數(shù)值,而你沒有把處理數(shù)值后的結果傳給我。所謂地址傳遞就是地址的復制,就像把我房間里的門牌號碼和鑰匙復制給你,你拿著鑰匙到我房間里來處理東西,我房間里的東西當然會發(fā)生變化,所以稱之為雙向傳遞。類似的比喻還有很多,例如用“往返跑”解釋循環(huán),用一瓶牛奶和一瓶果汁解釋兩個數(shù)的交換。通過這些形象生動的例子講解使學生對酶澀難懂的概念加深了理解,培養(yǎng)了學生的學習興趣。
二、比較異同法
例如在介紹C語言自加自減功能時,假設有程序:
Main( )
{Int i=5,j=5,P,Q;
P=(i++)+(i++)+(i++);
Q=(++j)+(++j)+(++j);
Printf(“P=%d,Q=%d,i=%d,j=%d”,P,Q,i,j);}
程序結果卻是P=15,Q=24,i=8,j=8。為什么是這個結果呢?這對于初學者來說很難理解。因為這里產(chǎn)生了有關自加自減運算副作用功能。對P=(i++)+(i++)+(i++)而言,應理解為三個i相加,故P=15。然后i的值自加1三次,故i=8;對于Q則不然,Q=(++j)+(++j)+(++j)應理解為j先自加1三次后值為8,三個8相加后值為24,j的最后值為8。
從以上程序段中可以看到它們的區(qū)別,i++(在使用i之后,使i的值加1),++i(在使用i之前,先使i的值加1),這樣一比較,同學們比較容易理解。
三、圖表分析法
循環(huán)次數(shù)的求解,特別是雙重循環(huán)和三重循環(huán)的求解,既是循環(huán)結構設計的重點,也是難點。以往多采用“手算”模擬計算機的計算過程來講解,學生接受起來很困難,浪費了時間還容易出錯。一遇到此類題干脆放棄。經(jīng)過分析、探討,我采用了一種圖示分析的教法。此法畫起來簡單,不容易出錯。
典型例題:寫出運行結果:
Main
{Int p=1;
For (i=1;i<=5;i++)
{ p=p+1;
For (j=1;j<=i; j++)
{ p=p+2;
FOR(x=1;x<=j;x++)
{p=p+j;
}}}
Printf(“%d\n”,p);}
分析:若循環(huán)次數(shù)固定,則直接采用各層循環(huán)次數(shù)相乘,但本例題中各循環(huán)次數(shù)不固定,則需要各層加以計算。二重循環(huán)變量j終值取決于i的值;三重循環(huán)變量x終值則要取決于j的值。
各層各層循環(huán)各變量取值情況表
畫出如上表格:
第一層:5次;第二層:15次;第三層:35次。
從圖表中得知:各層循環(huán)次數(shù)為各層循環(huán)變量取值變化的次數(shù):
在i層的取值:=i層循環(huán)次數(shù)*1=5*1=5;在j層的取值:=j層循環(huán)次數(shù)*2=15*2=30;在x層的取值:因為總是加第二層變量B的值,所以其計算公式為:p=1+1+2*2+1+2*2+3*3+1+2*2+3*3+4*4+1+2*2+3*3+4*4+5*5=105;p的最后取值為初值+各層取值等于1+5+30+105=141。
運用了表格,只要理順各層關系,算起來得心應手,再變形再復雜的題也難不倒了,而且能夠提高解題效率。
四、上機輔助法
第一,根據(jù)教學內(nèi)容,合理進行實踐課程設計。C語言程序設計課程的實踐性很強,學生只聽不練根本達不到學習該課程的目的。
第二,上機實踐,加強容易被忽略細節(jié)的教學。C語言雖然說與自然語言和教學語言十分接近,但在實際中卻存在著許多“細小”的卻又十分嚴格的差異。由于它的細小,常常不能引起注意而被忽略。通過上機操作,學生可以加強理解形成較強印象。
程序設計教學的目的,不僅要使學生掌握語言的根本規(guī)則,更要切實提高其編程解決實際問題的能力和實現(xiàn)算法的能力。作為教師,我們只有精心設計教學和實驗環(huán)節(jié),才能引領越來越多的初學者走進程序設計的殿堂。學生熟練掌握好C語言可為今后學習其它語言課程打下良好的基礎。
【參考文獻】
[1]譚浩強.C程序設計(第三版)北京:清華大學出版社,2009
[2]蘆艷芳,趙愛玲.C語言程序設計.北京:電子科科大學出版社,2005
[3]張海玉.C語言程序設計教學方法探析.太原:財政稅務專科學校,2006