3.1 程序流程結構
大家是否還記得曾經春晚上趙本山和宋丹丹演出的一個經典的小品,是有關考腦筋急轉彎的,其中有宋丹丹問趙本山:“把大象裝冰箱需要幾步?”。趙本山頓時一懵,答不出來,宋丹丹笑著說:“只需3步:第一步把冰箱門打開,第二步把大象裝進去,第三步把冰箱門關上。”惹得觀眾哄堂大笑。
為什么觀眾會笑?相信大家都明白,真正想把一頭大象裝進冰箱可不是件容易的事。首先是到哪兒找一個能放下大象的冰箱呢?好吧,即使有個廠家愿意生產出這么大的冰箱,現在冰箱門打開了,大象死活不愿意進去怎么辦?再者,就算大象被引誘進冰箱,門還沒關,它又突然跑出來了怎么辦?一大堆令人撓頭的問題和不確定的因素存在,所以想把大象裝冰箱并非一件輕而易舉的事。
編程與其有相似之處,在某些時候,可能會認為程序所要求的功能比較簡單,覺得通過幾條語句的依次(順序)執行就可以輕松完成,以這種方式編寫的程序就是具有順序執行流程的結構。也許大部分情況下,程序都能正常地運行,也能得到正確的結果。但是,萬一,不小心,會不會……由于用戶不小心輸錯數據而導致程序的錯誤或者異常,甚至造成系統的崩潰?這些問題在代碼編寫的時候就應該充分地考慮,我們需要未雨綢繆,讓編寫出的程序代碼能夠更加健壯。例如在用戶輸錯數據的情況下,程序能夠及時發現并作出反應,例如有針對性地給出信息提示,并讓程序能夠重新獲取用戶的輸入,直至輸入正確。即在依次(順序)執行的流程結構中加入檢查、判斷和重新獲取用戶輸入等這些非順序執行的流程結構,讓程序能夠自己發現錯誤、糾正錯誤。
C語言中按照程序的執行流程的不同,分為順序結構、分支結構和循環結構。下面就用一個簡單的案例來展示C語言的3種流程結構。
推薦閱讀
- R語言游戲數據分析與挖掘
- SQL基礎教程(視頻教學版)
- 組態軟件技術與應用
- Unity 2018 Shaders and Effects Cookbook
- 動手學數據結構與算法
- 現代C++編程實戰:132個核心技巧示例(原書第2版)
- 快速入門與進階:Creo 4·0全實例精講
- Unity 2018 Augmented Reality Projects
- Java Web應用開發項目教程
- Python語言科研繪圖與學術圖表繪制從入門到精通
- Windows Phone 8 Game Development
- ASP.NET Web API Security Essentials
- VMware vSphere 5.5 Cookbook
- Analytics for the Internet of Things(IoT)
- C語言程序設計教程