• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

      2018-09-17 06:24:02鄧波夏太武
      考試周刊 2018年82期
      關(guān)鍵詞:循環(huán)嵌套函數(shù)

      鄧波 夏太武

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

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

      一、 引言

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

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

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

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

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

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

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

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

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

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

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

      五、 總結(jié)

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

      作者簡介:

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

      猜你喜歡
      循環(huán)嵌套函數(shù)
      例析“立幾”與“解幾”的嵌套問題
      基于嵌套Logit模型的競爭性選址問題研究
      二次函數(shù)
      第3講 “函數(shù)”復(fù)習(xí)精講
      二次函數(shù)
      函數(shù)備考精講
      PDCA循環(huán)在持續(xù)改進領(lǐng)導(dǎo)教育質(zhì)量中的應(yīng)用
      淺析英語詞匯記憶策略
      青春歲月(2016年20期)2016-12-21 12:29:31
      分層、過濾、循環(huán)教學(xué)法初探*
      新一代(2016年15期)2016-11-16 17:34:11
      物質(zhì)能量循環(huán)理論
      科技視界(2016年7期)2016-04-01 20:05:33
      保亭| 泉州市| 新竹县| 荣昌县| 昭平县| 黄山市| 泗水县| 铜陵市| 灌云县| 建德市| 黔东| 澳门| 万盛区| 郯城县| 乐清市| 塔河县| 台北市| 璧山县| 兴义市| 正镶白旗| 漯河市| 文安县| 舞阳县| 乐业县| 洛隆县| 绩溪县| 开平市| 凤冈县| 弥勒县| 尖扎县| 武定县| 新源县| 肃北| 淮安市| 永嘉县| 拉萨市| 贺兰县| 邳州市| 内黄县| 女性| 桐庐县|