麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C > 正文

1.3 結(jié)構(gòu)化程序設(shè)計方法

2023-06-09 12:08:06
字體:
供稿:網(wǎng)友

程序設(shè)計的基本目標是用算法對問題的原始數(shù)據(jù)進行處理,從而獲得所期望的效果。但這僅僅是程序設(shè)計的基本要求。要全面提高程序的質(zhì)量,提高編程效率,使程序具有良好的可讀性、可靠性、可維護性以及良好的結(jié)構(gòu),編制出好的程序來,應(yīng)當是每位程序設(shè)計工作者追求的目標。而要做到這一點,就必須掌握正確的程序設(shè)計方法和技術(shù)。

1.3.1 程序的三種基本結(jié)構(gòu)

結(jié)構(gòu)化程序的概念首先是從以往編程過程中無限制地使用轉(zhuǎn)移語句而提出的。轉(zhuǎn)移語句可以使程序的控制流程強制性的轉(zhuǎn)向程序的任一處,在傳統(tǒng)流程圖中,就是用上節(jié)我們提到的"很隨意"的流程線來描述這種轉(zhuǎn)移功能。如果一個程序中多處出現(xiàn)這種轉(zhuǎn)移情況,將會導致程序流程無序可尋,程序結(jié)構(gòu)雜亂無章,這樣的程序是令人難以理解和接受的,并且容易出錯。尤其是在實際軟件產(chǎn)品的開發(fā)中,更多的追求軟件的可讀性和可修改性,象這種結(jié)構(gòu)和風ge的程序是不允許出現(xiàn)的。為此提出了程序的三種基本結(jié)構(gòu)。

在討論算法時我們列舉了程序的順序、選擇和循環(huán)三種控制流程,這就是結(jié)構(gòu)化程序設(shè)計方法強調(diào)使用的三種基本結(jié)構(gòu)。算法的實現(xiàn)過程是由一系列操作組成的,這些操作之間的執(zhí)行次序就是程序的控制結(jié)構(gòu)。1996年,計算機科學家Bohm和Jacopini證明了這樣的事實:任何簡單或復雜的算法都可以由順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)這三種基本結(jié)構(gòu)組合而成。所以,這三種結(jié)構(gòu)就被稱為程序設(shè)計的三種基本結(jié)構(gòu)。也是結(jié)構(gòu)化程序設(shè)計必須采用的結(jié)構(gòu)。

1. 順序結(jié)構(gòu)

順序結(jié)構(gòu)表示程序中的各操作是按照它們出現(xiàn)的先后順序執(zhí)行的,其流程如圖1-6所示。圖中的s1和s2表示兩個處理步驟,這些處理步驟可以是一個非轉(zhuǎn)移操作或多個非轉(zhuǎn)移操作序列,甚至可以是空操作,也可以是三種基本結(jié)構(gòu)中的任一結(jié)構(gòu)。整個順序結(jié)構(gòu)只有一個入口點a和一個出口點b。這種結(jié)構(gòu)的特點是:程序從入口點a開始,按順序執(zhí)行所有操作,直到出口點b處,所以稱為順序結(jié)構(gòu)。上一節(jié)圖1-2表示的就是一個順序結(jié)構(gòu)的流程圖。事實上,不論程序中包含了什么樣的結(jié)構(gòu),而程序的總流程都是順序結(jié)構(gòu)的。例如,在圖1-3、圖1-4和圖1-5所表示的流程圖中,其總體結(jié)構(gòu)流程都是自上而下順序執(zhí)行的。

2.選擇結(jié)構(gòu)

選擇結(jié)構(gòu)表示程序的處理步驟出現(xiàn)了分支,它需要根據(jù)某一特定的條件選擇其中的一個分支執(zhí)行。選擇結(jié)構(gòu)有單選擇、雙選擇和多選擇三種形式。

雙選擇是典型的選擇結(jié)構(gòu)形式,其流程如圖1-8所示,圖中的s1和s2與順序結(jié)構(gòu)中的說明相同。由圖中可見,在結(jié)構(gòu)的入口點a處是一個判斷框,表示程序流程出現(xiàn)了兩個可供選擇的分支,如果條件滿足執(zhí)行s1處理,否則執(zhí)行s2處理。值得注意的是,在這兩個分支中只能選擇一條且必須選擇一條執(zhí)行,但不論選擇了哪一條分支執(zhí)行,最后流程都一定到達結(jié)構(gòu)的出口點b處。前面的圖1-3中就采用了雙選擇結(jié)構(gòu)流程圖。

當s1和s2中的任意一個處理為空時,說明結(jié)構(gòu)中只有一個可供選擇的分支,如果條件滿足執(zhí)行s1處理,否則順序向下到流程出口b處。也就是說,當條件不滿足時,什么也沒執(zhí)行,所以稱為單選擇結(jié)構(gòu),如圖1-7所示。

多選擇結(jié)構(gòu)是指程序流程中遇到如圖1-9所示的s1、s2、……、sn等多個分支,程序執(zhí)行方向?qū)⒏鶕?jù)條件確定。如果滿足條件1則執(zhí)行s1處理,如果滿足條件n則執(zhí)行Sn處理,總之要根據(jù)判斷條件選擇多個分支的其中之一執(zhí)行。不論選擇了哪一條分支,最后流程要到達同一個出口處。如果所有分支的條件都不滿足,則直接到達出口。有些程序語言不支持多選擇結(jié)構(gòu),但所有的結(jié)構(gòu)化程序設(shè)計語言都是支持的,C語言是面向過程的結(jié)構(gòu)化程序設(shè)計語言,它可以非常簡便的實現(xiàn)這一功能。本書在第五章將詳細介紹各種形式的選擇結(jié)構(gòu)應(yīng)用問題。

3.循環(huán)結(jié)構(gòu)

循環(huán)結(jié)構(gòu)表示程序反復執(zhí)行某個或某些操作,直到某條件為假(或為真)時才可終止循環(huán)。在循環(huán)結(jié)構(gòu)中最主要的是:什么情況下執(zhí)行循環(huán)?哪些操作需要循環(huán)執(zhí)行?循環(huán)結(jié)構(gòu)的基本形式有兩種:當型循環(huán)和直到型循環(huán),其流程如圖1-10所示。圖中虛線框內(nèi)的操作稱為循環(huán)體,是指從循環(huán)入口點a到循環(huán)出口點b之間的處理步驟,這就是需要循環(huán)執(zhí)行的部分。而什么情況下執(zhí)行循環(huán)則要根據(jù)條件判斷。

當型結(jié)構(gòu):表示先判斷條件,當滿足給定的條件時執(zhí)行循環(huán)體,并且在循環(huán)終端處流程自動返回到循環(huán)入口;如果條件不滿足,則退出循環(huán)體直接到達流程出口處。因為是"當條件滿足時執(zhí)行循環(huán)",即先判斷后執(zhí)行,所以稱為當型循環(huán)。其流程如圖1-10(a)所示。

直到型循環(huán):表示從結(jié)構(gòu)入口處直接執(zhí)行循環(huán)體,在循環(huán)終端處判斷條件,如果條件不滿足,返回入口處繼續(xù)執(zhí)行循環(huán)體,直到條件為真時再退出循環(huán)到達流程出口處,是先執(zhí)行后判斷。因為是"直到條件為真時為止",所以稱為直到型循環(huán)。其流程如圖1-10(b)所示。本章圖1-5用迭代法求和的流程圖就是一個典型的直到型循環(huán)結(jié)構(gòu)。

同樣,循環(huán)型結(jié)構(gòu)也只有一個入口點a和一個出口點b,循環(huán)終止是指流程執(zhí)行到了循環(huán)的出口點。圖中所表示的S處理可以是一個或多個操作,也可以是一個完整的結(jié)構(gòu)或一個過程。

整個虛線框中是一個循環(huán)結(jié)構(gòu)。

通過三種基本控制結(jié)構(gòu)可以看到,結(jié)構(gòu)化程序中的任意基本結(jié)構(gòu)都具有唯一入口和唯一出口,并且程序不會出現(xiàn)死循環(huán)。在程序的靜態(tài)形式與動態(tài)執(zhí)行流程之間具有良好的對應(yīng)關(guān)系。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 美女性感毛片 | 麻豆91精品91久久久 | 久久精品视频免费观看 | 成人毛片视频在线播放 | 欧美高清第一页 | 九九热视频这里只有精品 | 国产免费福利视频 | 国产精品麻豆一区二区三区 | www.狠狠插.com | 桥本有菜免费av一区二区三区 | 在线播放免费人成毛片乱码 | 午夜精品老牛av一区二区三区 | 黄色av免费网站 | www.guochanav.com| 精品一区二区在线播放 | 超碰97在线人人 | 96视频在线免费观看 | 91香草视频 | 深夜福利视频免费观看 | 色播亚洲 | 狠狠操精品视频 | 国产成人精品免高潮在线观看 | 一级黄色免费 | 中国女人内谢69xxxx天美 | free korean xxxxhd| 国产中文av在线 | 欧美成年私人网站 | 日日鲁夜夜视频热线播放 | 宅男噜噜噜66国产在线观看 | 91网站免费在线观看 | 久久精品一区二区三 | 久久精品2019中文字幕 | 久啪视频 | 欧美 国产 综合 | 成人精品一区二区 | 成人免费网站在线观看视频 | 黄在线免费看 | 久久狠狠高潮亚洲精品 | 国产喷白浆10p | 亚洲午夜久久久精品一区二区三区 | 成年人免费视频播放 |