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

        ?

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

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

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

        二、傳值調(diào)用

        傳值調(diào)用是在高級語言中普遍存在的函數(shù)調(diào)用方式,其形參和實參均為普通變量。在函數(shù)調(diào)用時把實參的值從左至右,一一對應(yīng)地傳遞給各個形參。這種傳遞是單向的,類似變量賦值,形參的值發(fā)生變化對實參毫無影響。選用求兩個整數(shù)的最大公約數(shù)這個程序作為案例,讓學(xué)生直觀認(rèn)識到函數(shù)定義、調(diào)用以及返回值等各個要素。定義一個gcd函數(shù)負(fù)責(zé)求最大公約數(shù),兩個形參均設(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é)生可能會認(rèn)為函數(shù)遞歸調(diào)用是一種新的調(diào)用方式,其實它是函數(shù)嵌套調(diào)用的特殊形式,本質(zhì)仍然屬于傳值調(diào)用。再次選取求最大公約數(shù)這個案例,采用遞歸調(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ù)值都是通過傳值調(diào)用方式傳遞給被調(diào)函數(shù)的,但是在有些場合使用傳值調(diào)用并不恰當(dāng)。例如傳遞一個任意長度的數(shù)組,或者函數(shù)需要返回多個結(jié)果,或者傳遞需要占很多內(nèi)存空間的結(jié)構(gòu)體數(shù)據(jù)。遇到上述情況可以采用傳址調(diào)用方式,傳址調(diào)用使得被調(diào)函數(shù)能夠修改主調(diào)函數(shù)中變量的值,程序功能更加強(qiáng)大。

        選取求某班C語言平均成績這個案例,定義函數(shù)average求平均成績。按照傳址調(diào)用的要求,該函數(shù)的形參應(yīng)該為指針類型int*。調(diào)用時把數(shù)組名作為實參傳遞給average函數(shù)的形參,在函數(shù)中利用指針訪問數(shù)組,計算出平均成績,返回給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é)生可能會認(rèn)為數(shù)組作為形參是一種新的函數(shù)調(diào)用方式,即函數(shù)頭部變?yōu)閒loat average(int a[N]),其實它的本質(zhì)仍然屬于傳址調(diào)用。形參數(shù)組是不單獨(dú)占據(jù)內(nèi)存空間的,實參數(shù)組和形參數(shù)組的地址相同,各個元素在內(nèi)存中是重疊存放的,占據(jù)同一段內(nèi)存空間。實際上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ì)體會,在程序設(shè)計中根據(jù)實際情況靈活運(yùn)用。

        參考文獻(xiàn):

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

        猜你喜歡
        教學(xué)
        微課讓高中數(shù)學(xué)教學(xué)更高效
        甘肅教育(2020年14期)2020-09-11 07:57:50
        「微寫作」教學(xué)實踐的思考
        “以讀促寫”在初中寫作教學(xué)中的應(yīng)用
        如何讓高中生物教學(xué)變得生動有趣
        甘肅教育(2020年12期)2020-04-13 06:25:34
        談高中音樂欣賞教學(xué)中的“聽、看、想、說、動”
        “自我診斷表”在高中數(shù)學(xué)教學(xué)中的應(yīng)用
        東方教育(2017年19期)2017-12-05 15:14:48
        對外漢語教學(xué)中“想”和“要”的比較
        對識譜教學(xué)的認(rèn)識與思考
        《可以預(yù)約的雪》教學(xué)探索與思考
        對高等數(shù)學(xué)教學(xué)的一些思考
        国产福利一区二区三区视频在线看| 日韩女优精品一区二区三区| 欧美日韩中文字幕日韩欧美| 一区二区三区国产亚洲网站| 国产一级自拍av播放| 中文字幕女优av在线| 国产免费久久精品99久久| 真人新婚之夜破苞第一次视频| 亚洲另类国产综合第一| 国产成人AV乱码免费观看| 青青草伊人视频在线观看| 在线国产激情视频观看| 亚洲av无码精品国产成人| 国产日产高清欧美一区| 日子2020一区二区免费视频| 国产男女猛烈无遮挡免费视频网址 | 亚洲天堂av免费在线看| 青青草精品在线免费观看| 男人国产av天堂www麻豆| 国产精品久久久| 人妖精品视频在线观看| 国产伦理一区二区久久精品| 精品+无码+在线观看| 又黄又爽又色的视频| 亚洲无码一二专区| 中文字幕你懂的一区二区| 亚洲成av人片在线观看| 成年无码av片完整版| 国产精品激情综合久久| 激情五月天在线观看视频| 毛片免费视频在线观看| 久久青青热| 蜜桃av噜噜一区二区三区免费| 人妻精品视频一区二区三区| 五级黄高潮片90分钟视频| 亚洲女同成av人片在线观看| 中文字幕午夜精品一区二区三区| 草草地址线路①屁屁影院成人| 天堂在线www中文| 日韩在线视精品在亚洲| 国产视频在线观看一区二区三区|