2.5g switch 24 port的問題,透過圖書和論文來找解法和答案更準確安心。 我們找到下列必買單品、推薦清單和精選懶人包

2.5g switch 24 port的問題,我們搜遍了碩博士論文和台灣出版的書籍,推薦朱文偉李建英寫的 Linux C與C++一線開發實踐 和(美)戴爾威姆斯的 C++權威教程(第6版)都 可以從中找到所需的評價。

另外網站Shop 2.5 Gigabit Switch with great discounts and prices ...也說明:Tenda SG105 Mini 5-Port Desktop Gigabit Switch / Fast Ethernet Network Switch ... tp-link 2.5gbps switch 2500mbps switch 2.5g switch Full 5*2.5 gigabit RJ45 ...

這兩本書分別來自清華大學 和人民郵電所出版 。

國立臺北科技大學 光電工程系研究所 何文章所指導 楊育峰的 增益開關半導體雷射注入鎖模技術產生光脈衝之研究 (2009),提出2.5g switch 24 port關鍵因素是什麼,來自於增益開關、外部注入、自回饋注入、注入鎖模、側模抑制比、光脈衝、外部調變。

最後網站Switches則補充:Netgear ProSAFE GS324 SOHO Series 24-Port Gigabit Ethernet Switch. Reg: $139.99. $139.99 + ... Netgear 5-Port Multi-Gigabit (2.5G) Ethernet Unmanaged Switch.

接下來讓我們看這些論文和書籍都說些什麼吧:

除了2.5g switch 24 port,大家也想知道這些:

Linux C與C++一線開發實踐

為了解決2.5g switch 24 port的問題,作者朱文偉李建英 這樣論述:

LinuxC/C程式設計在Linux應用程式開發中佔有重要的地位,掌握這項技能將在就業競爭中立於不敗之地。本書是一本針對初、中級讀者的、貼近軟體公司一線開發實踐的書。   本書共分為19章,內容包括Linux概述、搭建開發環境、語言基礎、檔程式設計、多進程程式設計、進程間通信、Web程式設計、多執行緒程式設計、Linux下的庫、TCP/IP協定基礎、網路程式設計、網路性能測試工具iPerf簡析、版本控制和SVN工具、C跨平臺開發以及安全程式設計等。   本書適合想全面學習Linux環境下C/C語言程式設計的讀者,並可作為初中級開發人員的案頭查閱與參考手冊,也適合作為高等院校和培訓學校相關專業師

生的教學參考書。 朱文偉,電腦應用專業碩士,10多年CC 開發經驗。開發過晶片開發系統、網路單向傳輸系統、安全優盤應用系統、usbkey應用系統、密碼機評測系統等產品。精通Linux、Windows系統開發及資料庫開發技術。 第1章 Linux概述 1 1.1 什麼是Linux 1 1.2 Linux的簡史 2 1.3 Linux和Windows的比較 4 1.4 Linux主要應用領域 4 1.5 Linux的版本 5 1.6 使用哪個版本的Linux進行學習 5 1.7 Linux的特點 5 1.8 如何學習Linux 6 1.9 命令列還是圖形介面

6 1.10 電腦啟動的基本過程 6 1.10.1 按下電源 7 1.10.2 BIOS自檢 7 1.10.3 系統引導 8 1.10.4 真實模式和保護模式 10 1.11 啟動內核 11 1.12 認識Shell 11 1.13 常見的Shell 11 1.14 圖形介面和字元介面的切換 12 1.14.1 在不退出X-Window的情況下切換到字元介面 12 1.14.2 強行退出X-Window進入文字模式 12 1.14.3 設置每次開機進入字元介面 13 1.14.4 從字元介面進入圖形介面 14 1.15 Shell命令概述 14 1.16 環境變數 14 第2章 搭建Lin

ux C 開發環境 16 2.1 準備Linux虛擬機器 16 2.2 連接Linux虛擬機器 20 2.2.1 通過橋接模式連接虛擬機器 21 2.2.2 主機模式 24 2.2.3 通過NAT模式連接虛擬機器 25 2.3 通過終端工具連接Linux虛擬機器 27 2.4 搭建Linux下的C 開發環境 30 2.4.1 非集成開發方式 30 2.4.2 集成開發方式 31 2.5 搭建Windows下的Linux C 開發環境 37 2.5.1 搭建非集成式的Windows下的Linux C 開發環境 37 2.5.2 搭建集成式的Windows下的Linux C 開發環境 39 2.6

需要掌握的開發工具 49 2.7 vi編輯器的使用 50 2.7.1 vi編輯器概述 50 2.7.2 vi編輯器的工作模式 50 2.7.3 vi的基本操作 51 2.7.4 命令列模式下的基本操作 51 2.7.5 插入模式 55 2.7.6 末行模式操作 55 2.8 gcc編譯器的使用 57 2.8.1 gcc對C語言的編譯過程 57 2.8.2 gcc所支援的尾碼名檔 62 2.8.3 gcc的語法格式 62 2.8.4 gcc常見選項 64 2.9 g 的基本使用 75 2.10 gdb調試器的使用 77 2.10.1 為何要學習gdb調試器 77 2.10.2 gdb簡介 77

2.10.3 重要準備 77 2.10.4 啟動gdb 77 2.10.5 退出gdb 78 2.10.6 gdb的常用命令概述 79 2.10.7 file命令載入程式 80 2.10.8 list命令顯示原始程式碼 80 2.10.9 run命令運行程式 83 2.10.10 break命令設置中斷點 85 第3章 C 語言基礎 89 3.1 C 基礎知識 89 3.1.1 C 程式結構 89 3.1.2 注釋 91 3.1.3 變數和資料類型 92 3.1.4 標識 92 3.1.5 基底資料型別 93 3.1.6 變數的定義和C 11中的auto 94 3.1.7 變數的範圍 98

3.1.8 變數初始化 98 3.1.9 常量 99 3.1.10 操作符/運算子 103 3.1.11 控制台交互 110 3.2 控制結構 115 3.2.1 條件結構 115 3.2.2 迴圈結構 116 3.2.3 分支控制和跳轉 120 3.2.4 選擇結構語句switch 122 3.3 函數 123 3.4 函數高級話題 127 3.4.1 參數按數值傳遞和按地址傳遞 127 3.4.2 函數重載 130 3.4.3 內聯函數 131 3.4.4 遞迴 132 3.4.5 函數的聲明 133 3.5 高級資料類型 134 3.5.1 陣列 134 3.5.2 指針 145 3.

5.3 動態分配記憶體 155 3.5.4 結構體 159 3.5.5 自訂資料類型 165 3.6 物件導向程式設計 168 3.6.1 類 168 3.6.2 構造函數和析構函數 171 3.6.3 構造函數重載 173 3.6.4 類的指針 175 3.6.5 由關鍵字struct和union定義的類 176 3.6.6 操作符重載 176 3.6.7 關鍵字 this 179 3.6.8 靜態成員 180 3.6.9 類之間的關係 182 3.6.10 多態 189 3.7 C 物件導向小結 195 3.8 C 高級知識 199 3.8.1 範本 199 3.8.2 命名空間 205

3.8.3 異常處理 209 3.8.4 預處理指令 213 3.8.5 預定義宏 215 3.8.6 C 11中的預定義宏 216 3.9 字串 218 3.9.1 字串基礎 218 3.9.2 搜索與查找 227 3.10 再論異常處理 233 3.10.1 基本概念 233 3.10.2 拋出異常 234 3.10.3 捕獲異常 234 3.10.4 C 標準異常 235 3.10.5 定義新的異常 236 3.11 再論函數範本 237 3.12 字元集 239 3.12.1 電腦上的3種字元集 239 3.12.2 查看Linux系統的字元集 241 3.12.3 修改Linux系統

的字元集 242 3.12.4 Unicode編碼的實現 242 3.12.5 C運行時庫對Unicode的支援 246 3.12.6 C 標準庫對Unicode的支援 247 3.12.7 字元集相關實例 248 第4章 Linux檔程式設計 249 4.1 檔案系統 249 4.1.1 基本概念 249 4.1.2 檔案系統層次結構標準 249 4.2 檔的屬性資訊 250 4.3 i節點 251 4.3.1 基本概念 251 4.3.2 i節點的內容 251 4.3.3 i節點的使用狀況 253 4.4 檔案類型 254 4.4.1 普通檔 255 4.4.2 目錄 255 4.4.3

塊設備檔 256 4.4.4 字元設備檔 257 4.4.5 連結檔 257 4.5 文件許可權 259 4.6 Linux檔I/O程式設計的基本方式 260 4.7 什麼是I/O 260 4.8 Linux系統調用下的檔I/O程式設計 261 4.8.1 檔描述符 261 4.8.2 打開或創建文件 262 4.8.3 創建文件 263 4.8.4 關閉文件 264 4.8.5 讀取檔中的資料 266 4.8.6 向檔寫入資料 268 4.8.7 設定文件偏移量 269 4.8.8 獲取檔狀態 271 4.8.9 文件鎖定 272 4.8.10 建立檔和記憶體映射 276 4.8.11 m

map和共用記憶體對比 279 4.9 C 方式下的檔I/O程式設計 280 4.9.1 流的概念 280 4.9.2 流的類庫 280 4.9.3 打開文件 281 4.9.4 關閉文件 283 4.9.5 寫入文件 283 4.9.6 讀取文件 283 4.9.7 檔位置指針 285 4.9.8 狀態標誌符的驗證 287 4.9.9 讀寫文件資料塊 288 4.10 檔程式設計中的其他操作 290 4.10.1 獲取檔有關資訊 290 4.10.2 創建和刪除檔目錄項 293 第5章 多進程程式設計 296 5.1 進程的基本概念 296 5.2 進程的描述 296 5.2.1 進程的識

別字 299 5.2.2 PID文件 301 5.3 進程的創建 303 5.3.1 使用fork創建進程 303 5.3.2 使用exec創建進程 305 5.3.3 使用system創建進程 311 5.4 進程調度 312 5.5 進程的分類 315 5.5.1 前臺進程 315 5.5.2 後臺進程 315 5.6 守護進程 316 5.6.1 守護進程的概念 316 5.6.2 守護進程的特點 317 5.6.3 查看守護進程 317 5.6.4 守護進程的分類 318 5.6.5 守護進程的啟動方式 319 5.6.6 編寫守護進程的步驟 319 第6章 Linux進程間的通信

323 6.1 信號 323 6.1.1 信號的基本概念 323 6.1.2 與信號相關的系統調用 328 6.2 管道 336 6.2.1 管道的基本概念 336 6.2.2 管道讀寫的特點 337 6.2.3 管道的局限性 337 6.2.4 創建管道函數pipe 338 6.2.5 讀寫管道函數read/write 338 6.2.6 等待子進程中斷或結束的函數wait 338 6.2.7 使用管道的特殊情況 342 6.3 訊息佇列 342 6.3.1 創建和打開訊息佇列函數msgget 343 6.3.2 獲取和設置訊息佇列的屬性函數msgctl 343 6.3.3 將消息送入訊息佇

列的函數msgsnd 344 6.3.4 從訊息佇列中讀取一條新消息的函數msgrcv 345 6.3.5 生成鍵值函數ftok 346 第7章 C Web程式設計 354 7.1 CGI程式的工作方式 354 7.2 架設Web伺服器Apache 354 第8章 多執行緒基本程式設計 358 8.1 使用多執行緒的好處 358 8.2 多執行緒程式設計的基本概念 359 8.2.1 作業系統和多執行緒 359 8.2.2 執行緒的基本概念 359 8.2.3 執行緒的狀態 360 8.2.4 執行緒函數 361 8.2.5 執行緒標識 361 8.2.6 C 多執行緒開發的兩種方式 36

1 8.3 利用POSIX多執行緒API函數進行多執行緒開發 362 8.3.1 執行緒的創建 362 8.3.2 執行緒的屬性 367 8.3.3 執行緒的結束 379 8.3.4 執行緒退出時的清理機會 387 8.4 C 11中的執行緒類 392 8.4.1 執行緒的創建 393 8.4.2 執行緒的識別字 401 8.4.3 當前執行緒this_thread 402 第9章 多執行緒高級程式設計 406 9.1 多執行緒的同步和非同步 406 9.2 執行緒同步 406 9.3 利用POSIX多執行緒API函數進行執行緒同步 411 9.3.1 互斥鎖 411 9.3.2 讀寫鎖 4

17 9.3.3 條件變數 424 9.4 C 11/14中的執行緒同步 431 9.5 執行緒池 434 9.5.1 執行緒池的定義 434 9.5.2 使用執行緒池的原因 435 9.5.3 用C 實現一個簡單的執行緒池 435 第10章 Linux下的庫 441 10.1 庫的基本概念 441 10.2 庫的分類 441 10.3 靜態程式庫 442 10.3.1 靜態程式庫的基本概念 442 10.3.2 靜態程式庫的創建和使用 442 10.4 動態庫 445 10.4.1 動態庫的基本概念 445 10.4.2 動態庫的創建和使用 445 第11章 TCP/IP協議基礎 450

11.1 什麼是TCP/IP 450 11.2 TCP/IP協定的分層結構 450 11.3 應用層 453 11.3.1 DNS 454 11.3.2 埠的概念 454 11.4 傳輸層 455 11.4.1 TCP協議 455 11.4.2 UDP協議 456 11.5 網路層 456 11.5.1 IP協議 456 11.5.2 ARP協議 462 11.5.3 RARP協議 464 11.5.4 ICMP協議 465 11.6 資料連結層 474 11.6.1 資料連結層的基本概念 474 11.6.2 資料連結層的主要功能 474 第12章 通訊端基礎 476 12.1 網路程式

的架構 477 12.2 通訊端的類型 478 12.3 通訊端的位址結構 478 12.4 主機位元組序和網路位元組序 479 12.5 出錯資訊的獲取 481 第13章 TCP通訊端程式設計 483 13.1 TCP通訊端程式設計的基本步驟 483 13.2 協議簇和位址簇 484 13.3 socket地址 487 13.3.1 通用socket地址 487 13.3.2 專用socket位址 488 13.3.3 IP位址的轉換 489 13.4 TCP通訊端程式設計的相關函數 491 13.4.1 socket函數 491 13.4.2 bind函數 492 13.4.3 list

en函數 494 13.4.4 accept函數 494 13.4.5 connect函數 495 13.4.6 write函數 497 13.4.7 read函數 498 13.4.8 send函數 498 13.4.9 recv函數 499 13.4.10 close函數 499 13.4.11 獲得通訊端地址 499 13.4.12 阻塞通訊端的使用 504 13.4.13 非阻塞通訊端的使用 511 第14章 UDP通訊端程式設計 525 14.1 UDP通訊端程式設計的基本步驟 525 14.2 TCP通訊端程式設計的相關函數 526 14.2.1 消息發送函數sendto和sen

dmsg 526 14.2.2 消息接收函數recvfrom和recvmsg 527 14.3 實戰UDP通訊端 529 14.4 UDP丟包及無序問題 538 第15章 原始通訊端程式設計 539 15.1 原始通訊端概述 539 15.2 與標準通訊端的區別 539 15.3 原始通訊端的程式設計方法 540 15.4 面向鏈路層的原始通訊端程式設計函數 540 15.4.1 創建原始通訊端函數 540 15.4.2 接收函數recvfrom 541 15.4.3 發送函數sendto 542 15.5 乙太網框架格式 545 15.6 獲取網路介面的資訊 547 15.7 實戰鏈路層的

原始通訊端 550 15.7.1 常見的應用場景 550 15.7.2 混雜模式 577 15.7.3 鏈路層原始通訊端開發注意事項 596 15.8 面向IP層的原始通訊端程式設計 597 第16章 C 網路性能測試工具iPerf的簡析 605 16.1 iPerf概述 605 16.2 iPerf的特點 605 16.3 iPerf的工作原理 605 16.4 iPerf的主要功能 606 16.5 在Linux下安裝iPerf 607 16.6 iPerf的簡單使用 608 16.7 iPerf原始程式碼概述 609 16.8 Thread類 610 16.8.1 資料成員說明 611

16.8.2 主要函數成員 611 16.9 SocketAddr類 615 16.10 Socket 類 617 16.10.1 Listen 函數 618 16.10.2 Accept函數 620 16.10.3 Connect函數 620 第17章 版本控制和SVN工具 623 17.1 SVN簡介 623 17.1.1 什麼是SVN 623 17.1.2 使用SVN的好處 624 17.1.3 使用SVN的基本流程 624 17.2 SVN伺服器的安裝和配置 624 17.2.1 VisualSVN 伺服器的安裝和配置 624 17.2.2 SVN用戶端在Windows上的使用 6

29 第18章 C 跨平臺開發 634 18.1 什麼是跨平臺 634 18.2 C 的可攜性 634 18.2.1 可攜性的概念 634 18.2.2 影響C 語言可攜性的因素 635 18.3 設計跨平臺軟體的原則 638 18.3.1 避免語言的擴展特性 638 18.3.2 實現動態的處理 638 18.3.3 使用指令檔進行管理 639 18.3.4 使用安全的資料序列化 640 18.3.5 跨平臺開發中的編譯及測試 641 18.3.6 實現抽象 641 18.4 建立跨平臺的開發環境 642 18.4.1 跨平臺開發編譯器的選擇 642 18.4.2 建立跨平臺的Make系統

643 18.5 C 語言跨平臺軟體發展的實現 648 18.6 C 語言跨平臺的開發策略 649 18.7 建立統一的工程包 650 18.8 建立跨平臺的代碼庫 650 18.9 工廠模式與單例模式的實現 651 18.10 利用平臺依賴庫封裝平臺相關代碼 651 18.11 處理器的差異控制 652 18.11.1 記憶體對齊 652 18.11.2 位元組順序 653 18.11.3 類型的大小 654 18.11.4 使用預編譯處理類型差異 654 18.12 編譯器的差異控制 655 18.12.1 實現平臺無關的代碼 655 18.12.2 記憶體管理 657 18.12.3

容錯性的影響 657 18.12.4 利用日誌管理異常 657 18.13 作業系統和介面庫 658 18.13.1 檔描述符的限制 659 18.13.2 進程和執行緒的限制 659 18.13.3 作業系統抽象層 659 18.14 使用者介面 660 18.14.1 跨平臺軟體圖形介面的設計 660 18.14.2 wxWidgets 簡介 661 18.14.3 使用wxWidgets開發跨平臺軟體的介面 661 第19章 Linux下的安全程式設計 663 19.1 本章概述 663 19.2 密碼學基礎知識 665 19.2.1 密碼學概述 665 19.2.2 對稱式金鑰密碼編

譯技術 665 19.2.3 公開金鑰加密技術 666 19.2.4 單向散列函數演算法 667 19.2.5 數位簽章基礎知識 667 19.3 身份認證基礎知識 668 19.3.1 身份認證概述 668 19.3.2 身份認證的方式 669 19.4 密碼程式設計的兩個重要庫 670 19.5 OpenSSL的簡介 671 19.6 OpenSSL模組分析 671 19.6.1 OpenSSL原始程式碼模組結構 671 19.6.2 OpenSSL加密庫調用方式 672 19.6.3 OpenSSL支援的對稱加密演算法 673 19.6.4 OpenSSL支援的非對稱加密演算法 673

19.6.5 OpenSSL支援的資訊摘要演算法 673 19.6.6 OpenSSL金鑰和證書管理 673 19.7 物件導向與OpenSSL 674 19.7.1 BIO介面 675 19.7.2 EVP介面 676 19.8 OpenSSL的下載、編譯和升級安裝 677 19.9 對稱加解密演算法的分類 680 19.9.1 流對稱演算法 680 19.9.2 分組對稱演算法 680 19.9.3 瞭解庫和標頭檔 684 19.10 利用OpenSSL進行對稱加解密 686 19.10.1 一些基本概念 686 19.10.2 對稱加解密相關函數 687 19.11 Crypto 的簡介

695 19.12 Crypto 的編譯 696 19.13 Crypto 進行AES加解密 696

增益開關半導體雷射注入鎖模技術產生光脈衝之研究

為了解決2.5g switch 24 port的問題,作者楊育峰 這樣論述:

在本論文中,我們主要探討利用增益開關半導體二極體,及外部注入與自回饋注入等技術,令被注入之DFB雷射二極體產生短脈衝光源。本論文第一部份,討論光脈衝之形成,我們運用一台射頻訊號(RF)產生器,以調變頻率為2.5 GHz及振幅為15 dBm之正弦信號來觸發1550 nm DFB半導體雷射二極體,使DFB雷射二極體產生增益開關機制之光脈衝;同時運用一台可調式連續光源做外部注入,及運用環型共振腔及布拉格光纖光柵所形成自回饋注入等方式對DFB雷射進行注入鎖模,以獲得最佳化之短脈衝光源。透過光頻譜分析儀與數位通訊分析儀之量測,探討光脈衝在頻域及時域上特性之變化及優缺點,包含分析頻域上之側模抑制比(SM

SR),3-dB線寬,以及分析時域上脈衝光之寬度、時間跳動(Jitter)、脈衝功率等參數。同時去改變不同的注入功率比、微調注入波長以及變化溫度等參數探討對光脈衝之穩定度。我們得到最佳化之光脈衝寬度約為45ps、時間跳動小於2 ps、脈衝功率大於3 mV、側模抑制比大於40 dB。論文第二部份,我們將運用外部注入與環型共振腔自回饋注入兩種方式,注入至DFB雷射二極體所完成最佳化之脈衝光源後,再運用外部調變之方式,載送與光脈衝頻率相同之2.5 Gbit/s非歸零碼(NRZ),調變出2.5 Gbit/s歸零碼之光脈衝(RZ Optical Pulse)。並且將RZ光脈衝信號傳送10公里和30公里單

模光纖,觀測二種不同的注入方式所產生出最佳化之RZ光脈衝傳送在系統上之容忍值。同時去改變溫度之變化,加以討論最佳化RZ光脈衝傳輸在系統上受溫度變化之影響。兩種方注入方式之RZ信號經傳送30公里後,仍擁有3.4 dB容忍值,且對溫度變化之影響,約有3 ℃容忍範圍。

C++權威教程(第6版)

為了解決2.5g switch 24 port的問題,作者(美)戴爾威姆斯 這樣論述:

本書是全面的C++教程,介紹C++程式設計知識及問題解決方式與方法。新增了程式設計 練習,面向學生重新組織了書中容;從教育與傳播知識的角度考慮,其中涵蓋實際案例研究,並用高度相關的練習強化讀者對關鍵概念的理解,以及對關鍵技能的掌 握;C++語言結構與理論並重。另外,本書還配有全套輔助資源(為學生和老師準備的完整原始程式碼,還有PowerPoint課程大綱,試題庫)   Nell Dale 電腦科學專業博士,近20本電腦技術書作者;自1975年起在美國德克薩斯大學奧斯丁校區執教,1994年夏退休,講授秋季學期課程,從事寫作。   Chip Weems 美國麻薩諸塞大學Amhe

rst校區電腦系副教授,講授了程式設計導論、軟體工程、電腦體系結構和並行處理等課程。參與13本教材的寫作工作。主要從事電腦體系結構、編譯器、並行處理和編譯體系結構協作優化等方面的研究。 第1章 程式設計與問題解決概述1 1.1 程式設計概述1 1.1.1 什麼是程式設計1 1.1.2 怎樣編寫程式2 1.1.3 什麼是演算法3 1.1.4 什麼是程式設計語言4 1.2 電腦如何運行程式7 1.2.1 程式設計語言可以編寫的指令類型9 1.2.2 什麼是軟體維護11 1.3 電腦裡有什麼15 1.4 計算行業的行為準則與義務19 1.4.1 軟體盜版19 1.4.2 資料的保密

19 1.4.3 電腦資源的使用19 1.4.4 軟體工程20 1.5 問題求解方法21 1.5.1 提出問題21 1.5.2 尋找熟悉的內容21 1.5.3 類比解決22 1.5.4 方法—目標分析22 1.5.5 分而治之23 1.5.6 構建模組方法23 1.5.7 合併解決方案24 1.5.8 心理障礙:對開始的恐懼24 1.5.9 用演算法解決問題25 1.6 小結29 第2章 C++語法與語義及程式開發過程31 2.1 C++程式的組成元素31 2.1.1 C++程式結構31 2.1.2 語法與語義33 2.1.3 語法範本34 2.1.4 為程式元素命名:識別字36 2.1.5

資料和資料類型37 2.1.6 為元素命名:聲明38 2.1.7 採取行動:可執行語句42 2.1.8 超越最簡主義:向程式添加注釋46 2.2 程式構造47 2.2.1 區塊(複合陳述式)49 2.2.2 C++前置處理器50 2.3 再說“輸出”55 2.3.1 生成空行55 2.3.2 在一行內插入空格56 2.3.3 特殊字元56 2.4 程式輸入、糾錯和執行57 2.4.1 輸入程式57 2.4.2 編譯和運行程式58 2.5 測試與調試61 2.6 小結62 第3章 數數值型別、運算式和輸出63 3.1 C++資料類型概述63 3.2 數值資料類型64 3.2.1 整型64 3

.2.2 浮點類型65 3.3 數數值型別的聲明66 3.3.1 命名常量聲明66 3.3.2 變數聲明67 3.4 簡單算術運算式67 3.4.1 算術運運算元67 3.4.2 遞增和遞減運運算元70 3.5 複合算術運算式70 3.5.1 優先順序規則70 3.5.2 隱式類型轉換和顯式類型轉換71 3.6 函式呼叫和庫函數75 3.6.1 返回值的函數75 3.6.2 庫函數77 3.6.3 void函數78 3.7 設置輸出格式78 3.7.1 整數和字串79 3.7.2 浮點數81 3.8 其他string操作85 3.8.1 length和size函數85 3.8.2 find函數

86 3.8.3 substr函數87 3.8.4 訪問字串中的字元:at函數88 3.8.5 轉換為小寫和大寫88 3.9 測試與調試92 3.10 小結93 第4章 程式輸入和軟體設計過程94 4.1 向程式輸入資料94 4.1.1 輸入流和提取運運算元(>>)95 4.1.2 讀取標記和分行符號97 4.1.3 用get函數讀取字元資料98 4.1.4 用ignore函數跳過字元100 4.1.5 讀取字串資料101 4.2 互動式輸入/輸出103 4.3 非互動式輸入/輸出105 4.4 檔輸入和輸出105 4.4.1 文件106 4.4.2 使用檔106 4.4.3 運行時輸入檔案

名111 4.5 輸入失敗113 4.6 軟體設計方法113 4.7 功能分解114 4.7.1 模組116 4.7.2 實現設計116 4.7.3 有關設計的一種觀點119 4.8 測試與調試123 4.9 小結124 第5章 條件、邏輯運算式和選擇控制結構126 5.1 控制流126 5.2 條件與邏輯運算式128 5.2.1 bool資料類型128 5.2.2 邏輯運算式128 5.3 If語句132 5.3.1 If—Then—Else形式132 5.3.2 塊(複合陳述式)134 5.3.3 If—Then形式136 5.3.4 常見錯誤137 5.4 嵌套If語句140 5.5

邏輯運運算元144 5.5.1 運運算元的優先順序148 5.5.2 與浮點類型一起使用的關係運運算元150 5.6 判斷I/O流的狀態151 5.7 測試與調試157 5.7.1 問題求解階段的測試:演算法演練157 5.7.2 實現階段的測試159 5.7.3 測試計畫162 5.7.4 在編譯和執行期間自動執行的測試163 5.8 小結165 第6章 迴圈166 6.1 While語句166 6.2 迴圈的執行階段168 6.3 使用While語句的迴圈169 6.3.1 計數控制的迴圈169 6.3.2 事件控制的迴圈171 6.3.3 迴圈子任務176 6.4 如何設計迴圈182

6.4.1 設計控制流182 6.4.2 設計迴圈中的過程183 6.4.3 迴圈退出184 6.5 嵌套邏輯184 6.6 測試與調試202 6.6.1 迴圈測試策略202 6.6.2 涉及迴圈的測試計畫202 6.7 小結204 第7章 更多控制結構205 7.1 Switch語句205 7.2 Do—While語句210 7.3 For語句214 7.4 Break和Continue語句219 7.5 選擇迴圈語句的原則220 7.6 更多C++運運算元221 7.6.1 設定運運算元和賦值運算式222 7.6.2 遞增和遞減運運算元223 7.6.3 位運運算元223 7.6.4 強

制轉換操作224 7.6.5 sizeof運運算元224 7.6.6 運運算元224 7.6.7 運運算元優先順序225 7.6.8 算術與關聯運算式中的隱式類型轉換226 7.7 測試與調試231 7.8 小結232 第8章 函數233 8.1 用void函數實現功能分解233 8.1.1 使用函數的時機234 8.1.2 模組為什麼需要介面設計234 8.1.3 設計介面234 8.1.4 將模組寫為void函數235 8.2 回顧使用者定義的函數239 8.2.1 函式呼叫中的控制流239 8.2.2 函數形參240 8.3 void函數的語法與語義241 8.3.1 函式呼叫241

8.3.2 函式宣告和定義242 8.3.3 區域變數243 8.3.4 Return語句244 8.4 形參246 8.4.1 值參數246 8.4.2 傳址參數247 8.4.3 使用帶有形參的運算式253 8.4.4 關於實參列表和形參列表的最後一點提醒254 8.4.5 將斷言寫為函數文檔255 8.5 測試與調試265 8.6 小結267 第9章 作用域、生存期及函數268 9.1 識別字的作用域268 9.1.1 作用域規則270 9.1.2 變數聲明與定義272 9.1.3 命名空間273 9.2 變數的生存期275 9.3 介面設計280 9.3.1 副作用280 9.3.2

全域常量282 9.4 返回值的函數284 9.4.1 完整示例286 9.4.2 布耳函數289 9.4.3 介面設計與副作用291 9.4.4 何時使用返回值的函數292 9.5 賦值、實參傳送、返回函數值中的類型轉換293 9.6 測試與調試302 9.7 小結306 第10章 用戶定義的資料類型308 10.1 內置簡單類型308 10.1.1 數數值型別309 10.1.2 字元310 10.2 用戶定義的簡單類型311 10.2.1 Typedef語句312 10.2.2 枚舉類型312 10.2.3 命名與匿名資料類型319 10.3 單一資料型別與結構化資料類型320 10

.4 記錄(Struct)321 10.4.1 訪問各個組成項323 10.4.2 對struct的聚合操作324 10.4.3 再談struct聲明325 10.4.4 綁定相似項目326 10.5 分層記錄328 10.6 union330 10.7 指針331 10.7.1 指標變數332 10.7.2 指針運算式334 10.8 參考類型335 10.9 測試與調試342 10.9.1 應對輸入錯誤342 10.9.2 涉及指針的調試343 10.10 小結344 第11章 陣列346 11.1 一維陣列346 11.1.1 聲明陣列348 11.1.2 訪問各個陣列項349 11.

1.3 出界陣列索引351 11.1.4 在聲明中初始化陣列352 11.1.5 陣列聚合操作(的缺乏)352 11.1.6 聲明和訪問陣列的例子353 11.1.7 在實參中傳送陣列358 11.1.8 陣列的注釋360 11.1.9 對陣列使用typedef363 11.1.10 指標運算式和陣列363 11.1.11 C風格的字串364 11.1.12 作為陣列的字串364 11.1.13 C字串操作365 11.1.14 將C字串轉換為C++字串366 11.1.15 使用哪種字串標記法366 11.2 記錄的陣列366 11.3 特殊的陣列處理370 11.3.1 子陣列處理370

11.3.2 具有語義內容的索引372 11.4 二維陣列372 11.5 在實參中傳遞二維陣列375 11.6 處理二維陣列377 11.6.1 對行求和377 11.6.2 修改後的對行求和378 11.6.3 對列求和379 11.6.4 初始化陣列380 11.6.5 列印陣列380 11.7 定義二維陣列的另一種方法382 11.8 多維陣列384 11.9 測試與調試398 11.9.1 一維陣列398 11.9.2 複雜結構399 11.9.3 多維陣列400 11.10 小結401 第12章 類和抽象402 12.1 抽象資料類型402 12.2 C++類405 12.2.1

實現成員函數408 12.2.2 類、對象和成員410 12.2.3 對物件的內置操作411 12.2.4 類作用域412 12.3 信息隱藏413 12.3.1 用戶編寫的標頭檔414 12.3.2 規格說明文件和實現檔415 12.3.3 編譯和連結多檔程式419 12.4 什麼是物件421 12.5 類的設計原則423 12.5.1 封裝423 12.5.2 抽象425 12.5.3 提高可修改性、再使用性的設計425 12.5.4 可變性426 12.6 NameADT432 12.6.1 ADT的規格說明433 12.6.2 實現檔434 12.7 組合436 12.8 UML圖4

40 12.8.1 繪製類的圖440 12.8.2 繪製類的組合關係圖441 12.9 測試與調試446 12.10 小結450   第13章 基於陣列的清單451 13.1 什麼是列表451 13.2 作為抽象資料類型的列表452 13.2.1 改進職責453 13.2.2 資料表示454 13.2.3 示例程式456 13.3 ListADT的實現459 13.3.1 基本操作459 13.3.2 插入和刪除460 13.3.3 順序查找460 13.3.4 反覆運算器461 13.4 有序列表465 13.4.1 基本操作466 13.4.2 插入466 13.4.3 順序查找468 1

3.4.4 二分查找469 13.4.5 刪除472 13.5 類的有序列表475 13.5.1 IsThere476 13.5.2 Insert和Delete477 13.6 再說UML圖479 13.7 測試與調試488 13.8 小結488 第14章 動態資料和連結清單489 14.1 動態資料489 14.1.1 分配動態資料489 14.1.2 刪除動態資料491 14.1.3 常量和動態資料494 14.2 順序結構與連結結構495 14.3 創建動態連結清單:練習示例496 14.4 ADT清單的動態實現501 14.4.1 創建一個空連結清單502 14.4.2 向連結清單中

插入503 14.4.3 連結清單的遍歷504 14.4.4 從連結清單中刪除505 14.4.5 復位列表507 14.4.6 獲取下一項目507 14.4.7 檢查連結清單是否已滿507 14.4.8 搜索列表507 14.5 析構函數和複製構造函數511 14.5.1 析構函數511 14.5.2 淺複製與深複製511 14.5.3 複製構造函數513 14.6 有序連結清單515 14.6.1 插入(20)516 14.6.2 插入(60)(從迴圈處開始)517 14.6.3 插入(100)518 14.6.4 從連結清單中刪除519 14.6.5 刪除(30)520 14.6.6 刪

除(50)520 14.7 測試和調試523 14.8 小結524 第15章 繼承、多態和物件導向的設計525 15.1 物件導向的程式設計525 15.2 繼承526 15.2.1 類比527 15.2.2 繼承和物件導向的設計過程528 15.2.3 由一個類派生另一個類529 15.2.4 ExpandedEntry類的規格說明530 15.2.5 ExpandedEntry類的實現531 15.2.6 構造函數執行順序535 15.3 動態繫結和虛函數540 15.3.1 切去問題540 15.3.2 虛函數542 15.4 物件導向的設計543 15.4.1 自由討論544 15.

4.2 篩選544 15.4.3 情景探究545 15.4.4 職責演算法546 15.4.5 結語546 15.5 實現設計547 15.6 測試與調試562 15.7 小結563 第16章 範本、運運算元重載和異常564 16.1 範本類564 16.1.1 定義類範本565 16.1.2 產生實體類範本566 16.1.3 實現輸入參數的另一種方式:const引用568 16.1.4 程式碼的組織568 16.1.5 一句提醒573 16.2 泛型函數574 16.2.1 函數重載574 16.2.2 在類的外部定義函數範本575 16.2.3 產生實體函數範本575 16.3 運運算

元重載576 16.4 異常579 16.4.1 throw語句580 16.4.2 try—catch語句581 16.4.3 非局部例外處理常式583 16.4.4 重新拋出異常585 16.4.5 標準異常585 16.5 測試與調試601 16.6 小結602 第17章 使用標準範本庫的資料結構簡介603 17.1 抽象資料結構與實現603 17.2 其他線性結構605 17.2.1 棧606 17.2.2 佇列607 17.2.3 優先順序佇列608 17.3 雙向線性結構609 17.3.1 雙向列表609 17.3.2 雙端佇列609 17.4 STL簡介610 17.4.1

反覆運算器611 17.4.2 vector範本612 17.4.3 list範本616 17.4.4 stack範本618 17.4.5 queue範本620 17.4.6 priority_queue範本621 17.4.7 deque範本622 17.5 非線性結構632 17.5.1 二叉樹633 17.5.2 散列表635 17.6 關聯容器637 17.6.1 set範本637 17.6.2 map範本640 17.7 測試與調試652 17.8 小結652 第18章 遞迴654 18.1 什麼是遞迴654 18.2 使用簡單變數的遞迴演算法657 18.3 漢諾塔659 18.

4 使用結構化變數的遞迴演算法662 18.5 使用指標變數的遞迴668 18.5.1 按逆序輸出動態連結清單668 18.5.2 複製動態連結清單670 18.6 選擇遞迴還是反覆運算673 18.7 測試與調試679 18.8 小結680 附錄A 保留字681 附錄B 運運算元優先順序682 附錄C 標準庫常式選編683 附錄D 閱讀本書時使用標準化之前的C++版本692 附錄E 字元集695 附錄F 程式風格、格式設置和文檔697 附錄G 浮點數補議702 附錄H 使用C字串709 附錄I C++char常量715