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

        ?

        C語言函數(shù)調(diào)用方式教學(xué)方法的探討

        2022-07-06 23:49:08王曉東
        客聯(lián) 2022年4期
        關(guān)鍵詞:函數(shù)教學(xué)

        摘 要:函數(shù)調(diào)用方式是C語言程序設(shè)計(jì)課程教學(xué)的重點(diǎn),也是教學(xué)難點(diǎn)之一。本文簡述了兩種C語言函數(shù)調(diào)用方式的特點(diǎn),解答了學(xué)生在學(xué)習(xí)過程中遇到的常見問題。并通過典型案例分析,引導(dǎo)學(xué)生掌握C語言函數(shù)調(diào)用方式的運(yùn)用方法。

        關(guān)鍵詞:C語言;教學(xué);函數(shù);調(diào)用方式

        一、引言

        程序設(shè)計(jì)語言是高等院校公共基礎(chǔ)教學(xué)的重要組成部分,也是計(jì)算機(jī)相關(guān)專業(yè)的基礎(chǔ)課程。C語言是一門十分優(yōu)秀的程序設(shè)計(jì)語言,不僅適用于教學(xué),而且實(shí)用性極強(qiáng),應(yīng)用廣泛。函數(shù)調(diào)用方式不僅涉及了函數(shù)信息傳遞的效率問題,而且還可能對(duì)程序運(yùn)行結(jié)果產(chǎn)生影響,因此也是C語言課程教學(xué)的一個(gè)重點(diǎn)。C語言函數(shù)調(diào)用有兩種方式,除了傳統(tǒng)的傳值調(diào)用之外,還增加了頗具特色的傳址調(diào)用方式。在授課中抓住要點(diǎn),鞭辟入里,精選典型案例進(jìn)行分析,取得了良好的教學(xué)效果。

        二、傳值調(diào)用

        傳值調(diào)用是在高級(jí)語言中普遍存在的函數(shù)調(diào)用方式,其形參和實(shí)參均為普通變量。在函數(shù)調(diào)用時(shí)把實(shí)參的值從左至右,一一對(duì)應(yīng)地傳遞給各個(gè)形參。這種傳遞是單向的,類似變量賦值,形參的值發(fā)生變化對(duì)實(shí)參毫無影響。選用求兩個(gè)整數(shù)的最大公約數(shù)這個(gè)程序作為案例,讓學(xué)生直觀認(rèn)識(shí)到函數(shù)定義、調(diào)用以及返回值等各個(gè)要素。定義一個(gè)gcd函數(shù)負(fù)責(zé)求最大公約數(shù),兩個(gè)形參均設(shè)置為普通類型int。算法采用輾轉(zhuǎn)相除法,代碼如下:

        #include<stdio.h>

        main()

        { int gcd(int m,int n); /*函數(shù)聲明*/

        int m,n,k;

        scanf("%d%d",&m,&n);

        k=gcd(m,n); /*函數(shù)調(diào)用*/

        printf("最大公約數(shù)是%d\n",k);

        }

        int gcd(int m,int n) /*函數(shù)定義*/

        { int a;

        do

        { a=m%n;

        m=n;

        n=a;

        }while(n!=0);

        return(m); /*函數(shù)返回值*/

        }

        有的學(xué)生可能會(huì)認(rèn)為函數(shù)遞歸調(diào)用是一種新的調(diào)用方式,其實(shí)它是函數(shù)嵌套調(diào)用的特殊形式,本質(zhì)仍然屬于傳值調(diào)用。再次選取求最大公約數(shù)這個(gè)案例,采用遞歸調(diào)用方式。部分代碼如下:

        int gcd(int m,int n) /*函數(shù)定義*/

        { int k;

        if(n==0)

        k=m;

        else

        k=gcd(n,m%n); /*遞歸調(diào)用*/

        return(k); /*函數(shù)返回值*/

        }

        三、傳址調(diào)用

        傳址調(diào)用方式在形式上與傳值調(diào)用方式的區(qū)別是,形參是指針變量,實(shí)參則是變量的地址。多數(shù)參數(shù)值都是通過傳值調(diào)用方式傳遞給被調(diào)函數(shù)的,但是在有些場(chǎng)合使用傳值調(diào)用并不恰當(dāng)。例如傳遞一個(gè)任意長度的數(shù)組,或者函數(shù)需要返回多個(gè)結(jié)果,或者傳遞需要占很多內(nèi)存空間的結(jié)構(gòu)體數(shù)據(jù)。遇到上述情況可以采用傳址調(diào)用方式,傳址調(diào)用使得被調(diào)函數(shù)能夠修改主調(diào)函數(shù)中變量的值,程序功能更加強(qiáng)大。

        選取求某班C語言平均成績這個(gè)案例,定義函數(shù)average求平均成績。按照傳址調(diào)用的要求,該函數(shù)的形參應(yīng)該為指針類型int*。調(diào)用時(shí)把數(shù)組名作為實(shí)參傳遞給average函數(shù)的形參,在函數(shù)中利用指針訪問數(shù)組,計(jì)算出平均成績,返回給main函數(shù)即可。代碼如下:

        #include<stdio.h>

        #define N 30

        main()

        { float average(int *p); /*函數(shù)聲明*/

        int a[N],i;

        float aver;

        for(i=0;i<N;i++)

        scanf("%d",&a[i]);

        aver=average(a); /*函數(shù)調(diào)用*/

        printf("aver=%5.2f\n",aver);

        }

        float average(int *p) /*函數(shù)定義*/

        { float aver;

        int i;

        for(i=0,aver=0;i<N;i++,p++)

        aver+=*p;

        return(aver/N); /*函數(shù)返回值*/

        }

        有的學(xué)生可能會(huì)認(rèn)為數(shù)組作為形參是一種新的函數(shù)調(diào)用方式,即函數(shù)頭部變?yōu)閒loat average(int a[N]),其實(shí)它的本質(zhì)仍然屬于傳址調(diào)用。形參數(shù)組是不單獨(dú)占據(jù)內(nèi)存空間的,實(shí)參數(shù)組和形參數(shù)組的地址相同,各個(gè)元素在內(nèi)存中是重疊存放的,占據(jù)同一段內(nèi)存空間。實(shí)際上C語言把形參數(shù)組作為指針變量來處理,這也是形參數(shù)組可以不給出長度的原因所在。

        四、結(jié)語

        傳值調(diào)用方式和傳址調(diào)用方式各有特色,傳值調(diào)用使用簡便,程序的可讀性好,傳址調(diào)用的功能則更為強(qiáng)大。在教學(xué)中應(yīng)該重點(diǎn)分析兩種函數(shù)調(diào)用方式的特點(diǎn),引導(dǎo)學(xué)生仔細(xì)體會(huì),在程序設(shè)計(jì)中根據(jù)實(shí)際情況靈活運(yùn)用。

        參考文獻(xiàn):

        [1] 王曉東. C程序設(shè)計(jì)簡明教程(第二版)[M].北京:中國水利水電出版社, 2008.

        猜你喜歡
        函數(shù)教學(xué)
        第3講 “函數(shù)”復(fù)習(xí)精講
        二次函數(shù)
        第3講 “函數(shù)”復(fù)習(xí)精講
        二次函數(shù)
        函數(shù)備考精講
        微課讓高中數(shù)學(xué)教學(xué)更高效
        甘肅教育(2020年14期)2020-09-11 07:57:50
        如何讓高中生物教學(xué)變得生動(dòng)有趣
        甘肅教育(2020年12期)2020-04-13 06:25:34
        第3講“函數(shù)”復(fù)習(xí)精講
        “自我診斷表”在高中數(shù)學(xué)教學(xué)中的應(yīng)用
        東方教育(2017年19期)2017-12-05 15:14:48
        對(duì)外漢語教學(xué)中“想”和“要”的比較
        777精品出轨人妻国产| 亚洲日本一区二区在线观看| 亚洲熟女天堂av一区二区三区| 手机在线亚洲精品网站| 女人被狂c躁到高潮视频| 香蕉视频一级片| 国产亚洲亚洲精品视频| 亚洲国产中文字幕一区| 国产精品视频免费播放| 日韩亚洲中字无码一区二区三区| 蜜臀av中文人妻系列| 风韵人妻丰满熟妇老熟女视频| 无码国产69精品久久久久孕妇| 四虎影视国产在线观看精品| 亚洲综合免费在线视频| 手机在线观看免费av网站| 国产裸体xxxx视频在线播放| 热久久亚洲| 亚洲中文字幕国产剧情| 无码a级毛片免费视频内谢5j| 国产精品白浆在线观看无码专区| 亚洲中文欧美日韩在线| 日本免费大片一区二区三区 | 久久久久夜夜夜精品国产| 香蕉视频www.5.在线观看| 强d漂亮少妇高潮在线观看 | 4455永久免费视频| 亚洲人成绝费网站色www| 91精品国产91久久综合桃花| 日韩在线不卡一区三区av| 国产精品成人3p一区二区三区| 亚洲日韩乱码中文无码蜜桃臀 | av天堂久久天堂av色综合| 久久91精品国产91久久麻豆| 国内自拍视频一区二区三区| 国产高潮视频在线观看| 美女啪啪国产| 亚洲熟女av一区少妇| 麻豆网神马久久人鬼片| 亚洲久热无码av中文字幕| 成在线人免费视频播放|