程式設計師教程-3章-程式設計語言基礎知識
這一章難度頗大,好好學也學不到什麼,隨便寫點東西吧
目錄結構
3.1 程式設計語言概述
3.1.1 程式設計語言的基本概念
1 低階語言和高階語言
2 編譯程式和解釋程式
3 程式設計語言的定義
3.1.2 程式設計語言的分類和特點
1 程式設計語言發展概述
2 程式設計範型
3.1.3 程式設計語言的基本成分
1 程式設計語言的資料成分
2 程式設計語言的運算成分
3 程式設計語言的控制成分
4 函式
3.2 語言處理程式基礎
3.2.1 彙編程式基礎
1 組合語言
2 彙編程式
3.2.2 編譯程式基礎
1 編譯程式概述
2 詞法分析
3 語法分析
3.2.3 解釋程式基礎
這章把握不了,每小節大致寫一點東西吧
程式設計語言為了書寫計算機程式而設計的符號語言,用於對計算過程進行描述、組織和推導
3.1 程式設計語言概述
3.1.1 程式設計語言的基本概念
1 低階語言和高階語言
計算機硬體只能識別由0、1字元序列組成的機器指令,因此機器指令是最基本的計算機語言
組合語言用容易記憶的符號代替0、1序列,來表示機器指令中的操作碼和運算元
面向各類應用的程式設計語言,即高階語言,常見的有JAVA、C、C++、C#、PYTHON、PHP,這類語言與人們使用的自然語言比較接近,大大提高了程式設計的效率
2 編譯程式和解釋程式
如果源程式是用匯編語言編寫的,則需要一個稱為彙編程式的翻譯程式將其翻譯成目標程式後才能執行。如果源程式是用某種高階語言編寫的,則需要對應的解釋程式或編譯程式對其進行翻譯,然後在機器上執行
解釋程式也稱為直譯器,它可以直接解釋執行源程式,或者將源程式翻譯成某種中間表示形式再加以執行,而編譯程式(編譯器)則首先將源程式翻譯成目標語言程式,將目標程式與庫函式連結後形成可執行程式,然後在計算機上執行可執行程式
3 程式設計語言的定義:涉及語法、語義和語用3個方面
(1)語法:指由程式設計語言基本符號組成程式中的各個語法成分的一組規則,其中由基本字元構成的符號(單詞)書寫規則稱為詞法規則,由符號(單詞)構成語法成分的規則稱為語法規則
(2)語義:按語法規構成的各個語法成分的含義,可分為靜態語義和動態語義
(3)語用:語用表示了構成語言的各個記號和使用者的關係,涉及符號的來源、使用和影響
3.1.2 程式設計語言的分類和特點
1 程式設計語言發展概述:略
2 程式設計範型
根據程式設計的方法將程式設計語言大致分為命令式程式設計語言、面向物件的程式設計語言,函式式程式設計語言和邏輯型程式設計語言
1)命令式程式設計語言:也稱過程式語言:FORTRAN、ALGOL、COBOL、C、PASCAL
2)面向物件的程式設計語言:C++、JAVA、SMALLTALK
3)函式式程式設計語言:LISP
4)邏輯型程式設計語言:PROLOG
3.1.3 程式設計語言的基本成分
包括資料、運算、控制和傳輸等
1 程式設計語言的資料成分資料是程式操作的物件,具有型別、名稱、作用域、儲存類別和生存期等屬性
(1)常量和變數
(2)全域性量和區域性量
(3)資料型別:基本型別,特殊型別(void),使用者定義型別(列舉型別),構造型別,指標型別,抽象資料型別(類型別)
2 程式設計語言的運算成分:大多數高階程式設計語言的基本運算可以分成算術運算、關係運算和邏輯運算等型別
3 程式設計語言的控制成分:順序、選擇和迴圈
(1)順序結構
(2)選擇結構:if,switch...case
(3)迴圈結構:for while do...while
4 函式
1)函式定義:函式首部和函式體
2)函式宣告
3)函式呼叫:傳值呼叫,引用呼叫
3.2 語言處理程式基礎
主要有彙編程式、編譯程式和解釋程式3種
3.2.1 彙編程式基礎
1 組合語言:面向機器的符號化程式設計語言
2 彙編程式:將組合語言所編寫的源程式翻譯成機器指令程式,具體略
3.2.2 編譯程式基礎
1 編譯過程概述:把某高階語言書寫的源程式翻譯成與之等價的目標程式
1)詞法分析:略
2)語法分析:略
3)語義分析:略
4)中間程式碼生成:略
5)程式碼優化:略
6)目的碼生成:略
7)符號表管理:略
8)出錯處理:略
2 詞法分析:本質是對構成源程式的字串進行分析,是一種物件為字串的運算
1)字母表、字串、字串集合及運算
2)正規表示式和正規集
3)有限自動機
3 語法分析:程式設計語言的語法常採用上下文無關文法描述。文法不僅規定了單詞如何組成句子,而且刻畫了句子的組成結構
3.2.3 解釋程式基礎
直接執行源程式或源程式的內部形式,與編譯程式的主要區別是不產生源程式的目標程式