程式语言简介.ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程式语言简介.ppt

程式語言的演進 一、機器語言(machine language) 由一堆的「0」或「1」所組成。 對於不同型態的電腦,因為其結構不同就有不同的機器語言。 不容易撰寫外,對於程式的維護也相對的困難。 二、組合語言(assembly language) 使用輔助記憶碼以方便記憶。 不同型態的電腦,其組合語言也是不相同的。 須經由assembler(組譯程式)組譯成機器碼後,才可執行。 程式語言的演進 三、高階語言(high-level language) 使用人們所熟悉的語法來描述。 大大減低了程式設計的難度,這使得它廣為程式設計師所採用。 須經由compiler(編譯程式)或interpreter(直譯程式)翻譯成機器碼後,才可執行。 四、非常高階語言(very high-level language) 第四代程式語言 (fourth –Generation Language;4GL) 程式設計師只要設定它所要的格式及其結果,這種語言會自動推展出所期望的程式碼。 語言轉譯程式 語言轉譯程式 對於高階(High Level)語言,您仍得將其翻譯成機械碼才得以執行。 翻譯的方式有兩種: 直譯法(為直譯程式的翻譯方式) 亦即當演講者講了一句後,翻譯員立即將此句翻譯給聽眾,聽眾馬上了解演講者所講的這句話;如此一直到演講者講完為止。 全譯法(為編譯程式的翻譯方式) 亦即讓演講者將整篇講稿講完後,翻譯員才將整篇講稿翻譯出來,而後聽眾才了解整個演講的內容。 語言轉譯程式 直譯器 (Interpreter) 直譯法的優點是: 1.在直譯法下,使用者欲執行程式時,一般是執行一條命令即可。 2.直譯程式該翻譯程式在被使用者使用過程中,一般都儲存在主記憶體,所以當使用者每次執行程式時,不必浪費取出直譯程式的 I/O 時間。 3.由於在直譯法下,使用者不需要執行連結的工作,所以可以省去不少有關連結工作的 I/O 時間。 4.直譯程式在執行時,是採用交談式(Interactive)的方式。亦即使用者可以很容易的與電腦作溝通之工作。 語言轉譯程式 編譯器 (Compiler) 欲利用編譯器來完成高階語言之翻譯然後執行時,一般需要逐次完成下列三個步驟後,才能完成使用者程式之執行工作。 1.產生目的程式 利用編譯程式將原始程式全部翻譯成機器語言程式,亦即翻譯成目的程式。 2.產生可執行之機器語言程式 利用廠商所提供的連結程式(Linker)執行連結的工作。此時才產生一個可執行的機器語言程式。該可執行的機器語言程式,在IBM PC 下稱之為可執行程式(Executable Program) ,其延伸檔名(Filename Extension)一般為 EXE 或 COM。 3.執行程式 執行使用者程式,亦即執行機器語言程式。 程式語言的應用 科學計算 FORTRAN (Mathematical FORmula TRANslating System) 商業應用 COBOL (Common Business Language) 人工智慧 LISP, Prolog 系統程式語言 C, C++ 資料型態 整數型態 int:2 bytes, -32768(-216)~+32767(+216-1) long:4 bytes, -2147483648(-232)~+2147483647(+232-1) 浮點數型態 IEEE-754 單精準度:Sign(1 bit) + Exponent(8 bits) + Mantissa(23 bits) 字符型態 char:1 byte, ASCII 陣列型態 一群具有相同資料型態的變數所組成,如 int A[100] 資料型態可為:整數,浮點數,字符…等。 資料型態 紀錄型態 又稱為結構型態,存放的是不同類型的資料型態,由一群欄位(Field)所結合而成。 指標型態 指標型態所存放的值是位址。 完成資料結構的好幫手。 變數的範疇(scope) 靜態範疇 依程式本身,變數的實際位置來決定。 動態範疇 依程式執行時,副程式的呼叫順序來決定。 副程式sub1並未定義 x 的值為10。 如果採用“靜態範疇”規則,印出的 x = ? 為什麼? 如果採用“動態範疇”規則,印出的 x = ? 為什麼? 副程式參數傳遞法 形式參數 副程式本身所定義的參數名稱及型態 實際參數 呼叫者(主程式)呼叫副程式時,所附上一些該有的參數。 副程式參數傳遞法 Call by Value (傳值) 僅將主程式實際參數的值,copy給副程式的形式參數,主程式實際參數的值不會改變,沒有side effect (副作用) 。 C語言只有call b

您可能关注的文档

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档