第 1 頁:1.1 程序設計和程序設計語言 |
第 2 頁:1.2 C語言基礎 |
1.1 程序設計和程序設計語言
1.程序
從最一般的意義來說,程序是對解決某個計算問題的方法(算法)步驟的一種描述;而從計算機來說,計算機程序是用某種計算機能理解并執(zhí)行的計算機語言作為描述語言,對解決問題的方法步驟的描述。計算機執(zhí)行按程序所描述的方法步驟,能完成指定的功能。所以,程序就是供計算機執(zhí)行后能完成特定功能的指令序列。
一個計算機程序主要描述兩部分內(nèi)容:描述問題的每個對象和對象之間的關系,以及描述對這些對象作處理的處理規(guī)則。其中關于對象及對象之間的關系是數(shù)據(jù)結構的內(nèi)容,而處理規(guī)則是求解的算法。針對問題所涉及的對象和要完成的處理,設計合理的數(shù)據(jù)結構?捎行У睾喕惴,數(shù)據(jù)結構和算法是程序最主要的兩個方面。
2.程序設計的任條和主要步驟
程序設計的任務就是分析解決問題的方法步驟(算法),并將解決問題算法的方法步驟用計算機語言記錄下來。程序設計的主要步驟包括:認識問題、設計解決問題的算法、按算法編寫程序、調(diào)試和測試程序。在程序開發(fā)過程中,上述步驟可能有反復,如發(fā)現(xiàn)程序有錯,嚴重情況可能會要求重新認識問題和重新設計算法等。
3.機器語言和匯編語言
計算機能直接識別和執(zhí)行的二進制代碼稱為計算機的機器語言。用有助于記憶的符號來代表二進制代碼,稱為匯編語言。匯編語言與機器語言幾乎有一對一的關系。用匯編語言編寫的程序稱為“匯編源程序”,匯編源程序不能在計算機上直接執(zhí)行,需要用匯編程序?qū)R編源
程序翻譯成機器語言程序,然后執(zhí)行由匯編程序翻譯出來的機器語言程序。機器語言和匯編語言是與具體計算機緊密相關的,稱它們是面向機器的語言。
4.高級語言
與機器語言和匯編語言相比較,高級語言與具體計算機無關,是一種能方便描述算法過程的計算機程序設計語言。高級語言種類千差萬別,但一般包含有以下四種成分:數(shù)據(jù)成分用來描述程序所涉及的數(shù)據(jù);運算成分用來描述運算;控制成分用來表達程序的控制構造;傳輸成分用來表達數(shù)據(jù)的傳輸。由于高級語言程序主要是描述計算機的解題過程,即描述復雜的加工處理過程,所以也稱這種高級語言為面向過程語言。
用高級語言編寫的程序稱為“源程序”。計算機不能直接技源程序的語句運行,通常有解釋方式和編譯方式兩種方法在計算機上執(zhí)行源程序。
解釋方式,即讓計算機運行解釋程序,解釋程序逐句取出源程序中的語句,對它作解釋執(zhí)行,輸入數(shù)據(jù),產(chǎn)生結果。
編譯方式,即先運行編譯程序,從源程序一次翻譯產(chǎn)生計算機可直接執(zhí)行的二進制程序(稱為目標程序);然后讓計算機執(zhí)行目標程序,輸入數(shù)據(jù),產(chǎn)生結果。
解釋方式的主要優(yōu)點是計算機與人的交互性好,調(diào)試程序時,能一邊執(zhí)行一邊直接改錯,能較快得到一個正確的程序。缺點是逐句解釋執(zhí)行,運行速度慢。
編譯方式的主要優(yōu)點是計算機運行目標程序快,缺點是修改源程序后必須重新編譯以產(chǎn)生新的目標程序。
現(xiàn)在也有將上述兩種方式結合起來的,即先編譯源程序,產(chǎn)生計算機還是不能直接執(zhí)行的中間代碼,然后讓解釋程序解釋執(zhí)行中間代碼。這樣做的好處首先是比直接解釋執(zhí)行快;更大的好處是中間代碼獨立于計算機,只要有相應的解釋程序,就可在任何計算機上運行。
5.面向問題語言
面向問題語言是為了易于描述和求解某類特定領域的問題而專門設計的一種非過程語言。用面向問題語言解題時,不僅擺脫計算機的內(nèi)部邏輯,也不必關心問題的求解算法和求解的過程,只需指出問題是做什么,數(shù)據(jù)的輸入和輸出形式,就能由相應的計算機系統(tǒng)得到所需結果。如報表語言、SOL(Structured Query Language)語言等。SQL語言是數(shù)據(jù)庫查詢和操縱語言,能直接使用數(shù)據(jù)庫管理系統(tǒng)。由于使用面向問題語言來解題只要告訴計算機做什么,不必告訴計算機如何做,能方便用戶的使用和提高程序的開發(fā)速度。但實現(xiàn)面向問題語言的系統(tǒng)從最一般的意義下實現(xiàn)問題如何求解,通常實現(xiàn)的效率較低。另外,面向問題語言要求問題已有通用的求解方法,目前其應用范圍還比較狹窄。
相關推薦:2010年全國計算機軟考報名時間匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |