程式是怎樣跑起來的(第3版)

程式是怎樣跑起來的(第3版)

《程式是怎樣跑起來的(第3版)》是2022年人民郵電出版社出版的圖書,作者是[日] 矢澤久雄。

基本介紹

  • 中文名:程式是怎樣跑起來的(第3版)
  • 作者:矢澤久雄
  • 譯者:周自恆
  • 語言:中文
  • 出版時間:2022年7月1日
  • 出版社:人民郵電出版社
  • 頁數:273 頁
  • ISBN:9787115595133
  • 開本:32 開
  • 裝幀:平裝
  • 版次:3 
內容簡介,圖書目錄,作者簡介,

內容簡介

本書從計算機的內部結構開始講起,以圖配文的形式詳細講解了二進制、記憶體、數據壓縮、源檔案和執行檔、作業系統和應用程式的關係、彙編語言、硬體控制方法等內容,目的是讓讀者了解從用戶雙擊程式圖示到程式開始運行之間到底發生了什麼。書中還專設了“如果是你,你會怎樣講呢?”專欄,以小學生、老奶奶等為對象講解程式的運行原理,頗為有趣。
第3版升級了書中用到的軟體產品和開發工具,並在正文和注釋中補充了大量內容,讓初學者更容易理解。對於舊版中頗受好評的硬體相關章節,更新了C語言的樣例代碼。書末附錄關於C語言的章節也升級至**標準。
第12章新增了Python機器學習的內容,讓初學者能夠輕鬆體驗人工智慧的樂趣。附錄也增加了對Python語言的介紹。
本書圖文並茂,通俗易懂,非常適合計算機愛好者及相關從業人員閱讀。

圖書目錄

目錄
第 1章 對程式設計師來說,CPU到底是什麼  1
1.1 看一看 CPU的內部構造  3
1.2 CPU是暫存器的集合體  6
1.3 決定程式流程的程式計數器  9
1.4 條件分支和循環的原理  10
1.5 函式調用的原理  13
1.6 用基址和變址實現數組  16
1.7 CPU的處理其實很簡單  17
第 2章 用二進制來理解數據  19
2.1 計算機用二進制處理信息的原因  21
2.2 二進制到底是什麼  23
2.3 移位運算與乘除運算的關係  25
2.4 便於計算機處理的“2的補碼”  27
2.5 邏輯右移與算術右移的區別  31
2.6 掌握邏輯運算的竅門  34
如果是你,你會怎樣講呢? 給國小新生講解 CPU和二進制  38
第3章 計算機在計算小數時會出錯的原因  31
3.1 將0.1累加100次的結果不是10  33
3.2 如何用二進制表示小數  35
3.3 計算機計算出錯的原因  36
3.4 什麼是浮點數  38
3.5 規格化表示法與移碼錶示法  50
3.6 用程式來實際確認一下吧  53
3.7 如何避免計算機計算出錯  56
第4章 讓記憶體化方為圓  61
4.1 記憶體的物理結構十分簡單  63
4.2 記憶體的邏輯結構像一幢大樓  67
4.3 指針其實很簡單  69
4.4 用好記憶體先從數組開始  71
4.5 棧與佇列,以及環形緩衝區  73
4.6 在鍊表中添加和刪除元素很容易  78
4.7 用二叉查找樹高效地查找數據  82
第5章 記憶體與磁碟的密切聯繫  85
5.1 程式載入到記憶體後才能運行  87
5.2 提高磁碟訪問速度的磁碟快取  88
5.3 將磁碟當成記憶體使用的虛擬記憶體  89
5.4 將記憶體當成磁碟使用的固態硬碟  92
5.5 節約記憶體的編程技巧  93
5.6 了解一下磁碟的物理結構  98
第6章 自己動手壓縮數據  103
6.1 檔案是以位元組為單位記錄的  105
6.2 遊程編碼的原理  106
6.3 遊程編碼的缺點  107
6.4 從莫爾斯碼中發現哈夫曼算法的基礎  108
6.5 使用樹來構建哈夫曼編碼  111
6.6 通過哈夫曼算法大幅提高壓縮效率  114
6.7 無損壓縮與有損壓縮  115
如果是你,你會怎樣講呢? 給喜歡打遊戲的國中生講解記憶體和磁碟  119
第7章 程式在怎樣的環境下運行  121
7.1 運行環境 =作業系統+硬體  123
7.2 Windows消除了CPU之外的硬體差異  125
7.3 每種作業系統的API都是不同的  128
7.4 使用原始碼進行安裝  129
7.5 在任何地方都能提供相同運行環境的 Java虛擬機  130
7.6 雲計算平台提供的虛擬運行環境  132
7.7 BIOS與引導裝入程式  134
第8章 從源檔案到執行檔  137
8.1 計算機只能執行本機代碼  140
8.2 看一看本機代碼的內容  142
8.3 編譯器負責翻譯原始碼  144
8.4 僅靠編譯無法得到執行檔  146
8.5 啟動代碼與庫檔案  147
8.6 DLL檔案與導入庫  149
8.7 運行執行檔需要什麼  152
8.8 載入時生成的棧和堆  153
8.9 進階問答  155
第9章 作業系統與應用程式的關係  159
9.1 從歷史發展看作業系統的功能  161
9.2 關注作業系統的存在  164
9.3 系統調用與高級程式語言的可移植性  166
9.4 作業系統和高級程式語言對硬體進行了抽象化  168
9.5 Windows作業系統的特點  170
如果是你,你會怎樣講呢? 給喜歡智慧型手機的高中女生講解作業系統的功能  177
第 10章 通過彙編語言認識程式的真面目  179
10.1 彙編語言和本機代碼是一一對應的  181
10.2 用C編譯器輸出彙編語言原始碼  183
10.3 偽指令與注釋  186
10.4 彙編語言的語法是“操作碼 運算元”  187
10.5 最常用的movl指令  189
10.6 將數據存入棧中  191
10.7 函式調用的工作原理  192
10.8 被調用函式的工作原理  194
10.9 全局變數和局部變數的工作原理  195
10.10 循環的工作原理  199
10.11 條件分支的工作原理  203
10.12 體驗彙編語言的意義  207
第 11章 訪問硬體的方法  209
11.1 應用程式是否與硬體有關  211
11.2 負責硬體輸入輸出的in指令和out指令  213
11.3 外部設備的中斷請求  216
11.4 通過中斷實現實時處理  220
11.5 能夠快速傳輸大量數據的DMA  220
11.6 顯示字元和圖像的原理  222
如果是你,你會怎樣講呢? 給鄰居老奶奶講解顯示器與電視機的區別  224
第 12章 如何讓計算機“學習”  227
12.1 什麼是機器學習  229
12.2 支持向量機  231
12.3 Python互動模式的使用方法  234
12.4 準備學習數據  236
12.5 查看手寫數字數據的內容  237
12.6 通過機器學習識別手寫數字  239
12.7 嘗試交叉驗證  242
如果是你,你會怎樣講呢? 給常去的酒館的老闆講解機器學習的類別  244
附錄1 親手嘗試C語言  247
C語言的特點  247
變數與函式  248
數據類型  249
輸入、運算、輸出  250
創建和使用函式  252
局部變數與全局變數  254
數組與循環  255
其他語法  257
附錄2 親手嘗試Python  261
Python的特點  261
一切皆對象  263
數據類型  265
輸入、運算、輸出  266
創建和使用函式  266
局部變數與全局變數  268
數組與循環  269
其他語法  271
後記  273
致謝  273

作者簡介

矢沢久雄
YAZAWA股份有限公司董事長兼總經理。GrapeCity信息技術集團顧問。電腦作家之友會會長。 曾在某大型電子公司從事過電腦生產,在Software House做過程式設計師,現主要從事軟體開發工作。工作之餘筆耕不輟,從電路到程式語言均有涉及。代表作有《計算機是怎樣跑起來的》《使用C語言學習程式設計的基礎》《征服C++類和繼承》等。自稱軟體藝人。

相關詞條

熱門詞條

聯絡我們