999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人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語句的執行順序會影響變量的當前值。如果是嵌套關系,則要找到if和else之間的配對關系[1]。

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

看這樣一個簡單命題:

if (a

if (c= =d)y=0;

else y=1;

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

很明顯,這里有關當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);

}

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

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

參考文獻

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

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

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

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

猜你喜歡
選擇分析
隱蔽失效適航要求符合性驗證分析
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
電力系統及其自動化發展趨勢分析
探索“五選四變”對中職教育改革的創新與實踐
職業(2016年11期)2016-11-23 20:30:37
聽《師說》公開課之我見
南北橋(2016年10期)2016-11-10 16:43:01
我國新材料產業技術創新方向的選擇探討
“互聯網+”時代新聞采訪教學的困境與出路
新聞前哨(2016年10期)2016-10-31 17:41:16
飛機燃油系統對多路輸入信號源選擇的方法
科技視界(2016年22期)2016-10-18 15:53:02
會計計量屬性的選擇及應用
企業導報(2016年9期)2016-05-26 20:31:26
中西醫結合治療抑郁癥100例分析
主站蜘蛛池模板: 精品国产www| 亚洲最新在线| www亚洲天堂| 婷婷综合色| 亚洲男人在线天堂| 欧美国产日韩在线观看| 免费不卡在线观看av| 69av在线| 免费一级α片在线观看| 国产福利小视频在线播放观看| 天天色综网| 丰满人妻被猛烈进入无码| 成人日韩欧美| 99视频在线免费| 精品少妇人妻一区二区| 91福利国产成人精品导航| 婷五月综合| 国产精品真实对白精彩久久 | 国产色爱av资源综合区| 亚洲天堂成人在线观看| 99精品视频在线观看免费播放| 精品久久香蕉国产线看观看gif| 一区二区午夜| 免费欧美一级| 一级毛片在线免费视频| 国产91无码福利在线| 国产二级毛片| 中文字幕2区| 国产精品久久自在自2021| 美女无遮挡拍拍拍免费视频| 91免费观看视频| 婷婷六月色| 2021国产精品自拍| 成人伊人色一区二区三区| 亚洲国产无码有码| 国内精品视频| 黄色网址免费在线| 久久久久国产精品熟女影院| 亚洲国产综合第一精品小说| 国产亚洲精品自在久久不卡| 精品少妇人妻av无码久久| 福利在线免费视频| 中文字幕无码制服中字| 综合色88| 亚洲精品国产综合99久久夜夜嗨| 亚洲精品国产成人7777| 91精品亚洲| 色AV色 综合网站| 免费xxxxx在线观看网站| 欧美成一级| 国产麻豆永久视频| 在线观看国产小视频| 国产91久久久久久| 国产免费自拍视频| 国产高清又黄又嫩的免费视频网站| 伊人久久婷婷五月综合97色| 国产一区二区丝袜高跟鞋| 欧美区一区| 国产福利免费观看| 欧美三级自拍| 天天干伊人| 午夜爽爽视频| 国产成在线观看免费视频| 国产成年无码AⅤ片在线| 在线国产综合一区二区三区 | 日韩欧美中文| 亚洲高清中文字幕| 大香网伊人久久综合网2020| 精品一区二区三区视频免费观看| 日日拍夜夜嗷嗷叫国产| 日韩一区精品视频一区二区| 日韩在线第三页| 22sihu国产精品视频影视资讯| 日韩av无码DVD| 国产屁屁影院| 欧美啪啪精品| 亚洲精品手机在线| 99精品在线视频观看| 白浆视频在线观看| 99热亚洲精品6码| 二级毛片免费观看全程| 国产91特黄特色A级毛片|