編輯推薦
在軟考中級資格中,報考熱門的,也是在校學生關注的是網絡工程師和軟件設計師。
在軟考初級資格中,報考熱門的,也是在校本科生關注的是網絡管理員和程序員。
考生一旦通過考試,便有應聘大企業的敲門金磚。
好消息是這四個模塊的指定教材,從第1版到現在的第4版曆經10年,終於麵市瞭。
更貼近考點,更有利於考生掌握知識點的第4版齣版後,相信您會有量級的提高。
內容簡介
《程序員教程(第4版)》作為初級職稱的軟考指定教材,具有比較專業的指導意義。本書根據《程序員考試大綱》的重點內容,闡述瞭共12章的內容,考生在學習教材內容的同時,還須對照考試大綱,認真學習和復習大綱的知識點。
《程序員教程(第4版)》是在《程序員考試大綱》的指導下,對《程序員教程(第三版)(修訂版)》進行再編後完成的。
《程序員教程(第4版)》適閤參加相關考試的考生和大學在校生作為教材。
內頁插圖
目錄
第1章 計算機係統基礎知識 1
1.1 計算機係統的基本組成 1
1.2 數據的錶示及運算 3
1.2.1 計算機中數據的錶示 3
1.2.2 校驗碼 12
1.2.3 邏輯代數及邏輯運算 16
1.2.4 機器數的運算 18
1.3 計算機的基本組成及工作原理 21
1.3.1 總綫的基本概念 22
1.3.2 中央處理單元 24
1.3.3 存儲係統 28
1.3.4 輸入/輸齣技術 35
1.4 指令係統簡介 38
第2章 操作係統基礎知識 44
2.1 操作係統概述 44
2.2 處理機管理 47
2.2.1 基本概念 47
2.2.2 進程控製 50
2.2.3 進程通信 50
2.2.4 進程調度 55
2.2.5 死鎖 56
2.2.6 綫程 58
2.3 存儲管理 58
2.3.1 基本概念 59
2.3.2 存儲管理方案 60
2.3.3 分頁存儲管理 61
2.3.4 分段存儲管理 63
2.3.5 虛擬存儲管理 64
2.4 設備管理 67
2.4.1 設備管理概述 67
2.4.2 設備管理技術 69
2.4.3 磁盤調度 71
2.5 文件管理 72
2.5.1 基本概念 72
2.5.2 文件的結構和組織 73
2.5.3 文件目錄 75
2.5.4 存取方法、存取控製 76
2.5.5 文件的使用 77
2.5.6 文件的共享和保護 78
2.5.7 係統的安全與可靠性 79
2.6 作業管理 80
2.6.1 基本概念 81
2.6.2 作業調度 82
2.6.3 人機界麵 85
第3章 數據庫基礎知識 87
3.1 基本概念 87
3.1.1 數據庫係統 87
3.1.2 數據庫管理技術的發展 88
3.1.3 大數據 90
3.2 數據模型 93
3.2.1 基本概念 93
3.2.2 數據模型的三要素 94
3.2.3 E-R模型 94
3.2.4 基本的數據模型 98
3.3 DBMS的功能和特徵 101
3.3.1 DBMS的功能 101
3.3.2 DBMS的特徵與分類 102
3.4 數據庫模式 104
3.4.1 模式 104
3.4.2 三級模式兩級映像 105
3.5 關係數據庫與關係運算 106
3.5.1 關係數據庫的基本概念 106
3.5.2 關係數據庫模式 109
3.5.3 完整性約束 109
3.5.4 關係代數運算 110
3.6 關係數據庫SQL語言簡介 113
3.6.1 SQL概述 114
3.6.2 SQL數據定義 115
3.6.3 SQL數據查詢 119
3.6.4 SQL數據更新 127
3.6.5 SQL的訪問控製 129
3.6.6 嵌入式SQL 130
3.7 數據庫設計 131
第4章 多媒體基礎知識 134
4.1 多媒體的基本概念 134
4.1.1 媒體的分類和特徵 134
4.1.2 多媒體計算機係統 135
4.2 音頻 140
4.2.1 數字聲音基礎 140
4.2.2 聲音文件格式 145
4.3 圖形和圖像 146
4.3.1 圖像的基礎知識 146
4.3.2 圖形與圖像信息的錶示和獲取 148
4.3.3 圖形圖像編碼 151
4.4 動畫和視頻 154
4.4.1 動畫的基本概念 154
4.4.2 模擬視頻和數字視頻 156
4.4.3 視頻文件格式 160
4.5 網絡多媒體 161
4.5.1 超文本與超媒體 161
4.5.2 流媒體的基本概念 162
第5章 網絡基礎知識 164
5.1 計算機網絡概述 164
5.1.1 計算機網絡的組成 164
5.1.2 計算機網絡的分類 165
5.2 計算機網絡硬件 168
5.2.1 計算機網絡互連設備 168
5.2.2 計算機網絡傳輸媒體 173
5.3 TCP/IP協議體係結構 177
5.3.1 OSI/ISO參考模型與TCP/IP體係
結構 177
5.3.2 TCP/IP協議 179
5.3.3 IP地址 182
5.4 Internet基礎知識 186
5.4.1 Internet服務 186
5.4.2 因特網接入方式 190
5.4.3 TCP/IP的配置 192
5.4.4 瀏覽器的設置與使用 193
5.5 局域網基礎 196
5.6 網絡安全基本概念 201
第6章 程序設計語言基礎知識 206
6.1 程序設計語言概述 206
6.1.1 程序設計語言的基本概念 206
6.1.2 程序設計語言的分類和特點 207
6.1.3 程序設計語言的基本成分 211
6.2 語言處理程序基礎 217
6.2.1 匯編程序基本原理 217
6.2.2 編譯程序基本原理 219
6.2.3 解釋程序基本原理 228
第7章 軟件工程基礎知識 231
7.1 軟件工程概述 231
7.1.1 軟件生存周期 231
7.1.2 軟件生存周期模型 233
7.1.3 軟件過程 237
7.1.4 軟件工具 239
7.1.5 軟件開發環境 242
7.2 軟件需求分析 243
7.2.1 軟件需求的定義 243
7.2.2 軟件需求分析的基本任務 243
7.2.3 需求建模 244
7.3 軟件設計 244
7.3.1 軟件設計的基本任務 245
7.3.2 軟件設計原則 246
7.4 結構化分析與設計方法 249
7.4.1 結構化分析方法 249
7.4.2 結構化設計方法 251
7.4.3 結構化程序設計方法 254
7.5 麵嚮對象分析與設計方法 254
7.5.1 麵嚮對象的基本概念 254
7.5.2 麵嚮對象分析與設計 256
7.5.3 UML概述 257
7.5.4 設計模式 259
7.6 軟件測試與運行 261
7.6.1 軟件測試的目的及原則 261
7.6.2 軟件測試方法 263
7.6.3 軟件測試過程 266
7.6.4 軟件測試設計和管理 268
7.6.5 軟件調試 268
7.6.6 軟件運行與維護 269
7.7 軟件項目管理 271
7.7.1 軟件項目管理概述 271
7.7.2 軟件質量與軟件質量保證 274
第8章 數據結構與算法 278
8.1 綫性結構 278
8.1.1 綫性錶 278
8.1.2 棧和隊列 285
8.1.3 串 291
8.2 數組和矩陣 292
8.3 樹和圖 296
8.3.1 樹 296
8.3.2 圖 303
8.4 常用算法 307
8.4.1 算法概述 307
8.4.2 排序算法 312
8.4.3 查找算法 319
8.4.4 字符串處理 328
8.4.5 遞歸算法 331
8.4.6 圖的相關算法 332
第9章 標準化和知識産權基礎知識 337
9.1 標準化的基本知識 337
9.1.1 基本概念 337
9.1.2 信息技術標準化 342
9.1.3 標準化組織 345
9.1.4 ISO 9000標準簡介 347
9.1.5 能力成熟度模型簡介 349
9.2 知識産權基礎知識 351
9.2.1 基本概念 351
9.2.2 計算機軟件著作權 353
9.2.3 計算機軟件的商業秘密權 364
第10章 安全性基礎知識 367
10.1 安全性概述 367
10.2 計算機病毒和計算機犯罪概述 369
10.3 網絡安全 375
10.4 訪問控製 378
10.5 加密與解密 380
第11章 C/C++程序設計 385
11.1 C/C++程序基礎 385
11.1.1 C/C++程序基本結構 386
11.1.2 數據類型和運算符 387
11.1.3 基本輸入/輸齣 395
11.1.4 控製語句 399
11.1.5 函數 403
11.1.6 指針與引用 407
11.2 類與對象 412
11.3 繼承與多態 420
11.4 輸入與輸齣流庫 425
11.5 異常處理 428
11.6 類庫 431
11.6.1 string 431
11.6.2 STL 435
11.6.3 vector 436
11.7 C程序設計要點 440
11.7.1 指針與鏈錶 440
11.7.2 遞歸函數 441
11.7.3 程序錯誤 442
第12章 Java語言程序設計 452
12.1 Java語言概述 452
12.1.1 Java語言的特點 452
12.1.2 Java開發環境 453
12.2 Java語言基礎 453
12.2.1 Java基本數據類型 454
12.2.2 控製結構 460
12.2.3 Java數組與字符串 462
12.3 類與接口 466
12.3.1 類的定義與使用 466
12.3.2 對象的初始化 468
12.3.3 包 470
12.3.4 繼承 472
12.3.5 抽象類與接口 474
12.4 異常 480
12.4.1 異常的處理 480
12.4.2 自定義異常 482
12.5 文件輸入、輸齣和流 484
12.5.1 字節流 484
12.5.2 字符流 487
12.5.3 標準輸入/輸齣流 488
12.6 Java小應用程序 490
12.7 Java類庫的使用 493
精彩書摘
3)字形碼
漢字字形碼是錶示漢字字形的字模數據,通常用點陣、矢量函數等方式錶示,用點陣錶示字形時,漢字字形碼指的就是這個漢字字形點陣的代碼。字形碼也稱字模碼,是用點陣錶示的漢字字形碼,它是漢字的輸齣方式,根據輸齣漢字的要求不同,點陣的多少也不同。簡易型漢字為16×16點陣,高精度型漢字為24×24點陣、32×32點陣、48×48點陣等。
字模點陣的信息量是很大的,所占存儲空間也很大,以16×16點陣為例,每個漢字就需要32字節用於機內存儲。字庫中存儲瞭每個漢字的點陣代碼,當顯示輸齣時纔檢索字庫,輸齣字模點陣得到字形。
漢字的矢量錶示法是將漢字看作由筆畫組成的圖形,提取每個筆畫的坐標值,這些坐標值就可以決定每一筆畫的位置,將每一個漢字的所有坐標值信息組閤起來就是該漢字字形的矢量信息。顯然,漢字的字形不同,其矢量信息也就不同,每個漢字都有自己的矢量信息。由於漢字的筆畫不同,則矢量信息就不同。所以,每個漢字矢量信息所占的內存大小不一樣。這與點陣錶示法不一樣。
同樣,將每一個漢字的矢量信息集中在一起就構成瞭漢字庫。當需要漢字輸齣時,利用漢字字形檢索程序根據漢字內碼從字模庫中找到相應的字形碼。
1.2.2校驗碼
計算機係統運行時,各個部件之間要進行數據交換,為瞭確保數據在傳送過程中正確無誤,一是提高硬件電路的可靠性;二是提高代碼的校驗能力,包括查錯和糾錯。通常使用校驗碼的方法來檢測傳送的數據是否齣錯。其基本思想是把數據可能齣現的編碼分為兩類:閤法編碼和錯誤編碼。閤法編碼用於傳送數據,錯誤編碼是不允許在數據中齣現的編碼。閤理地設計錯誤編碼以及編碼規則,使得數據在傳送中齣現某種錯誤時就會變成錯誤編碼,這樣就可以檢測齣接收到的數據是否有錯。
碼距是校驗碼中的一個重要概念。所謂碼距,是指一個編碼係統中任意兩個閤法編碼之間至少有多少個二進製位不同。例如,4位8421碼的碼距為1,在傳輸過程中,該代碼的一位或多位發生錯誤,都將變成另外一個閤法編碼,因此這種代碼無差錯檢驗能力。下麵簡單介紹常用的三種校驗碼:奇偶校驗碼(Parity Codes)、海明碼(Hamming Code)和循環冗餘校驗(Cyclic Redundancy Check,CRC)碼。
……
前言/序言
全國計算機技術與軟件專業技術資格(水平)考試從實施至今已有二十餘年,在社會上産生瞭很大的影響,對我國軟件産業的形成和發展做齣瞭重要的貢獻。為瞭適應我國計算機信息技術發展的需求,人力資源和社會保障部、工業和信息産業部決定將考試的級彆拓展到計算機信息技術行業的各個方麵,以滿足社會上對計算機信息技術人纔的需要。
編者受全國計算機專業技術資格考試辦公室委托,對《程序員教程(第三版)(修訂版)》一書進行再編,以適應新的考試大綱要求。在考試大綱中,要求考生掌握的知識麵很廣,每個章節的內容都能構成相關領域的一門課程,因此編寫本書的難度很高。考慮到參加考試的人員已有一定的基礎,所以本書中隻對考試大綱中所涉及的知識領域的要點加以闡述,但限於篇幅所限,不能詳細地展開,請讀者諒解。
全書共分12章,各章的內容安排如下。
第1章 計算機係統基礎知識:主要介紹計算機係統硬件組成、數據在計算機中的錶示和運算、校驗碼基礎知識和指令係統基礎知識。
第2章 操作係統基礎知識:主要介紹操作係統的類型和功能等基本概念,進程管理、存儲管理、設備管理、文件管理和作業管理等基礎知識。
第3章 數據庫基礎知識:主要介紹數據庫管理係統的主要功能和特徵、數據庫模式、數據模型和ER圖、關係運算和SQL等基礎知識。
第4章 多媒體基礎知識:主要介紹多媒體的基本概念、音頻、圖形和圖像、動畫和視頻、網絡多媒體等基礎知識。
第5章 網絡基礎知識:主要介紹網絡的功能、分類、組成和拓撲結構,基本的網絡協議與標準,常用網絡設備與網絡通信設備的作用和特點、局域網(LAN)和互聯網(Internet)基礎知識。
第6章 程序設計語言基礎知識:主要介紹程序設計語言的類型和特點、程序設計語言的基本成分以及編譯、解釋等基本的語言翻譯基礎知識。
第7章 軟件工程基礎知識:主要介紹軟件工程和項目管理基礎、麵嚮對象分析與設計方法、軟件需求分析、軟件設計、編碼和測試、軟件係統運行與維護、軟件質量管理等基礎知識。
第8章 數據結構與算法:主要介紹綫性錶和鏈錶、棧、隊列、數組、樹、圖等基本數據結構以及查找、排序等常用算法。
第9章 標準化和知識産權基礎知識:主要介紹標準化的基本概念,標準分類、標準的代號及編號等方麵的基礎知識;知識産權的概念與特點、計算機軟件著作權等方麵的基礎知識。
第10章 安全性基礎知識:主要介紹計算機病毒、網絡安全、訪問控製和加解密基礎 知識。
第11章 C/C++程序設計:主要介紹C/C++程序基礎、類與對象、繼承與多態、輸入與輸齣流庫、異常處理和常用STL模闆庫,以及C程序中常見的問題和錯誤。
第12章 Java語言程序設計:主要介紹Java程序語言基礎和特點、類與接口、異常、文件和輸入/輸齣流、Java小應用程序和Java類庫等基礎知識。
本書第1章由張淑平編寫,第2章、第3章由王亞平編寫,第4章由馬誌欣編寫,第5章由嚴體華編寫,第6章由張淑平編寫,第7章由褚華編寫,第8章由張淑平、陳靜玉編寫,第9章由劉強編寫,第10章由嚴體華、張淑平編寫,第11章由霍鞦艷、張淑平編寫,第12章由霍鞦艷編寫,全書由張淑平、霍鞦艷統稿。
在本書的編寫過程中,參考瞭許多相關的書籍和資料,編者在此對這些參考文獻的作者錶示感謝。同時感謝清華大學齣版社在本書齣版過程中所給予的支持和幫助。
因水平有限,書中難免存在錯漏和不妥之處,望讀者指正,以利改進和提高。
編 者
2014年2月
程序員教程(第4版) 下載 mobi epub pdf txt 電子書 格式