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

        ?

        程序調(diào)試技術在C語言函數(shù)教學中的應用

        2014-07-02 01:31:44張秀美趙旭霞
        教育教學論壇 2014年11期
        關鍵詞:函數(shù)調(diào)用對話框函數(shù)

        張秀美,趙旭霞

        (中國石油大學,北京 102249)

        程序調(diào)試技術在C語言函數(shù)教學中的應用

        張秀美,趙旭霞

        (中國石油大學,北京 102249)

        函數(shù)是C語言程序的基本組成單位,在C語言教學中必須使學生很好地掌握函數(shù)的概念、定義和調(diào)用等內(nèi)容。本文針對學生在學習函數(shù)過程中出現(xiàn)的一系列問題,提出在函數(shù)教學過程中使用程序調(diào)試技術加強對函數(shù)調(diào)用過程的演示,從而使學生更好地掌握函數(shù)的內(nèi)容,達到了較好的教學效果。

        C語言;函數(shù);調(diào)試技術

        C語言是一門函數(shù)式語言。學習C語言編程必須學好函數(shù)的使用。筆者在多年的教學過程中,發(fā)現(xiàn)學生在學習函數(shù)的過程存在一些問題。雖然這些內(nèi)容教師在課堂上都十分認真地講解,但有些學生還是覺得內(nèi)容很抽象,不容易理解。程序調(diào)試技術一般用在程序查錯上。在程序調(diào)試的過程中,可以看到程序的執(zhí)行過程,包括函數(shù)的調(diào)用過程、形參實參的傳遞,變量的內(nèi)存地址等內(nèi)容,這樣可以很直觀地給學生講解函數(shù)的相關內(nèi)容,因此筆者在函數(shù)的教學中使用了程序調(diào)試技術,使教學內(nèi)容不再抽象,而是具體化,使學生能夠更好地掌握相關知識,達到了較好的結(jié)果。

        程序調(diào)試技術在函數(shù)教學中的具體使用:

        1.通過調(diào)試技術直觀地查看函數(shù)的調(diào)用過程。首先設計一個簡單的使用函數(shù)的實例,jc函數(shù)實現(xiàn)計算n的階乘。在main函數(shù)中通過函數(shù)調(diào)用來求任意一個整數(shù)的階乘。double jc(int n),{double mul=1;//……2,int i;for(i=1;i<=n;i++)mul*=i;return mul;}//……..3;int main(),{int num=5;double r;r=jc(n);//…….1,printf("jiecheng is:%. 0f",jc(num));return 0;}。為了給學生演示函數(shù)調(diào)用的過程,在標號1語句處設置斷點,然后選擇go(F5)菜單調(diào)試執(zhí)行該程序,則程序執(zhí)行到斷點處停下,然后進行單步調(diào)試,在debug工具欄中選擇Step into(F11)項,跟蹤進到jc函數(shù)內(nèi)部查看,系統(tǒng)的執(zhí)行箭頭就會從原先1的位置跳轉(zhuǎn)到標號2的位置去,可以通過單擊debug工具欄中CallStack項打開CallStack對話框查看調(diào)用細節(jié),如圖1所示。圖中顯示了main函數(shù)調(diào)用了jc函數(shù),實參的值是10。繼續(xù)單步調(diào)試,系統(tǒng)執(zhí)行jc函數(shù)的代碼,執(zhí)行到3處后,系統(tǒng)的執(zhí)行箭頭就會從標號3的位置跳回到標號1的位置去,表示函數(shù)調(diào)用完成,此時CallStack對話框也發(fā)生了變化,如圖2所示。這樣學生就很清晰地看到了程序運行過程中函數(shù)的調(diào)用過程,加深了記憶和理解。

        圖1 jc函數(shù)被調(diào)用后

        圖2 jc函數(shù)返回后

        2.通過程序調(diào)試技術了解函數(shù)參數(shù)傳遞過程和局部變量的概念。在函數(shù)教學中,形參和實參的關系往往是學生容易出錯的地方。形參和實參是兩個不同的變量,實參的作用就是給形參傳值。而函數(shù)的形參以及函數(shù)內(nèi)定義的變量都是函數(shù)的局部變量,只能在該函數(shù)中使用。而在調(diào)試中通過查看變量的值可以很清晰地看到這些知識的作用,則比較生動具體。在上例中,程序在斷點停下后,選擇debug工具欄中的watch項,打開watch對話框,在對話框中輸入num和n,如圖3所示,此時num的值是5,而由于jc函數(shù)還沒有被調(diào)用,形參n還不存在。然后選擇Step into(F11)項,跟蹤進到jc函數(shù)內(nèi)部查看,注意觀察watch對話框的變化,發(fā)現(xiàn)n的值變?yōu)?,而num失效了,如圖4所示。這說明程序的執(zhí)行進入到jc函數(shù),形參變量n被創(chuàng)建并從實參獲得了值5。而num是main函數(shù)的局部變量,在其他函數(shù)中如jc函數(shù)中是無法訪問的,從而失效。

        圖3 jc函數(shù)調(diào)用前的實參和形參

        圖4 jc函數(shù)調(diào)用后的實參和形參

        3.通過調(diào)試技術加強對指針做函數(shù)參數(shù)的內(nèi)容的理解。在講解函數(shù)的過程中,指針做參數(shù)是重點和難點之一。教師在教學過程中強調(diào)指針做形參,可以突破局部變量的限制而訪問到其他函數(shù)的局部變量,這在以后的函數(shù)使用中經(jīng)常用到。但學生覺得很難理解。筆者通過調(diào)試技術運行一個實例,查看實際的運行過程,來加深學生對內(nèi)容的理解。首先設計一個簡單的指針做參數(shù)的實例。void fun(int * q){*q=10;//…….2}int main(){int n=89;int * p=&n;fun(p);//…….1printf("n=%d\n",n);return 0;},在標號1處設置斷點。調(diào)試運行該程序,在斷點處停下,p是fun函數(shù)的實參。此時選擇debug工具欄中的watch項,打開watch對話框,分別輸入p和&n,如圖5所示,它們值相同,都是0x0012ff44,表示n的內(nèi)存地址。然后選擇Step into項跟蹤進入fun函數(shù)內(nèi)部執(zhí)行,由于p和n是main函數(shù)的局部變量,在fun函數(shù)內(nèi)部無法訪問,它們的值失效。然后,在watch對話框中再輸入q和*q,則可以看到如圖6的內(nèi)容。說明形參q從實參p獲得了值0x0012ff44,即q也保存了main函數(shù)中n的地址,而*q的意思是通過q保存的地址訪問該地址所表示的變量。繼續(xù)單步執(zhí)行,返回到main函數(shù)執(zhí)行,此時查看n的值,果真變?yōu)榱?0。即在fun函數(shù)內(nèi)部通過指針變量改變了main函數(shù)中局部變量的值。

        圖5 fun函數(shù)調(diào)用前

        圖6 fun函數(shù)調(diào)用后

        筆者在實際的函數(shù)教學中采用了程序調(diào)試技術,讓學生直觀地看到了程序的運行過程,從而加深了學生對函數(shù)調(diào)用過程、參數(shù)傳遞、指針做參數(shù)等內(nèi)容的理解。學生反應良好。計算機技術總是在不斷的發(fā)展,教師還要不斷地探索更好的教學方法,使C語言課程的教學質(zhì)量進一步提高。

        [1]譚浩強.C程序設計(第四版)[M].清華大學出版社,2010.7.

        [2]王濤偉,楊秀金.C++函數(shù)的參數(shù)傳遞和返回值問題的教學研討[J].吉林大學學報(信息科學版),2005,(23):70-74.

        [3]徐曉.一種C語言函數(shù)部分的新教學方案 [J].計算機教育,2007,(9):56-58,13.

        G642.4

        A

        1674-9324(2014)11-0085-02

        猜你喜歡
        函數(shù)調(diào)用對話框函數(shù)
        基于C語言的數(shù)學菜單的設計與實現(xiàn)
        二次函數(shù)
        第3講 “函數(shù)”復習精講
        二次函數(shù)
        函數(shù)備考精講
        正?;謴吞摂M機
        Bootlace Worms’Secret etc.
        中學科技(2018年12期)2018-12-19 11:22:28
        基于函數(shù)調(diào)用序列模式和函數(shù)調(diào)用圖的程序缺陷檢測方法*
        探討C++編程中避免代碼冗余的技巧
        Unity3D項目腳本優(yōu)化分析與研究
        中國新通信(2017年1期)2017-03-08 03:12:21
        日本一区二区不卡二区| 性夜影院爽黄a爽在线看香蕉| 精品视频999| 日产精品一区二区三区免费| 亚洲国产精品日韩av专区| 无码 人妻 在线 视频| 日本黄色一区二区三区| 美女露出自己的性感大胸一尤内衣 | 专干老熟女视频在线观看| 国产精品无码不卡一区二区三区| 在线观看亚洲你懂得| 情头一男一女高冷男女| 人人妻人人澡人人爽人人精品av | 91久久精品人妻一区二区| 亚洲一区二区刺激的视频| 日韩aⅴ人妻无码一区二区| 美女黄18以下禁止观看| 国产美女亚洲精品一区| 男女搞事在线观看视频| 国产福利视频一区二区| 97无码人妻Va一区二区三区| 日韩丝袜人妻中文字幕| 久久国内精品自在自线| 五月综合缴情婷婷六月| 亚洲永久精品ww47永久入口| 色婷婷一区二区三区77| 国产亚洲中文字幕久久网| 欧洲熟妇色xxxx欧美老妇性| 97影院在线午夜| 亚洲在战AV极品无码| 亚洲国产成人久久精品一区| 风流老熟女一区二区三区| 99久久免费国产精品2017| 国产精品日本中文在线| 久久不见久久见免费视频6 | 66lu国产在线观看| 亚洲精品中文字幕尤物综合| 国产精品黑丝高跟在线粉嫩 | 国产日本精品一二三四区| 人人妻人人妻人人片av| 亚洲一区二区高清精品|