{"resolved":true,"match_type":"uuid","source_type":"original_book","book_id":"38270854-596f-4a26-8183-db8c968c6020","title":"编码 隐匿在计算机软硬件背后的语言","author":null,"edition":null,"publisher":null,"year":null,"isbn":"9787121181184","requested_by":"printed_page","book":{"source_type":"original_book","book_id":"38270854-596f-4a26-8183-db8c968c6020","id":"38270854-596f-4a26-8183-db8c968c6020","uuid":"38270854-596f-4a26-8183-db8c968c6020","title":"编码 隐匿在计算机软硬件背后的语言","normalized_title":"编码隐匿在计算机软硬件背后的语言","author":null,"edition":null,"publisher":null,"year":null,"isbn":"9787121181184","isbns":["9787121181184","0123456789","6044921875","3039331000","0000000000","0000000000000"],"parsed":true,"ai_readable":true,"document_type":"book","page_count":438,"navigation_url":"https://workshop.closeclaw.top/ai/book/38270854-596f-4a26-8183-db8c968c6020","title_url":"https://workshop.closeclaw.top/ai/title/%E7%BC%96%E7%A0%81%20%E9%9A%90%E5%8C%BF%E5%9C%A8%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%BD%AF%E7%A1%AC%E4%BB%B6%E8%83%8C%E5%90%8E%E7%9A%84%E8%AF%AD%E8%A8%80","fixed_page_url_template":"https://workshop.closeclaw.top/ai/book/38270854-596f-4a26-8183-db8c968c6020/page/{printed_page}","path_api_url_template":"https://workshop.closeclaw.top/api/ai/book/38270854-596f-4a26-8183-db8c968c6020/page/{printed_page}","read_url":"https://workshop.closeclaw.top/api/ai/read/38270854-596f-4a26-8183-db8c968c6020","page_url":"https://workshop.closeclaw.top/api/ai/books/38270854-596f-4a26-8183-db8c968c6020/page","search_url":"https://workshop.closeclaw.top/api/ai/books/38270854-596f-4a26-8183-db8c968c6020/search"},"page":{"printed_page":388,"pdf_page":404,"physical_index":404,"physical_index_base":0,"printed_page_status":"recognized","page_sha256":"391c208cd314d0265c0a541b7f4fa4d0d7249b8df7139fe60a78daf8171b248d"},"chapter":"编码隐匿在计算机软硬件背后的语言","content":"通过在命令行运行ALGOL编译器对FIRST.ALG文件进行编译，其格式如下：\n\nALGOL FIRST.ALG\n\nALGOL编译器对这条命令很可能做出这种响应，在显示设备上给出以下提示信息：\n\nLine 3: Unrecognized keyword 'ende'.\n\nALGOL编译器对拼写的检查非常严格，它在这一点上比传统的语文教师更甚。因为输入程序时，误把“end”拼写做“ende”，所以编译器通过提示信息告诉我们程序中有语法错误（syntax error)。当编译器检查到“ende”时，它期待能遇到一个可识别的关键字(keyword)，但由于上述错误，编译不能通过。\n\n将程序中的错误改正之后，可以再次执行编译命令。由于系统平台和编译器版本的不同，有时编译器会直接生成一个可执行文件（CP/M平台下此文件名为FIRST.COM，MS-DOS平台下名为FIRST.EXE)；有时还需要再执行一个步骤才可以完成。不论是哪种情况，最后你都可以在命令行执行FIRST程序：\n\nFIRST\n\nFIRST程序会对此响应，并显示以下内容：\n\nThis is my fist ALGOL program!\n\n注意，这里还有一个拼写错误：first被误做fist！编译器没有检查出这个错误，因此它被称为运行时错误（run-time error）—程序被执行时才出现的错误。\n\n很明显，我们的第一个 ALGOL程序中，print 语句的功能是把一些信息显示到屏幕上，在本程序中是显示一行文本（从功能的角度来看，该程序与本章开始所给出的汇编程序是等价的)。ALGOL语言的正式规范中并不包括print语句，但我们假设所使用的特定 ALGOL编译器包括这个便利的工具，它有时候也被称做内部函数（built-in function）。除了begin和 end之外的大部分 ALGOL语句都要以分号结尾。你可能注意到了print 语句使用了向右缩进的格式，这并不是必要的，其作用只是为了让程序的结构更加清晰。\n\n假设现在要编写一个用于两个数相乘的程序。每一种程序设计语言都包括变量（variabie）的概念。程序中的变量可以是一个字母、个短的字母序列，也可以是一个单词，由程序员自己决定。变量名实际上对应内存的一个存储单元，但在程序中是通过名字来访问该存储单元的，而不是直接使用存储单元的地址值。下面的程序定义了三个变量，分别命名为a，b，c:\n\n编码隐匿在计算机软硬件背后的语言\n\n388","previous_page":387,"next_page":389}