本文介紹了結(jié)構(gòu)化程序設(shè)計(jì)和模塊化結(jié)構(gòu)的知識(shí)。
1.結(jié)構(gòu)化程序設(shè)計(jì)
結(jié)構(gòu)化程序由三種基本結(jié)構(gòu)組成。
(1)順序結(jié)構(gòu)。賦值語(yǔ)句、輸入、輸出語(yǔ)句都是順序結(jié)構(gòu)。當(dāng)執(zhí)行由這些語(yǔ)句構(gòu)成的程序時(shí),將按這些語(yǔ)句在程序中的先后順序逐條執(zhí)行,沒(méi)有分支,沒(méi)有轉(zhuǎn)移。順序結(jié)構(gòu)可用圖1所示的流程圖表示,其中(a)是一般的流程圖,(b)是n-s流程圖。

圖1 順序結(jié)構(gòu)流程圖
(2)選擇結(jié)構(gòu)。C語(yǔ)言的選擇結(jié)構(gòu)主要由if語(yǔ)句和switch語(yǔ)句構(gòu)成。當(dāng)執(zhí)行到這些語(yǔ)句時(shí),將根據(jù)不同的條件去執(zhí)行不同分支中的語(yǔ)句。選擇結(jié)構(gòu)可用圖2所示的流程圖表示,其中(a)是一般的流程圖,(b)是n-s流程圖。

圖2 選擇結(jié)構(gòu)流程圖
(3)循環(huán)結(jié)構(gòu)。C語(yǔ)言的循環(huán)結(jié)構(gòu)主要有while語(yǔ)句、do...while語(yǔ)句和for語(yǔ)句構(gòu)成。它們將根據(jù)各自的條件,使同一組語(yǔ)句重復(fù)執(zhí)行多次或一次也不執(zhí)行。循環(huán)結(jié)構(gòu)的流程圖如圖3和圖4所示,每個(gè)圖中(a)是一般的流程圖,(b)是n-s流程圖。圖4是當(dāng)型循環(huán)流程圖。當(dāng)型循環(huán)的特點(diǎn)是:當(dāng)指定的條件滿足(成立)時(shí),就執(zhí)行循環(huán)體,否則就不執(zhí)行。圖5是直到型循環(huán)流程圖。直到型循環(huán)的特點(diǎn)是:執(zhí)行循環(huán)體直到指定的條件滿足(成立)時(shí)就不再執(zhí)行循環(huán)體。

圖3 當(dāng)型循環(huán)流程圖

圖4 直到型循環(huán)流程圖
已經(jīng)證明,由三種基本結(jié)構(gòu)組成的算法可以解決j任何復(fù)雜的問(wèn)題。由三種基本結(jié)構(gòu)所構(gòu)成的算法稱為結(jié)構(gòu)化算法;由三種基本結(jié)構(gòu)所構(gòu)成的程序稱為結(jié)構(gòu)化程序。
2.模塊化結(jié)構(gòu)
當(dāng)計(jì)算機(jī)處理復(fù)雜任務(wù)時(shí),所編寫(xiě)的程序經(jīng)常很長(zhǎng),對(duì)一個(gè)程序設(shè)計(jì)者來(lái)說(shuō),工作量很大,程序結(jié)構(gòu)也顯得復(fù)雜。這時(shí)常常把這個(gè)復(fù)雜的較大的任務(wù)分解為若干個(gè)子任務(wù),每個(gè)子任務(wù)再繼續(xù)分解,直到每個(gè)小的子任務(wù)只完成一項(xiàng)簡(jiǎn)單的功能。
程序設(shè)計(jì)時(shí),用一個(gè)個(gè)小的模塊來(lái)完成,程序設(shè)計(jì)人員分別完成其中的一個(gè)或多個(gè)小模塊,由若干程序設(shè)計(jì)人員共同完成程序設(shè)計(jì)。這種程序設(shè)計(jì)的方法稱為“模塊化程序設(shè)計(jì)”,由一個(gè)個(gè)小的功能模塊構(gòu)成的程序結(jié)構(gòu)稱為模塊化結(jié)構(gòu)。
這樣,同以軟件可以由若干人來(lái)完成,分別進(jìn)行調(diào)試,可以提高程序編制的效率。
C語(yǔ)言是一種結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言。他提供了三種基本結(jié)構(gòu)語(yǔ)句;提供了定義“函數(shù)”的功能,可以完成子程序的所有功能;C語(yǔ)言允許對(duì)函數(shù)進(jìn)行單獨(dú)編譯,從而可以實(shí)現(xiàn)模塊化。
新聞熱點(diǎn)
疑難解答
圖片精選