1.1 程序設(shè)計(jì)和程序設(shè)計(jì)語(yǔ)言
1.程序
從最一般的意義來(lái)說(shuō),程序是對(duì)解決某個(gè)計(jì)算問題的方法(算法)步驟的一種描述;而從計(jì)算機(jī)來(lái)說(shuō),計(jì)算機(jī)程序是用某種計(jì)算機(jī)能理解并執(zhí)行的計(jì)算機(jī)語(yǔ)言作為描述語(yǔ)言,對(duì)解決問題的方法步驟的描述。計(jì)算機(jī)執(zhí)行按程序所描述的方法步驟,能完成指定的功能。所以,程序就是供計(jì)算機(jī)執(zhí)行后能完成特定功能的指令序列。
一個(gè)計(jì)算機(jī)程序主要描述兩部分內(nèi)容:描述問題的每個(gè)對(duì)象和對(duì)象之間的關(guān)系,以及描述對(duì)這些對(duì)象作處理的處理規(guī)則。其中關(guān)于對(duì)象及對(duì)象之間的關(guān)系是數(shù)據(jù)結(jié)構(gòu)的內(nèi)容,而處理規(guī)則是求解的算法。針對(duì)問題所涉及的對(duì)象和要完成的處理,設(shè)計(jì)合理的數(shù)據(jù)結(jié)構(gòu)常可有效地簡(jiǎn)化算法,數(shù)據(jù)結(jié)構(gòu)和算法是程序最主要的兩個(gè)方面。
2.程序設(shè)計(jì)的任條和主要步驟
程序設(shè)計(jì)的任務(wù)就是分析解決問題的方法步驟(算法),并將解決問題算法的方法步驟用計(jì)算機(jī)語(yǔ)言記錄下來(lái)。程序設(shè)計(jì)的主要步驟包括:認(rèn)識(shí)問題、設(shè)計(jì)解決問題的算法、按算法編寫程序、調(diào)試和測(cè)試程序。在程序開發(fā)過程中,上述步驟可能有反復(fù),如發(fā)現(xiàn)程序有錯(cuò),嚴(yán)重情況可能會(huì)要求重新認(rèn)識(shí)問題和重新設(shè)計(jì)算法等。
3.機(jī)器語(yǔ)言和匯編語(yǔ)言
計(jì)算機(jī)能直接識(shí)別和執(zhí)行的二進(jìn)制代碼稱為計(jì)算機(jī)的機(jī)器語(yǔ)言。用有助于記憶的符號(hào)來(lái)代表二進(jìn)制代碼,稱為匯編語(yǔ)言。匯編語(yǔ)言與機(jī)器語(yǔ)言幾乎有一對(duì)一的關(guān)系。用匯編語(yǔ)言編寫的程序稱為“匯編源程序”,匯編源程序不能在計(jì)算機(jī)上直接執(zhí)行,需要用匯編程序?qū)R編源程序翻譯成機(jī)器語(yǔ)言程序,然后執(zhí)行由匯編程序翻譯出來(lái)的機(jī)器語(yǔ)言程序。機(jī)器語(yǔ)言和匯編語(yǔ)言是與具體計(jì)算機(jī)緊密相關(guān)的,稱它們是面向機(jī)器的語(yǔ)言。
4.高級(jí)語(yǔ)言
與機(jī)器語(yǔ)言和匯編語(yǔ)言相比較,高級(jí)語(yǔ)言與具體計(jì)算機(jī)無(wú)關(guān),是一種能方便描述算法過程的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。高級(jí)語(yǔ)言種類千差萬(wàn)別,但一般包含有以下四種成分:數(shù)據(jù)成分用來(lái)描述程序所涉及的數(shù)據(jù);運(yùn)算成分用來(lái)描述運(yùn)算;控制成分用來(lái)表達(dá)程序的控制構(gòu)造;傳輸成分用來(lái)表達(dá)數(shù)據(jù)的傳輸。由于高級(jí)語(yǔ)言程序主要是描述計(jì)算機(jī)的解題過程,即描述復(fù)雜的加工處理過程,所以也稱這種高級(jí)語(yǔ)言為面向過程語(yǔ)言。
用高級(jí)語(yǔ)言編寫的程序稱為“源程序”。計(jì)算機(jī)不能直接技源程序的語(yǔ)句運(yùn)行,通常有解釋方式和編譯方式兩種方法在計(jì)算機(jī)上執(zhí)行源程序。
解釋方式,即讓計(jì)算機(jī)運(yùn)行解釋程序,解釋程序逐句取出源程序中的語(yǔ)句,對(duì)它作解釋執(zhí)行,輸入數(shù)據(jù),產(chǎn)生結(jié)果。
編譯方式,即先運(yùn)行編譯程序,從源程序一次翻譯產(chǎn)生計(jì)算機(jī)可直接執(zhí)行的二進(jìn)制程序(稱為目標(biāo)程序);然后讓計(jì)算機(jī)執(zhí)行目標(biāo)程序,輸入數(shù)據(jù),產(chǎn)生結(jié)果。
解釋方式的主要優(yōu)點(diǎn)是計(jì)算機(jī)與人的交互性好,調(diào)試程序時(shí),能一邊執(zhí)行一邊直接改錯(cuò),能較快得到一個(gè)正確的程序。缺點(diǎn)是逐句解釋執(zhí)行,運(yùn)行速度慢。
編譯方式的主要優(yōu)點(diǎn)是計(jì)算機(jī)運(yùn)行目標(biāo)程序快,缺點(diǎn)是修改源程序后必須重新編譯以產(chǎn)生新的目標(biāo)程序。
現(xiàn)在也有將上述兩種方式結(jié)合起來(lái)的,即先編譯源程序,產(chǎn)生計(jì)算機(jī)還是不能直接執(zhí)行的中間代碼,然后讓解釋程序解釋執(zhí)行中間代碼。這樣做的好處首先是比直接解釋執(zhí)行快;更大的好處是中間代碼獨(dú)立于計(jì)算機(jī),只要有相應(yīng)的解釋程序,就可在任何計(jì)算機(jī)上運(yùn)行。
5.面向問題語(yǔ)言
面向問題語(yǔ)言是為了易于描述和求解某類特定領(lǐng)域的問題而專門設(shè)計(jì)的一種非過程語(yǔ)言。用面向問題語(yǔ)言解題時(shí),不僅擺脫計(jì)算機(jī)的內(nèi)部邏輯,也不必關(guān)心問題的求解算法和求解的過程,只需指出問題是做什么,數(shù)據(jù)的輸入和輸出形式,就能由相應(yīng)的計(jì)算機(jī)系統(tǒng)得到所需結(jié)果。如報(bào)表語(yǔ)言、SOL(Structured Query Language)語(yǔ)言等。SQL語(yǔ)言是數(shù)據(jù)庫(kù)查詢和操縱語(yǔ)言,能直接使用數(shù)據(jù)庫(kù)管理系統(tǒng)。由于使用面向問題語(yǔ)言來(lái)解題只要告訴計(jì)算機(jī)做什么,不必告訴計(jì)算機(jī)如何做,能方便用戶的使用和提高程序的開發(fā)速度。但實(shí)現(xiàn)面向問題語(yǔ)言的系統(tǒng)從最一般的意義下實(shí)現(xiàn)問題如何求解,通常實(shí)現(xiàn)的效率較低。另外,面向問題語(yǔ)言要求問題已有通用的求解方法,目前其應(yīng)用范圍還比較狹窄。
1.2 C語(yǔ)言基礎(chǔ)
1.C語(yǔ)言的發(fā)展史
目的是為編寫系統(tǒng)程序研制一種高級(jí)程序語(yǔ)言。1963年,參照ALGOL60語(yǔ)言,增添了能描述計(jì)算機(jī)硬件特性的能力,稱為CPL語(yǔ)言。1967年,作進(jìn)一步的簡(jiǎn)化,改稱BCPL語(yǔ)言。1970年
聲明:
(一)由于考試政策等各方面情況的不斷調(diào)整與變化,本網(wǎng)站所提供的考試信息僅供參考,請(qǐng)以權(quán)威部門公布的正式信息為準(zhǔn)。
(二)本網(wǎng)站在文章內(nèi)容來(lái)源出處標(biāo)注為其他平臺(tái)的稿件均為轉(zhuǎn)載稿,免費(fèi)轉(zhuǎn)載出于非商業(yè)性學(xué)習(xí)目的,版權(quán)歸原作者所有。如您對(duì)內(nèi)容、版權(quán)等問題存在異議請(qǐng)與本站聯(lián)系,我們會(huì)及時(shí)進(jìn)行處理解決。
相關(guān)推薦
2022年浙江自考英語(yǔ)(二)語(yǔ)法及翻譯復(fù)習(xí)資料(8)
10-092023年4月浙江自考英語(yǔ)(二)串講筆記:lesson10-13
02-102023年4月浙江自考美學(xué)模擬題及答案匯總
12-012023年浙江自考公共管理學(xué)串講資料:公共管理學(xué)的產(chǎn)生
03-022022年浙江自考《高級(jí)英語(yǔ)》復(fù)習(xí)資料(13)
09-282024年4月浙江自考溫病學(xué)復(fù)習(xí)資料:第八章
12-222023年4月浙江自考環(huán)境心理學(xué)復(fù)習(xí)重點(diǎn)三
11-182022年浙江自考俄羅斯小說(shuō)文體論復(fù)習(xí)資料第五章
10-082023年4月浙江自考高級(jí)英語(yǔ)課文翻譯復(fù)習(xí)資料十二
11-26自考輔導(dǎo)資料:2021年10月《馬克思主義哲學(xué)原理》—感性認(rèn)識(shí)和理性認(rèn)識(shí)的辯證關(guān)系
06-17與考生自由互動(dòng)、并且能直接與專業(yè)老師進(jìn)行交流解答。
與考生自由互動(dòng)、并且能直接與專業(yè)老師進(jìn)行交流解答。