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

        ?

        C語(yǔ)言中幾種嵌套結(jié)構(gòu)的教學(xué)分析

        2018-09-17 06:24:02鄧波夏太武
        考試周刊 2018年82期

        鄧波 夏太武

        摘要:C語(yǔ)言中程序常見(jiàn)有三種嵌套結(jié)構(gòu),即選擇結(jié)構(gòu)嵌套、循環(huán)結(jié)構(gòu)嵌套、函數(shù)調(diào)用嵌套,筆者通過(guò)對(duì)以上結(jié)構(gòu)教學(xué)分析,告知讀者在使用的過(guò)程中三者的需要注意之處,對(duì)提高C語(yǔ)言學(xué)習(xí)效率很有好處。

        關(guān)鍵詞:嵌套;循環(huán);函數(shù);遞歸

        一、 引言

        接觸過(guò)C語(yǔ)言的人都知道C語(yǔ)言是一種功能強(qiáng)大的計(jì)算機(jī)編程語(yǔ)言,學(xué)好C語(yǔ)言得花很多的功夫才能學(xué)好,它功能強(qiáng)大也表現(xiàn)在自由度大、語(yǔ)句靈活、學(xué)習(xí)過(guò)程中容易出錯(cuò),像嵌套結(jié)構(gòu)就是其中容易出錯(cuò)的部分。比如在學(xué)習(xí)選擇結(jié)構(gòu)嵌套時(shí),學(xué)生們最容易出現(xiàn)else與if的配對(duì)問(wèn)題;在循環(huán)結(jié)構(gòu)嵌套時(shí),一些初值的設(shè)置問(wèn)題;在函數(shù)嵌套調(diào)用時(shí),特別是遞歸調(diào)用,正推與反推過(guò)程的理解問(wèn)題無(wú)不困擾著初學(xué)者。對(duì)此,筆者將這三種情況集中進(jìn)行了教學(xué)分析,很大程度避免易混淆、難理解問(wèn)題。

        二、 選擇結(jié)構(gòu)嵌套問(wèn)題

        C語(yǔ)言中的選擇結(jié)構(gòu)語(yǔ)句包含單分支結(jié)構(gòu)、雙分支結(jié)構(gòu)以及多分支結(jié)構(gòu),其中單分支結(jié)構(gòu)采用if語(yǔ)句完成,雙分支結(jié)構(gòu)采用if-else語(yǔ)句完成,而多分支結(jié)構(gòu)可采用if語(yǔ)句的嵌套,也可以采用else-if的嵌套,對(duì)于整型或字符型數(shù)據(jù)還可以switch語(yǔ)句以及switch的嵌套結(jié)構(gòu)來(lái)完成,由此可以看到選擇結(jié)構(gòu)嵌套形式是多樣的,下面對(duì)分段函數(shù)用if的兩種嵌套為例來(lái)介紹循環(huán)結(jié)構(gòu)的嵌套問(wèn)題,函數(shù)如下:

        注意兩個(gè)程序代碼中的嵌套部分的區(qū)別,可以看出如果采用if語(yǔ)句的嵌套,它是將復(fù)雜的部分放置在前,簡(jiǎn)單的部分放置在后,即在前面嵌套,程序中往往會(huì)連續(xù)出現(xiàn)多個(gè)if或else的情形,這個(gè)時(shí)候要注意else與if的配對(duì)問(wèn)題,象程序①中的第一個(gè)if是跟第二個(gè)else進(jìn)行配對(duì),而第二個(gè)if是跟第一個(gè)else進(jìn)行配對(duì),這是初學(xué)者一定要注意的地方,而采用else-if語(yǔ)句嵌套,它是將復(fù)雜的部分放置在后面,簡(jiǎn)單的部分放置在前面,即在后面嵌套,if跟else往往會(huì)交替出現(xiàn),這個(gè)時(shí)候二者的配對(duì)就難以混淆起來(lái),程序②中第一個(gè)if是跟第一個(gè)else進(jìn)行配對(duì),而第二個(gè)if是跟第一個(gè)else進(jìn)行配對(duì)。在if語(yǔ)句嵌套程序中,要改變if跟else的配對(duì)問(wèn)題,也就是說(shuō)if的嵌套部分就是一個(gè)單分支if語(yǔ)句,只有通過(guò)對(duì)嵌套部分添加{}來(lái)完成。

        三、 循環(huán)結(jié)構(gòu)的嵌套問(wèn)題

        循環(huán)結(jié)構(gòu)嵌套對(duì)于初學(xué)者來(lái)說(shuō)是一個(gè)麻煩問(wèn)題,大家知道循環(huán)完成的是對(duì)有規(guī)律的操作進(jìn)行重復(fù),找規(guī)律對(duì)初學(xué)者特別是文科類(lèi)學(xué)生是頭痛的,理工科學(xué)生幾分鐘能夠考慮好的算法,文科生要十幾分鐘甚至更長(zhǎng)時(shí)間才能想清楚,簡(jiǎn)單循環(huán)稍微好些,例如,設(shè)計(jì)程序求1+2+3+…+100的和,學(xué)生們上手都快,但是把程序改成1+1/2+2/3+3/4+…+99/100,就有相當(dāng)一部分學(xué)生找不到規(guī)律,或者找到了規(guī)律也不知怎么用C語(yǔ)言表示,這是跟學(xué)生的素質(zhì)有很大關(guān)系的,當(dāng)然跟老師的講授也有一定的關(guān)系。像1-(1+2)-(1+2+3)-…-(1+2+3+…+100)的求值問(wèn)題,素質(zhì)高的同學(xué)可采用單循環(huán)做,素質(zhì)一般同學(xué)的可采用循環(huán)的嵌套來(lái)做,素質(zhì)高的同學(xué)立馬想到了除了第一個(gè)數(shù)為正以外,其他每一項(xiàng)都是負(fù)的,而且每一項(xiàng)都比前一項(xiàng)多一個(gè)數(shù),這個(gè)數(shù)有規(guī)律,素質(zhì)一般的同學(xué)想到的是要用循環(huán)的嵌套,外循環(huán)做減法,內(nèi)循環(huán)做加法,每一趟加法都是沒(méi)有任何聯(lián)系的,在循環(huán)嵌套設(shè)置中,學(xué)生們感覺(jué)普遍為難的地方就是初值的設(shè)置問(wèn)題,像這個(gè)問(wèn)題,對(duì)于內(nèi)循環(huán)的求和問(wèn)題,表示和的變量應(yīng)該是每一趟都是從0開(kāi)始的,所以這個(gè)變量應(yīng)在每一趟內(nèi)循環(huán)開(kāi)始都要置0,而不能只在程序的開(kāi)始部分置0。

        程序分析:設(shè)置變量s=1-(1+2)-(1+2+3)-…-(1+2+3+…+100),它的初值設(shè)為1,外循環(huán)用變量i來(lái)表示第i項(xiàng),其初值設(shè)為2,表示從第二項(xiàng)開(kāi)始,變量t用來(lái)表示每一項(xiàng)的和,用內(nèi)循環(huán)來(lái)完成求t,代碼如下:

        同樣是對(duì)變量賦初值,變量s,i,t,j對(duì)于賦初值都有自己的方式及位置,這也是學(xué)生們要通過(guò)大量的訓(xùn)練才能熟練的。

        四、 函數(shù)嵌套調(diào)用問(wèn)題

        C語(yǔ)言中所有的函數(shù)都是級(jí)別相同的,在C語(yǔ)言中不允許函數(shù)嵌套定義,即在一個(gè)函數(shù)內(nèi)部再定義其他函數(shù),但允許嵌套調(diào)用,在函數(shù)嵌套調(diào)用中,比如主函數(shù)調(diào)用函數(shù)a,而函數(shù)a在執(zhí)行過(guò)程中又調(diào)用函數(shù)b,函數(shù)b在執(zhí)行過(guò)程中又調(diào)用函數(shù)c,這樣函數(shù)c執(zhí)行完后返回b,函數(shù)b執(zhí)行完后返回a,函數(shù)a執(zhí)行完后返回主函數(shù),這樣的函數(shù)嵌套調(diào)用需要注意的是函數(shù)的說(shuō)明、定義通常要在該函數(shù)被調(diào)用之前進(jìn)行,除非被調(diào)用的函數(shù)類(lèi)型是整型,這種調(diào)用通常層次不會(huì)很多,只要在函數(shù)調(diào)用過(guò)程中不要出現(xiàn)死鎖情況(即如函數(shù)a執(zhí)行時(shí)調(diào)用函數(shù)b,而函數(shù)b在執(zhí)行時(shí)又調(diào)用函數(shù)a,這樣就會(huì)出現(xiàn)直接死鎖,還有一種就是間接死鎖,情況如函數(shù)a執(zhí)行時(shí)調(diào)用函數(shù)b,而函數(shù)b在執(zhí)行時(shí)又調(diào)用函數(shù)c,而函數(shù)c在執(zhí)行時(shí)又調(diào)用函數(shù)a),在函數(shù)嵌套調(diào)用中,遞歸調(diào)用是最有代表性的嵌套調(diào)用,所謂遞歸就是函數(shù)在執(zhí)行過(guò)程中,調(diào)用自己本身,這種調(diào)用不是簡(jiǎn)單調(diào)用自身,而是在調(diào)用時(shí)要使問(wèn)題的規(guī)模逐漸縮小,最后達(dá)到解決問(wèn)題的目的,也就是說(shuō),一定要有結(jié)束遞歸調(diào)用的情況出現(xiàn)。例如用遞歸調(diào)用編程求5!。

        通過(guò)函數(shù)的嵌套調(diào)用,我們發(fā)現(xiàn)主函數(shù)變得簡(jiǎn)單了,程序的功能都交由被調(diào)用的函數(shù)來(lái)完成。對(duì)于遞歸調(diào)用,它的正推與反推是相對(duì)應(yīng)的,一定要有一個(gè)結(jié)束正推的情況出現(xiàn),否則就是一個(gè)有去無(wú)回的調(diào)用。

        五、 總結(jié)

        通過(guò)上述各種嵌套結(jié)構(gòu)的分析,我們了解了選擇結(jié)構(gòu)嵌套、循環(huán)結(jié)構(gòu)嵌套、函數(shù)嵌套調(diào)用等多種形式在使用過(guò)程中要注意的地方,這對(duì)于學(xué)好C語(yǔ)言這門(mén)課程是有所幫助的。

        作者簡(jiǎn)介:

        鄧波,夏太武,湖南省邵陽(yáng)市,邵陽(yáng)學(xué)院信息工程學(xué)院。

        欧美在线综合| 私人vps一夜爽毛片免费| 亚洲精品无amm毛片| 亚洲男同志gay 片可播放| 国产成人精品aaaa视频一区| 亚洲24小时免费视频| 欧美成人秋霞久久aa片| 射死你天天日| 亚洲一区二区欧美色妞影院| 日韩视频午夜在线观看| 国产麻花豆剧传媒精品mv在线| 国模欢欢炮交啪啪150| 日韩av在线毛片| 久久精品日韩免费视频| 国产欧美高清在线观看| 亚洲国产成人久久综合电影| 中文字幕国产精品中文字幕| 亚洲中文字幕一二区精品自拍| 亚洲av无码成h在线观看| 欧美人与动牲交a欧美精品| 亚洲人成影院在线高清| 天涯成人国产亚洲精品一区av| 免费无码不卡视频在线观看| 区久久aaa片69亚洲| 亚洲一区二区情侣| 第一九区另类中文字幕| 亚洲精品乱码8久久久久久日本 | 亚洲成年国产一区二区| 少妇被粗大的猛烈进出69影院一 | 久久久精品国产亚洲av网| 日本av一区二区三区视频| 极品美女aⅴ在线观看| 2021国产精品一区二区在线| 看一区二区日本视频免费| 中文字幕人妻无码视频| 亚洲一区日韩无码| 亚洲精品中文字幕乱码人妻| 99久久精品费精品国产一区二| av香港经典三级级 在线| 国产91在线|亚洲| 久久蜜桃资源一区二区|