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

        ?

        C語言中if—else語句的嵌套分析

        2012-04-29 00:44:03原立濤,李鳳玲,邸抗
        軟件工程 2012年11期
        關鍵詞:嵌套選擇分析

        原立濤,李鳳玲,邸抗

        摘要:選擇語句在C語言程序設計中廣泛使用,本文分析了C語言中選擇語句之間的關系,尤其對if-else語句的嵌套關系進行了闡述說明,在分析復雜嵌套關系時,強調else與if的對應關系,從而可以更好地理解程序,得出準確的結果。

        關鍵詞:選擇;嵌套;分析

        Select statement in C language program is widely used in design, this paper analyzes the C language statements in the relationship between the choice, especially for if-else statement nested relationship between explains, on the analysis of the complex nested relations, with emphasis on the corresponding shut if else, so as to better understand the program, draws accurate results.

        在談及if語句嵌套時,幾乎所有的教科書均給出一句經典的說明,嵌套關系的if語句之間的配對關系的判斷方法為最里邊的if和它下面的最近的else是一對。這段話,對初學者來說不太容易理解。其實,在研究if-else語句時,最重要的是先解決if語句之間是并列關系還是嵌套關系。如果是并列關系,if語句之間沒有包含關系,但if語句的執(zhí)行順序會影響變量的當前值。如果是嵌套關系,則要找到if和else之間的配對關系[1]。

        由于在else語句中可以不斷地嵌套if-else語句,形成多層嵌套,因此可以將嵌套理解為從上到下逐一對if后的表達式進行檢測。當表達式為非0時,執(zhí)行相關語句,階梯部分被越過,如果所有表達式為假,則執(zhí)行最后的else語句。這里需要注意的是,else不能省,因為如果沒有else,情況可能完全不同。

        看這樣一個簡單命題:

        if (a

        if (c= =d)y=0;

        else y=1;

        這三條語句是含義是什么呢?或許,我們可以得出這樣的結論,只要是滿足a小于b,并且滿足c與d相等條件的,結果y取值為零;不滿足的,y取值為1??此普_,仔細推敲起來就會發(fā)現(xiàn)問題[2]。首先看一下語句中唯一的else是哪一個if對應的,雖然從書寫格式上看是與第一個if對應,其實不然,讓我們看一看N—S圖,就能很清楚地得到結論。所以,該語句所表達的是一個分段函數(shù),即:

        很明顯,這里有關當a大于或等于b的結果是不存在的,亦即程序壓根就沒有對這方面做出說明,因此語句中的elsey=1是針對if (c= =d)y=0;而言,如果沒有弄清關系,則會將其他結果摻雜其中,造成錯誤。

        如果再清晰一點,我們可以在程序的后面再加上elsey=1;語句,這樣兩個else對應各自的if就再清楚不過了。因此在嵌套的if-else語句中,如果內嵌的if省略了else部分,可能在語義上產生二義性,在實際的應用中要注意第一個else與哪一個if匹配[3]。

        再比如嵌套的例子:

        main()

        {int a=8,b=6,c=4,d=2;

        if (a>b>c)

        {printf(“%d\n”,d);

        else if (c-2>=d)

        printf(“%d\n”,d+1);}

        else

        printf(“%d\n”,d+2);

        }

        本例中出現(xiàn)了多個if 和else,而且它們之間存在包含與被包含關系,即嵌套關系。很明顯第一個格式輸出函數(shù)到第二個格式輸出函數(shù)之間的語句是作為第一個if語句的真實存在的結果。而一旦首個if語句為假,那么只能執(zhí)行最后面的輸出語句。這里,雖說第二個else是與前面的else if離得最近,但由于其前面大括號的存在,也就使它與上面所提及的if沒有了任何的關系,它也只能與最先出現(xiàn)的if配成一對,完成最外圍選擇的需要。這里還要特別注意的是第一個if語句的條件a>b>c判定的結果,往往錯誤的產生,均由該條件沒有判定好而引起[4]。N—S流程如圖2所示。

        綜上所述,無論是并列關系,還是嵌套關系,對于純粹的選擇語句,稍加用心是可以區(qū)分好if與else的關系的,而實際的情況是if語句中往往摻雜著關系,或是邏輯表達式,再加上自增減表達式的存在,同時對于else的缺省,以及大括號的使用,都給程序的讀取造成一定的困難。因此需要我們進行經常性地練習,這樣才能做到熟能生巧。

        參考文獻

        [1] 李澤中.C語言程序設計[M].北京:清華大學出版,2008.

        [2] 劉玉英.C語言學習指南與解題[M].北京:中國水利水電出版社,2002.

        [3] 朝樂門.名師講堂——二級C語言[M].北京:人民郵電出版社,2007.

        [4] 郭俊鳳.C程序設計案例教程[M].北京:清華大學出版社,2009.

        猜你喜歡
        嵌套選擇分析
        例析“立幾”與“解幾”的嵌套問題
        基于嵌套Logit模型的競爭性選址問題研究
        隱蔽失效適航要求符合性驗證分析
        電力系統(tǒng)不平衡分析
        電子制作(2018年18期)2018-11-14 01:48:24
        電力系統(tǒng)及其自動化發(fā)展趨勢分析
        我國新材料產業(yè)技術創(chuàng)新方向的選擇探討
        “互聯(lián)網+”時代新聞采訪教學的困境與出路
        新聞前哨(2016年10期)2016-10-31 17:41:16
        飛機燃油系統(tǒng)對多路輸入信號源選擇的方法
        科技視界(2016年22期)2016-10-18 15:53:02
        會計計量屬性的選擇及應用
        一種基于區(qū)分服務的嵌套隊列調度算法
        計算機工程(2014年6期)2014-02-28 01:25:29
        野外少妇愉情中文字幕| 真人在线射美女视频在线观看| 日韩不卡无码三区| 国产毛片一区二区三区| 亚洲一区亚洲二区视频在线| 久久婷婷五月国产色综合| 久久久久亚洲av无码专区体验| 亚洲综合无码一区二区| 福利一区二区三区视频午夜观看| 日本高清一区二区三区视频| 白白色青青草视频免费观看| 日韩av一区二区蜜桃| 亚洲av网站在线观看一页| 日日碰狠狠添天天爽五月婷| 麻豆精产国品| 加勒比精品一区二区三区| 亚洲中文字幕乱码免费看| 蕾丝女同一区二区三区| 亚洲国产综合久久天堂| 小sao货水好多真紧h无码视频| 国产精品沙发午睡系列990531| 欧美老妇与禽交| 无码av专区丝袜专区| 日韩精品视频免费在线观看网站| 无码人妻久久久一区二区三区| 欧美牲交videossexeso欧美| 欧美人和黑人牲交网站上线| 麻豆AV免费网站| 一区二区三区不卡免费av| 亚洲毛片免费观看视频| 少妇人妻精品一区二区三区| 日韩手机在线免费视频| 日韩在线不卡一区在线观看| 午夜男女视频一区二区三区| 一区二区精品国产亚洲| 色欲网天天无码av| 日日干夜夜操高清视频| 白白色发布永久免费观看视频| 中文字幕中文字幕三区| 91精品国产综合久久久密臀九色| 国产色系视频在线观看|