軟考中級(軟件設計師)--程序語言基礎知識(一)

一、程序設計語言基本概念。

1.低級語言和高級語言
(1)低級語言
機器語言和彙編語言稱爲低級語言。

  • 機器語言指0,1組成的機器指令序列
  • 彙編語言指用符號表示指令的語言

(2)高級語言
高i語言是從人類的邏輯思維角度出發、面向各類應用的程序語言,抽象程度大大提高,需要編譯成特定機器上的目標代碼才能執行。這類語言與人們使用的自然語言比較接近,大大提高了程序設計的效率。

2.編譯程序和解釋程序
高級語言和彙編語言編寫的程序稱爲源程序,源程序不能直接在計算機上執行。

  • 如果源程序是彙編語言編寫的,則需要一個稱爲彙編程序的翻譯程序將其翻譯成目標程序,然後才能執行。
  • 如果源程序是高級語言時,這個翻譯程序稱爲編譯程序。
  • 按源程序中語句的執行順序,逐條翻譯並立即執行相關功能的處理程序、稱爲解釋程序(編譯一條執行一條)

程序的執行方式:
1編譯執行:按編譯方式在計算機上執行用高級語言編寫的程序,需要經過兩個階段:
編譯階段,吧源程序翻譯爲目標程序。
運行階段,真正執行此目標程序。

  • 優點:執行效率搞、佔用資源小。

  • 缺點:兼容性差。
    2解釋執行:源程序的每一個語句一經解釋就立即執行。

  • 優點:可移植性號、開發速度較、與用戶通信方便。

  • 缺點:效率低

二、編譯系統基本原理

編譯程序的工作可以分爲6個階段:詞法分析、語法分析、語義分析、中間代碼生成、代碼優化、目標代碼生成。

1.詞法分析階段:
輸入源程序,對構成源程序的字符串經行掃描和分解,事別出一個個的單詞,刪掉無用信息(例如註釋),報告分析時的錯誤。
一個程序的基本語法符號分爲五類:關鍵字、標識符、常量、運算符、界符等。
詞法分析器所輸出單詞符號常常表示成如下的二元式:
(單詞種別,單詞符號的屬性值)
描述詞法規則通常用:正規式和有限自動機。
2.狀態轉換圖
指狀態有限的有向圖,用圓圈表示結點狀態,結點之間有向邊表狀態轉換,有向邊上可標記字符,表示前一狀態接受某一個字符之後的狀態轉移。
功能:用於識別一定字符串
要求:

  • 狀態(結點)個數有限
  • 至少一個初始狀態,可以多個終止狀態
  • 每條表上標有字符(也可以式空字符)

狀態轉換圖的表示習慣:如圖
s's

3正規表達式與正規集(定義和運算)
狀態轉換圖可以構造詞法分析程序,但屬於非形式化描述正規表達式(簡稱正規市)是詞法分析的形式化表示方式。所謂形式化的方式,是指用一套套帶有嚴格規定的符號體系來描述問題的方法。
優點:更加清晰和準確
在這裏插入圖片描述
正規式有28種,即A-Z26個字母,加空字符和空字符集
正規式定義中:
“|”讀爲”或“;
”·“讀爲”連接“;
”*“讀爲”閉包“(即,任意有限次的自重複連接);

例如:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章