亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        C語言教學(xué)中的難點探討

        2014-12-31 00:00:00楊杰

        摘 要:C語言能培養(yǎng)學(xué)生的算法(也就是解決問題的步驟)思想、嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度和自己動手解決問題的能力,教師怎樣在問題“難”和“易”之間抓好突破點,是教學(xué)成敗的關(guān)鍵。文中就幾個重難點問題的教學(xué)思路進(jìn)行了探討。

        關(guān)鍵詞:難;易;梯子問題

        中圖分類號:TP312.1-4

        計算機(jī)作為二十一世紀(jì)最重要的工具之一,已經(jīng)深入到了人們的工作、生活、學(xué)習(xí)、娛樂等各個領(lǐng)域。掌握計算機(jī)應(yīng)用技術(shù)成為了每個人的基本素質(zhì),也是今后工作中的一項重要技能。實踐證明,在學(xué)習(xí)\"人類通用智力工具\(yùn)"并掌握有關(guān)計算機(jī)知識與技能后,能夠促進(jìn)學(xué)生的智力開發(fā),為學(xué)生的成才打下堅實基礎(chǔ)[1]。計算機(jī)應(yīng)用基礎(chǔ)是對學(xué)生基本技能如:文件基本操作、文字排版、簡單數(shù)據(jù)處理等的培養(yǎng),而計算機(jī)的編程語言,特別是C語言更多的是培養(yǎng)學(xué)生的算法(也就是解決問題的步驟)思想、嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度和自己動手解決問題的能力。C比其他的編程語言 (C++, Java)更底層一點,掌握底層編程能使學(xué)生從整體上更好的理解和使用電腦。C程序比其它任何不同語言產(chǎn)生的程序都要更小更快。如果你學(xué)過C,再學(xué)其它任何現(xiàn)代編程語言時,都會如魚得水,因為所有現(xiàn)代編程語言 (Java, C++, C#等)都是基于C的,很多規(guī)范、機(jī)制是相通的。因此現(xiàn)在許多學(xué)校都將C語言作為公共選修,甚至必修的課程。

        1 “難”和“易”的關(guān)系

        但是由于不同學(xué)校的學(xué)生層次不同、文理專業(yè)不同、本科和專科的不同,在C語言的教學(xué)中教師將會面對不專業(yè),不同層次,不同需求,不同基礎(chǔ)的學(xué)生,教學(xué)難度較大。在教學(xué)方法上把握不當(dāng),將會造成難的問題更難,易的問題卻又讓學(xué)生聽得索然無味。怎樣把握住C語言教學(xué)中的難、易,并因材施教是恒量一位教師教學(xué)水平的重要標(biāo)志。好的教師即能將“難”的問題變“易”,也能將“易”的問題變“難”。這貌似是一個悖論,但這實際上體現(xiàn)了一位教師對學(xué)生知識基礎(chǔ)、學(xué)生的知識盲點、問題難易、知識的前后關(guān)聯(lián)、教學(xué)設(shè)計等整體把握的能力。當(dāng)學(xué)生面對一個難題,而他們的知識點,能力處于一個相對較低的層次上,怎樣攀上這座高峰,教師就需要在中間加入“梯子”問題?!疤葑印眴栴}的難度適中,以保證學(xué)生能解決“梯子”問題,當(dāng)學(xué)生解決好“梯子”問題后,水平能力有一定提高后,再解決難題就成為了可能。這個由易轉(zhuǎn)難的過程中,“梯子”問題的選取是最關(guān)鍵的一步,它的好壞直接影響到最后難題的解決。當(dāng)然,教師開始時不提難題,考慮從簡單的問題入手,然后一步步引入新的有一定難度的問題,最后多個中等難度的問題合成一個復(fù)雜問題。實際上教師的教學(xué)完全可以靈活地根據(jù)學(xué)生的知識層次、學(xué)習(xí)興趣、習(xí)慣等來決定是由“易”入“難”,還是先提出難題,再分解而成一個個相對較易的問題。先“易”后“難”學(xué)生更易接受,先“難”后“易”卻能更多地培養(yǎng)學(xué)生主動思考、發(fā)散思維的能力,更具挑戰(zhàn)性。也就是一個“順推”思維和“逆推”思維培養(yǎng)的過程。

        2 “難”和“易”的教學(xué)實例

        2.1 內(nèi)層循環(huán)次數(shù)變化的雙層循環(huán)

        在C語言中雙層循環(huán)是一個難點,特別是內(nèi)層循環(huán)次數(shù)在變化時,學(xué)生難于理解,難于掌握,這個時候教師給學(xué)生一個“梯子”方法,同時要求學(xué)生要學(xué)會自己搭“梯子”解決問題。如要求學(xué)生用雙層循環(huán)來實現(xiàn)如下“*”的輸出(當(dāng)然可用很多種方法來輸出):

        *

        **

        ***

        學(xué)生在分析時,感到茫然無措,不知從何下手??煽紤]如下的方法分析(實際就是一個解決問題的“梯子”):

        行號: 列號:

        1 1

        2 1 2

        3 1 2 3

        總共輸出三行,所以告訴學(xué)生外層循環(huán)很好寫,控制循環(huán)三輪就好了:

        for(i=1;i<=3;i++) //i為實現(xiàn)行數(shù)輸出的循環(huán)變量

        重點在于分析每一行時內(nèi)層循環(huán)的列號變化情況,發(fā)現(xiàn)列號都是從1開始的,所以內(nèi)層循環(huán)變量j賦初值為1,又發(fā)現(xiàn)每一行的列號最大值在變化,并且剛好和行號相等,因此j<=i;由于每輸出一行“*”后要換行,所以程序核心代碼就自然寫出:

        for(i=1;i<=3;i++){

        for(j=1;j<=i;j++) printf(“*”);

        printf(“\n”);}

        此題解決后,馬上可以讓學(xué)生思考如下形狀的“*”輸出,要求學(xué)生用上面方法中分析行號、列號的變化寫出循環(huán)結(jié)構(gòu),這就能極大的激發(fā)學(xué)生的學(xué)習(xí)興趣并培養(yǎng)學(xué)生探究問題的能力。

        *** * ***

        ** ** **

        * *** *

        2.2 遞歸

        在C語言教學(xué)中,遞歸是一個難點。寫出代碼難度不大,但要理解遞歸的運(yùn)行過程卻有相當(dāng)難度。如求3的階乘的程序如下[2]:

        #include

        int fac(int n)

        {

        if(n==1||n==0) return 1;

        else return n*fac(n-1);

        }

        void main()

        {printf(“3!=%d\n”,fac(3));

        不少教師用下面的示意圖1分析:

        圖1

        因為fac 函數(shù)調(diào)用多次,上圖中的分析方法,學(xué)生會由于多個局部變量n的定義和值的傳遞而昏頭轉(zhuǎn)向,讓學(xué)生的理解愈發(fā)困難。學(xué)生理解困難的關(guān)鍵是幾次調(diào)用重疊在一起,很難區(qū)分每次調(diào)用時變量的變化情況。我們在分析時可以用展開分析法來看,如圖2(實線表示調(diào)用,虛線表示返回)。

        圖2

        分析理解時,將遞歸函數(shù)代碼“展開”,這樣學(xué)生對n變量的定義和賦值情況清清楚楚,遞歸調(diào)用和返回的過程可以輕松掌握并將這樣的思想應(yīng)用到其它的遞歸問題中,對更復(fù)雜的遞歸,如雙層遞歸打下堅實的基礎(chǔ)。

        2.3 指針

        C語言的另一大難點就是指針。學(xué)生對這一部分內(nèi)容的學(xué)習(xí)產(chǎn)生的問題是比較多的,但在講這一部分時,把握好由易到難的度,還是能讓學(xué)生很好地掌握這個難點的。指針部分開篇非常重要:(1)要講清楚內(nèi)存地址的劃分方法,內(nèi)存中每一個字節(jié)就像一個寢室一樣有房間號,即地址。并且強(qiáng)調(diào)在內(nèi)存確定后,每個字節(jié)的地址編碼的長度是一樣長的,如16位地址進(jìn)行編號,為學(xué)生理解“不同類型的指針變量所占內(nèi)存長度是固定的”打下堅實基礎(chǔ)。(2)簡單整型變量的起始地址是16位的(假設(shè)內(nèi)存用16位編址),整型變量本身所占空間是16位的。再引入浮點型變量的起始地址是16位的,浮點型變量所占空間是32位的。再引入雙精度浮點數(shù)的起始地址也是16位的,雙精度浮點數(shù)變量本身所占空間是64位的。通過這樣的對比,讓學(xué)生清楚知道指針變量所占的空間大小與所指向的數(shù)據(jù)類型無關(guān),只與內(nèi)存固有的結(jié)構(gòu)有關(guān)。從而很好地區(qū)分指針變量和普通變量的關(guān)系。(3)再引入指針變量本身也是一個“容器”,也存在著自己的起始地址,從而引入二級指針的概念。

        由于教師在教學(xué)中做了很多知識的分解,像這樣將難題分解成由易到難的一個一個小知識點,攻克一個難點后,再攻克另一個更難的知識點,學(xué)生并不會覺得很難。

        3 結(jié)束語

        在C語言的教學(xué)中,有著“難”和“易”的轉(zhuǎn)換關(guān)系,實際上任何課程都存在著這樣的關(guān)系。只要教師在“難”到“易”,或者“易”到“難”之間找到合適的“梯子”問題,那么難題不再是學(xué)生學(xué)習(xí)中的攔路虎,而成了學(xué)生攀登知識高峰的一步步臺階。當(dāng)然,“授人以魚,不如授人以漁”,教師即要會給學(xué)生搭“梯子”,也應(yīng)該教會學(xué)生應(yīng)該怎樣自己搭“梯子”,只有這樣,當(dāng)大學(xué)生不再有老師呵護(hù)并走上工作崗位時, 也能主動發(fā)現(xiàn)問題、分析問題、并獨(dú)立地解決問題,從而成為一個有益于社會的人。

        參考文獻(xiàn):

        [1]陶樹平,黃國興,丁岳偉 計算機(jī)科學(xué)技術(shù)導(dǎo)論 高等教育出版社 2002.5

        [2]譚浩強(qiáng) C程序設(shè)計 清華大學(xué)出版社2010.6 第四版

        作者簡介:楊杰(1971.11-),男,四川仁壽人,副教授,主要研究方向:算法分析與設(shè)計,近似算法,圖論等。

        作者單位:四川民族學(xué)院計算機(jī)科學(xué)系 四川 康定縣 626001

        基金項目:四川教育廳理工科重點項目:智能考試軟件系統(tǒng)支助(項目編號:14ZA0295)。

        狠狠色欧美亚洲狠狠色www| 免费国产h视频在线观看86| 久久亚洲精彩无码天堂| 日本熟妇免费一区二区三区| 亚洲欧美另类日本久久影院| 无码av专区丝袜专区| 国产成人亚洲综合二区| 九一免费一区二区三区偷拍视频| 人妻少妇久久久久久97人妻| 日韩亚洲av无码一区二区三区| 亚洲色AV性色在线观看| 91在线视频视频在线| 丝袜美腿国产一区二区| 国产精品白浆在线观看免费| 曰批免费视频播放免费直播| 91超碰在线观看免费| 亚洲va成无码人在线观看| 美女福利视频在线观看网址| 日韩精品专区在线观看| 色噜噜狠狠综曰曰曰| 国产一区二区三区美女| 蜜桃av噜噜一区二区三区香| 不卡视频在线观看网站| 国内精品久久久久影院优| 亚洲成a∨人片在无码2023| 久久精品人成免费| 国产精品亚洲一区二区极品| 国产亚洲精品一品二品| 肥老熟妇伦子伦456视频| 国产边摸边吃奶叫床视频| 同性男男黄g片免费网站| 如何看色黄视频中文字幕| 国产一区二区在线免费视频观看| 国产成人av在线免播放观看新| 无码国产一区二区三区四区| 综合久久久久6亚洲综合| 日韩精品一区二区三区影音视频 | 蜜桃91精品一区二区三区| 大胸少妇午夜三级| 日韩精品一区二区三区在线观看| 风韵丰满妇啪啪区老老熟女杏吧|