千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > 為什么C/C用順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)就能實(shí)現(xiàn)所有功能?

為什么C/C用順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)就能實(shí)現(xiàn)所有功能?

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-10-11 07:21:27 1696980087

一、為什么C/C用順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)就能實(shí)現(xiàn)所有功能

其實(shí)只是說(shuō)結(jié)構(gòu)化語(yǔ)言,可以用順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)來(lái)描述全部的算法而已。

順序結(jié)構(gòu):從頭到尾一句接著一句的執(zhí)行下來(lái),直到執(zhí)行完最后一句;

選擇結(jié)構(gòu):到某個(gè)節(jié)點(diǎn)后,會(huì)根據(jù)一次判斷的結(jié)果來(lái)決定之后向哪一個(gè)分支方向執(zhí)行;

循環(huán)結(jié)構(gòu):循環(huán)結(jié)構(gòu)有一個(gè)循環(huán)體,循環(huán)體里是一段代碼。對(duì)于循環(huán)結(jié)構(gòu)來(lái)說(shuō),關(guān)鍵在于根據(jù)判斷的結(jié)果,來(lái)決定循環(huán)體執(zhí)行多少次;

注:在邏輯上有一種bool類型(也叫boolean類型,布爾類型),只有兩個(gè)值,即真和假。C語(yǔ)言的判斷表達(dá)式最終的值就是一個(gè)bool類型,這個(gè)判斷表達(dá)式的bool值就決定了選擇結(jié)構(gòu)如何選擇,循環(huán)結(jié)構(gòu)如何循環(huán)。

需要編程解決的問(wèn)題邏輯紛繁復(fù)雜,程序設(shè)計(jì)語(yǔ)言里面為什么只有三種基本的程序結(jié)構(gòu)就夠用了?

對(duì)于程序設(shè)計(jì)語(yǔ)言中的三種基本結(jié)構(gòu):順序、選擇、循環(huán),大家應(yīng)該都比較熟悉了,確實(shí)也只有這些。

其實(shí),這個(gè)問(wèn)題是經(jīng)過(guò)嚴(yán)格證明過(guò)的。1966年,計(jì)算機(jī)科學(xué)家 Bohm 和 Jacopini 證明了這樣的事實(shí):任何簡(jiǎn)單或復(fù)雜的算法都可以由順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)這三種基本結(jié)構(gòu)組合而成。所以,這三種結(jié)構(gòu)就被稱為程序設(shè)計(jì)的三種基本結(jié)構(gòu)。也是 結(jié)構(gòu)化程序設(shè)計(jì) 必須采用的結(jié)構(gòu)。想詳細(xì)了解的可以去看下論文:Bohm C., Jacopini G. “Flow diagrams, Turing machines and languages with only two formation rules.” Communications of the Association for Computing Machinery, Vol.9, pp. 366–371. 1966.

荷蘭學(xué)者Dijkstra1968年提出了“結(jié)構(gòu)化程序設(shè)計(jì)”的思想,它規(guī)定了一套方法,使程序具有合理的結(jié)構(gòu),以保證和驗(yàn)證程序的正確性,這種方法要求程序設(shè)計(jì)者不能隨心所欲地編寫(xiě)程序,而要按照一定的結(jié)構(gòu)形式來(lái)設(shè)計(jì)和編寫(xiě)程序,它的一個(gè)重要目的是使程序具有良好的結(jié)構(gòu),使程序易于設(shè)計(jì),易于理解,易于調(diào)試修改,以提高設(shè)計(jì)和維護(hù)程序工作的效率。

結(jié)構(gòu)化程序規(guī)定了以下三種基本結(jié)構(gòu)作為程序的基本單元: 以上三種基本結(jié)構(gòu)可以派生出其它形式的結(jié)構(gòu).由這三種基本結(jié)構(gòu)所構(gòu)成的算法可以處理任何復(fù)雜的問(wèn)題.所謂結(jié)構(gòu)化程序就是由這三種基本結(jié)構(gòu)所組成的程序.可以看到,三種基本結(jié)構(gòu)都具有以下特點(diǎn):①有一個(gè)入口.②有一個(gè)出口.③結(jié)構(gòu)中每一部分都應(yīng)當(dāng)有被執(zhí)行到的機(jī)會(huì),也就是說(shuō),每一部分都應(yīng)當(dāng)有一條從入口到出口的路徑通過(guò)它(至少通過(guò)一次).④沒(méi)有死循環(huán)(無(wú)終止的循環(huán)).

按結(jié)構(gòu)化程序設(shè)計(jì)方法設(shè)計(jì)出的程序優(yōu)點(diǎn)是:結(jié)構(gòu)良好、各模塊間的關(guān)系清晰簡(jiǎn)單、每一模塊內(nèi)都由基本單元組成。這樣設(shè)計(jì)出的程序清晰易讀,可理解性好,容易設(shè)計(jì),容易驗(yàn)證其正確性,也容易維護(hù)。同時(shí),由于采用了“自頂向下、逐步細(xì)化”的實(shí)施方法,能有效地組織人們的智力,有利于軟件的工程化開(kāi)發(fā)。

延伸閱讀:

二、goto語(yǔ)句

C語(yǔ)言提供了可以使用的goto語(yǔ)句和標(biāo)記跳轉(zhuǎn)的標(biāo)號(hào)。理論上goto語(yǔ)句沒(méi)有使用必要(容易代碼邏輯錯(cuò)造成隨意跳轉(zhuǎn)),但在深層循環(huán)嵌套使用break達(dá)不到目的。而可以使用goto可以解決

語(yǔ)法

標(biāo)號(hào):

??語(yǔ)句;

if(表達(dá)式)

??goto 標(biāo)號(hào);

標(biāo)號(hào):表達(dá)需要跳轉(zhuǎn)的位置

goto 標(biāo)號(hào):跳到哪個(gè)標(biāo)號(hào)去

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
軟件架構(gòu)如何能夠滿足ASPICE流程?

一、軟件架構(gòu)如何能夠滿足ASPICE流程架構(gòu)的用途是把整個(gè)產(chǎn)品劃分為更為細(xì)節(jié)的板塊:軟件、硬件、通信等。在這個(gè)基礎(chǔ)上軟件整體將按照用途、功能...詳情>>

2023-10-11 08:47:00
紅黑樹(shù)為什么叫紅黑樹(shù)?

一、紅黑樹(shù)叫紅黑樹(shù)的原因紅黑樹(shù)(Red-Black Tree)是一種自平衡的二叉搜索樹(shù)(Binary Search Tree),其在插入和刪除操作時(shí)能夠自動(dòng)調(diào)整樹(shù)的結(jié)...詳情>>

2023-10-11 08:42:41
為什么數(shù)組索引數(shù)據(jù)那么快速、有效?

一、數(shù)組索引數(shù)據(jù)快速、有效的原因1、連續(xù)內(nèi)存存儲(chǔ)數(shù)組在內(nèi)存中是連續(xù)存儲(chǔ)的,數(shù)組的元素在內(nèi)存中按照一定的順序排列,相鄰元素之間沒(méi)有間隔。...詳情>>

2023-10-11 08:36:19
數(shù)據(jù)結(jié)構(gòu)里的逐點(diǎn)插入法、排序二叉樹(shù)是什么?

一、數(shù)據(jù)結(jié)構(gòu)里的逐點(diǎn)插入法、排序二叉樹(shù)逐點(diǎn)插入法三角剖分是一種研究方法。三角剖分≠TIN三角剖分是代數(shù)拓?fù)鋵W(xué)里最基本的研究方法。 以曲面為...詳情>>

2023-10-11 08:08:01
在數(shù)據(jù)結(jié)構(gòu)中i=L->length是什么意思?

一、在數(shù)據(jù)結(jié)構(gòu)中i=L->length是什么意思在數(shù)據(jù)結(jié)構(gòu)中,i=L->length通常表示一個(gè)線性表L的長(zhǎng)度,即L中元素的個(gè)數(shù)。線性表是一種數(shù)據(jù)結(jié)構(gòu),它由n...詳情>>

2023-10-11 07:54:48
快速通道
久久亚洲中文字幕精品一区四,亚洲日本另类欧美一区二区,久久久久久久这里只有免费费精品,高清国产激情视频在线观看
亚洲日韩精品一区粉嫩 | 日韩欧美另类一区精品在线 | 一本一道DVD在线观看免费视频 | 色婷婷视频一区二区三区 | 亚洲视频在线看 | 亚洲老鸭窝一区二区 |