|
-- 會員 / 註冊 --
|
|
|
|
C語言開發從入門到精通 ( 簡體 字) |
作者:王長青 韓海玲 | 類別:1. -> 程式設計 -> C -> C |
譯者: |
出版社:人民郵電出版社 | 3dWoo書號: 45201 詢問書籍請說出此書號!【缺書】 NT售價: 275 元 |
出版日:9/1/2016 |
頁數:410 |
光碟數:1 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787115420169 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介: 本書循序漸進、由淺入深地詳細講解了C語言開發的技術,并通過具體實例的實現過程演練了各個知識點的具體使用流程。全書共22章,第1∼4章分別講解了C語言開發的基礎知識,包括C語言簡介,安裝開發工具等;第5∼10章分別講解了函數、輸入/輸出、流程控制、數組操作等知識,這些內容都是C語言技術的核心知識;第11∼20章分別講解了指針、結構體、共用體和枚舉、鏈表、位運算、預編譯、文件操作、錯誤調試和高級編程技術的知識,這些內容是C語言開發技術的重點和難點;第21∼22章分別通過2個綜合實例的實現過程,介紹了C語言在綜合項目中的開發過程。全書內容以“技術解惑”和“范例演練”貫穿全書,引領讀者全面掌握C語言。 本書不但適用C語言的初學者,也適合有一定C語言基礎的讀者學習,還可以作為大專院校相關專業的師生用書和培訓學校的教材。
|
目錄:第1章 C語言之定位 1 (視頻總計24分鐘,實例1個,拓展實例2個,技術解惑3個) 1.1 C語言的誕生 2 1.2 第一印象的建立 2 1.3 理解編譯系統——學習的第一步 3 1.4 揭開存儲器的層次 5 1.5 技術解惑 6 1.5.1 學習C語言還有用嗎 6 1.5.2 怎樣學好C語言 7 1.5.3 學好C語言的建議 7 第2章 C語言開發工具詳解 8 (視頻總計15分鐘,技術解惑3個) 2.1 用DOS開發C程序 9 2.1.1 安裝Turbo C 3.0 9 2.1.2 認識Turbo C 3.0集成開發環境 11 2.1.3 Turbo C 3.0開發演習 14 2.2 在Windows環境下開發C程序 15 2.2.1 Visual Studi2o 2010介紹 15 2.2.2 安裝Visual Studio 2010 15 2.2.3 認識Visual Studio 2010 開發環境 17 2.3 在Linux下開發C程序 18 2.3.1 裝備GCC 18 2.3.2 GCC基本使用介紹 20 2.4 技術解惑 22 2.4.1 安裝Visual Studio的幾個 常見問題 22 2.4.2 有沒有輕量級的、可以復制和粘貼代碼的工具 22 2.4.3 Windows 7中安裝Visual Studio的常見問題 22 第3章 算法——抓住程序的靈魂 23 (視頻總計25分鐘,技術解惑2個) 3.1 我們對算法的理解 24 3.1.1 為什么是程序靈魂 24 3.1.2 何謂算法 24 3.1.3 算法的特性 25 3.2 算法表示法——流程圖 26 3.3 用計算機語言表示算法 27 3.4 技術解惑 27 3.4.1 初學者的一個困惑 27 3.4.2 另外一種表示方法— N-S流程圖 28 第4章 程序員的基本素質培養 29 (視頻總計15分鐘,技術解惑1個) 4.1 養成好的命名習慣 30 4.2 C程序文件結構 30 4.2.1 C程序組成部分 30 4.2.2 C程序格式總結 31 4.3 養成好的C語言編程風格 32 4.3.1 隨時使用縮進格式 32 4.3.2 注意大符號的位置 32 4.3.3 函數的規則 33 4.3.4 注意注釋 33 4.4 如何成為一名優秀的程序員 33 4.5 技術解惑 35 第5章 C語言語法 36 (視頻總計23分鐘,實例5個,拓展實例10個,技術解惑4個) 5.1 標識符和關鍵字 37 5.2 最基本的數據類型 37 5.3 常量和變量的深入理解 38 5.3.1 常量詳解 39 5.3.2 變量詳解 40 5.4 整型數據 42 5.4.1 整型常量詳解 42 5.4.2 整型變量詳解 44 5.5 實型數據 46 5.5.1 實型常量詳解 46 5.5.2 實型變量詳解 46 5.5.3 了解實型常量的類型 48 5.6 字符型數據 48 5.6.1 字符常量詳解 49 5.6.2 字符串常量詳解 50 5.6.3 字符變量詳解 51 5.7 初始化變量 52 5.8 整型、實型和字符型數據間的 運算總結 53 5.8.1 自動轉換 53 5.8.2 強制轉換 54 5.9 技術解惑 54 5.9.1 C語言中無符號整型變量和 有符號整型變量指什么? 54 5.9.2 C語言中字符變量是怎么 回事 55 5.9.3 怎么理解字符型數據取值 范圍為0∼255 55 5.9.4 怎樣將帶小數點的字符型 數據轉換成浮點型的 55 第6章 運算符和表達式 56 (視頻總計29分鐘,實例8個,拓展實例16個,技術解惑5個) 6.1 運算符和表達式的基本概況 57 6.1.1 先看運算符的種類 57 6.1.2 再看運算符的優先級 58 6.2 算術運算符和算術表達式詳解 59 6.2.1 單目運算符 59 6.2.2 雙目運算符 60 6.3 賦值運算符和賦值表達式 60 6.3.1 基本賦值運算符 61 6.3.2 復合賦值運算符 61 6.3.3 賦值表達式 62 6.4 關系運算符和關系表達式詳解 63 6.4.1 關系運算符 63 6.4.2 關系表達式 63 6.5 邏輯運算符和邏輯表達式詳解 64 6.5.1 邏輯運算符 64 6.5.2 邏輯表達式 64 6.6 逗號運算符和逗號表達式詳解 66 6.6.1 逗號運算符 66 6.6.2 逗號表達式 66 6.7 求字節數運算符詳解 67 6.8 技術解惑 68 6.8.1 C語言運算符優先級的 詳細情況 68 6.8.2 有少數運算符有規定表達式 求值的順序 70 6.8.3 在C語言中可以進行混合 運算嗎 70 6.8.4 在一個邏輯條件語句中 常數項永遠在左側 70 6.8.5 賦值處理的自動類型轉換 70 第7章 輸入和輸出 72 (視頻總計25分鐘,實例7個,拓展實例14個,技術解惑3個) 7.1 先來了解C語句初步 73 7.1.1 C語句簡介 73 7.1.2 賦值語句 74 7.2 打通任督二脈——數據輸入和 輸出詳解 75 7.2.1 putchar函數(字符輸出 函數) 76 7.2.2 getchar函數(字符輸入 函數) 77 7.2.3 printf函數(格式輸出 函數) 78 7.2.4 scanf函數(格式輸入 函數) 81 7.2.5 puts函數(字符串輸出 函數) 84 7.2.6 gets函數(字符串輸入 函數) 84 7.3 技術解惑 85 7.3.1 gets函數和scanf函數的 區別 85 7.3.2 克服gets函數的缺陷 85 7.3.3 一個C語言的輸入和輸出 問題 87 第8章 流程控制 88 (視頻總計32分鐘,實例8個,拓展實例16個,技術解惑3個) 8.1 最常見的順序結構 89 8.2 選擇結構 89 8.2.1 單分支結構語句 90 8.2.2 雙分支結構語句 91 8.2.3 還要使用多分支結構語句 94 8.2.4 條件運算符和條件表達式 96 8.3 循環結構詳解 97 8.3.1 for語句循環 98 8.3.2 while語句 99 8.3.3 do-while語句 101 8.3.4 正確對待goto語句 102 8.3.5 break/continue跳躍 103 8.3.6 死循環/退出程序 104 8.4 技術解惑 105 8.4.1 循環中的低效問題 105 8.4.2 分析C語言循環語句的 效率 105 8.4.3 使用for循環語句的注意 事項 106 第9章 數組和字符串——數據存在形式 107 (視頻總計49分鐘,實例13個,拓展實例26個,技術解惑4個) 9.1 一維數組 108 9.1.1 定義一維數組 108 9.1.2 引用一維數組元素 108 9.1.3 初始化一維數組 109 9.2 多維數組 110 9.2.1 二維數組 110 9.2.2 多維數組 113 9.3 字符數組與字符串 115 9.3.1 字符數組 116 9.3.2 字符串與字符數組 116 9.3.3 字符數組的輸入和輸出 117 9.4 字符串處理函數 119 9.4.1 測試字符串長度函數 119 9.4.2 字符串大小寫轉換函數 119 9.4.3 字符串復制函數 120 9.4.4 字符串比較函數 121 9.4.5 字符串連接函數 123 9.4.6 其他的字符串函數 124 9.4.7 將字符串轉換成數值的 函數 124 9.5 字符處理函數 125 9.5.1 字符檢測函數詳解 125 9.5.2 字符大小寫轉換函數 詳解 127 9.6 技術解惑 128 9.6.1 數組的下標總是從0 開始嗎 128 9.6.2 C語言對數組的處理是 非常有效的嗎 128 9.6.3 初始化賦值一維數組的 注意事項 129 9.6.4 冒泡排序 129 第10章 函數——C語言的CPU 130 (視頻總計65分鐘,實例14個,拓展實例28個,技術解惑10個) 10.1 C語言函數的基礎知識 131 10.1.1 函數的分類 131 10.1.2 函數的定義 132 10.2 必須知道的函數聲明和函數 原型 133 10.3 函數的參數 135 10.3.1 形參和實參詳解 135 10.3.2 可以將數組名作為函數 參數 136 10.3.3 可以將數組作為函數 參數 138 10.4 函數的返回值 140 10.5 怎樣實現函數的調用 142 10.5.1 函數的調用格式 142 10.5.2 函數調用的方式 142 10.5.3 被調函數的聲明方式 144 10.5.4 對調用函數的方式進行 深入分析 144 10.6 函數的嵌套調用和遞歸調用 146 10.6.1 函數嵌套調用詳解 146 10.6.2 函數遞歸調用詳解 148 10.7 必須了解變量的作用域和 生存期 151 10.7.1 變量作用域詳解 151 10.7.2 靜態存儲變量和動態存儲 變量 153 10.8 談談C的內部函數和外部函數 159 10.8.1 內部函數詳解 159 10.8.2 外部函數詳解 160 10.9 必須知道的庫函數 161 10.10 技術解惑 162 10.10.1 深入分析項目文件 162 10.10.2 要盡量避免不必要的 函數調用 164 10.10.3 請確保聲明和定義是 靜態的,除非希望從 不同的文件中調用該 函數 164 10.10.4 避免過長的main (函數) 164 10.10.5 函數的地址本身也是 數據 166 10.10.6 什么時候說明函數 167 10.10.7 一個函數可以有多少個 參數 168 10.10.8 如果一個函數沒有 返回值,是否需要 加入return語句 168 10.10.9 在程序退出main函數 之后還有可能執行 一部分代碼 168 10.10.10 exit()函數和return語句有什么不同 169 第11章 指針是學習C語言的最大障礙 170 (視頻總計61分鐘,實例14個,拓展實例28個,技術解惑8個) 11.1 基本概念 171 11.2 變量的指針和指向變量的指針 變量 171 11.2.1 聲明指針變量 172 11.2.2 指針變量的初始化 172 11.2.3 指針變量的引用 173 11.2.4 關于指針運算符的說明 174 11.2.5 指針變量的運算 175 11.2.6 指針變量作為函數參數 176 11.2.7 void類型的指針 179 11.3 指針和數組 180 11.3.1 數組元素的指針 181 11.3.2 指向一維數組元素的 指針變量 182 11.3.3 通過指針引用數組元素 182 11.3.4 數組名作函數參數 185 11.4 指針和多維數組 187 11.4.1 多維數組的地址 187 11.4.2 指向多維數組的指針 變量 189 11.5 指針和字符串 192 11.5.1 指針訪問字符串 192 11.5.2 字符串指針作函數參數 193 11.5.3 使用字符串指針變量與 字符數組的區別 194 11.6 指針數組和多級指針 195 11.6.1 指針數組 195 11.6.2 多級指針的定義和應用 196 11.6.3 指向指針的指針 198 11.6.4 main函數的參數 198 11.7 指針函數和函數指針 199 11.7.1 指針函數 199 11.7.2 函數指針 200 11.8 技術解惑 202 11.8.1 指針初始化時應注意的 問題 202 11.8.2 指針賦值時應注意的 問題 203 11.8.3 指針用于數組時應注意的 問題 204 11.8.4 結構中使用指針時應 注意的問題 204 11.8.5 避免不必要的內存引用 205 11.8.6 避免懸空指針和野指針 205 11.8.7 數組下標與指針的效率 解析 205 11.8.8 使用指針時的常見錯誤 206 第12章 數據的熔爐——結構體、共用 體和枚舉 208 (視頻總計49分鐘,實例12個,拓展實例24個,技術解惑4個) 12.1 結構體 209 12.1.1 定義結構體類型 209 12.1.2 定義結構體類型變量 209 12.1.3 引用結構體變量 211 12.1.4 初始化結構體變量 213 12.2 進一步談結構體數組 214 12.2.1 定義結構體數組 214 12.2.2 初始化結構體數組 215 12.2.3 引用結構體數組 216 12.3 詳談結構體指針 217 12.3.1 定義結構體指針變量 217 12.3.2 初始化結構體指針變量 218 12.3.3 引用結構體指針變量 218 12.3.4 指向結構變量的指針 219 12.3.5 指向結構體數組的 指針 220 12.4 在函數中使用結構體 220 12.4.1 結構體變量和結構體指針 可以作為函數參數 221 12.4.2 函數可以返回結構體 類型的值 222 12.5 共用體(聯合) 223 12.5.1 定義共用體和共用體 變量 223 12.5.2 引用和初始化共用體 變量 224 12.6 枚舉 225 12.6.1 定義枚舉類型 225 12.6.2 定義枚舉變量 226 12.6.3 引用枚舉變量 227 12.7 為什么需要用typedef定義 類型 228 12.7.1 類型定義符typedef 基礎 228 12.7.2 使用typedef 229 12.8 技術解惑 230 12.8.1 可以省略結構名嗎 230 12.8.2 是否可以定義一種通用 數據類型方便地存儲 任意類型的數據呢 230 12.8.3 分析結構和共用體的 區別 231 12.8.4 一個定義C結構體的 問題 231 第13章 鏈表 232 (視頻總計25分鐘,實例4個,拓展實例8個,技術解惑3個) 13.1 動態內存分配 233 13.1.1 為什么用動態內存 分配 233 13.1.2 如何實現動態內存分配 及其管理 233 13.2 鏈表詳解 236 13.2.1 鏈表基本介紹 236 13.2.2 單向鏈表 237 13.2.3 創建一個鏈表 239 13.2.4 刪除整個鏈表 240 13.2.5 在鏈表中插入節點 240 13.2.6 在鏈表中刪除節點 241 13.2.7 雙向鏈表 242 13.2.8 循環鏈表 243 13.3 技術解惑 244 13.3.1 一段代碼對鏈表的 總結 244 13.3.2 面試題—判斷單鏈表是 否有環 248 13.3.3 面試題—實現單鏈表 逆置 248 第14章 位運算 250 (視頻總計22分鐘,實例2個,拓展實例4個,技術解惑3個) 14.1 位運算符和位運算 251 14.1.1 按位與運算(&) 251 14.1.2 按位或運算 252 14.1.3 按位異或運算 252 14.1.4 取反運算 253 14.1.5 左移運算 253 14.1.6 右移運算 254 14.1.7 位運算應用實例 254 14.2 位域 256 14.2.1 位域的定義和位域變量的 說明 256 14.2.2 位域的使用 257 14.3 技術解惑 257 14.3.1 二進制補碼運算公式 257 14.3.2 面試題:從某個數中取出 指定的某些位 258 14.3.3 位域的內存對齊原則 258 第15章 預編譯處理 259 (視頻總計27分鐘,實例3個,拓展實例6個,技術解惑6個) 15.1 預編譯基礎 260 15.2 宏定義 260 15.2.1 不帶參數的宏定義 260 15.2.2 帶參數的宏定義 262 15.2.3 字符串化運算符 264 15.2.4 并接運算符 264 15.3 文件包含詳解 265 15.4 條件編譯 267 15.4.1 #ifdef… #else…#endif 命令 267 15.4.2 #if defined… #else… #endif 268 15.4.3 #ifndef… #else…#endif 268 15.4.4 #if !defined… #else… #endif 268 15.4.5 #ifdef…#elif… #elif… #else… #endif 269 15.5 技術解惑 270 15.5.1 還有其他預編譯 指令嗎 270 15.5.2 帶參的宏定義和函數 不同 271 15.5.3 總結C語言中的預處理 指令 271 15.5.4 預編譯指令的本質是 什么 271 15.5.5 sizeof(int)在預編譯 階段是不會被求值的 272 15.5.6 多行預處理指令的 寫法 272 第16章 文件操作 273 (視頻總計56分鐘,實例14個,拓展實例28個,技術解惑5個) 16.1 C領域中的文件 274 16.1.1 文本文件 274 16.1.2 文件分類 275 16.2 文件指針 275 16.3 實現文件打開與關閉 276 16.3.1 打開文件 276 16.3.2 關閉文件 278 16.4 文件讀寫詳解 279 16.4.1 字符讀寫函數 280 16.4.2 字符串讀寫函數 282 16.4.3 格式化讀寫函數 283 16.4.4 數據塊讀寫函數 284 16.4.5 其他的讀寫函數 286 16.5 必須掌握文件的隨機讀寫 287 16.5.1 fseek函數詳解 287 16.5.2 rewind函數詳解 289 16.5.3 ftell函數詳解 289 16.6 文件管理函數詳解 290 16.6.1 刪除文件 290 16.6.2 重命名文件 291 16.6.3 復制文件 291 16.7 文件狀態檢測函數詳解 293 16.7.1 feof函數詳解 293 16.7.2 ferror函數詳解 293 16.7.3 clearerr函數詳解 294 16.8 Win32 API中的文件操作 函數 294 16.8.1 創建和打開文件 295 16.8.2 讀取、寫入和刪除 文件 295 16.9 技術解惑 296 16.9.1 文件指針和文件內部的 位置指針是一個 含義嗎 296 16.9.2 fseek函數的換行問題 296 16.9.3 怎樣解決gets函數的 溢出問題 296 16.9.4 feof函數會多讀一個 數據嗎 297 16.9.5 流和文件有何關系 297 第17章 錯誤和程序調試 298 (視頻總計9分鐘,技術解惑3個) 17.1 常見錯誤分析 299 17.1.1 語法錯誤 299 17.1.2 邏輯錯誤(語義錯誤) 300 17.1.3 內存錯誤 303 17.2 錯誤的檢出與分離 308 17.3 調試時的注意事項 309 17.3.1 上機前要先熟悉程序 運行的環境 309 17.3.2 程序設計過程中要為 程序調試做好準備 309 17.4 技術解惑 310 17.4.1 編譯通過并不代表運行 正確 310 17.4.2 兩段代碼的編譯差別 310 17.4.3 調試程序的方法與 技巧 310 第18章 組件技術 313 (視頻總計19分鐘) 18.1 組件技術概述 314 18.2 體系結構 314 18.2.1 體系結構的概念 314 18.2.2 CORBA技術體系 315 18.2.3 DCOM技術 319 第19章 C語言高級編程技術 322 (視頻總計33分鐘,實例12個,拓展實例 8個) 19.1 何謂C的高級編程技術 323 19.2 分析文本的屏幕輸出和鍵盤 輸入 323 19.2.1 實現文本的屏幕輸出 323 19.2.2 實現鍵盤輸入 329 19.2.3 應用實例 330 19.3 分析圖形顯示方式和鼠標 輸入 332 19.3.1 初始化圖形模式 332 19.3.2 清屏和恢復顯示函數 詳解 334 19.3.3 建立獨立圖形運行 程序 335 19.3.4 基本繪圖函數詳解 335 19.3.5 線性函數詳解 339 19.3.6 顏色控制函數詳解 340 19.3.7 分析填色函數和畫圖 函數 344 19.3.8 圖形窗口函數詳解 347 19.3.9 分析圖形方式下的 文本輸出函數 347 19.4 菜單設計 350 19.4.1 實現下拉式菜單 350 19.4.2 實現彈出式菜單 353 第20章 網絡編程技術 358 (視頻總計33分鐘,實例3個,拓展實例 2個) 20.1 OSI七層網絡模型 359 20.2 TCP/IP子協議 360 20.2.1 IP協議 361 20.2.2 TCP協議 362 20.2.3 UDP協議 363 20.2.4 ICMP協議 363 20.3 使用C語言開發網絡項目 363 20.3.1 網絡編程方式 364 20.3.2 網絡通信基本流程 364 20.3.3 搭建開發環境 365 20.3.4 兩個常用的數據結構 365 20.3.5 Windows Sockets基礎 365 20.4 常用的Winsock函數 366 20.4.1 WSAStartup函數 366 20.4.2 socket函數 366 20.4.3 inet_addr函數 367 20.4.4 gethostbyname函數 367 20.4.5 bind函數 367 20.4.6 connect函數 367 20.4.7 select函數 367 20.4.8 recv函數 368 20.4.9 sendto函數 368 20.5 MAC地址 368 20.6 NetBIOS編程 369 20.6.1 處理過程 369 20.6.2 NetBIOS命令 369 20.6.3 NetBIOS名字解析 370 20.6.4 何謂NetBEUI 372 20.6.5 NetBIOS范圍 373 20.6.6 NetBios控制塊 373 20.7 實戰演練——獲取當前機器 MAC地址 373 20.7.1 選擇開發工具 373 20.7.2 設計MFC窗體 373 20.7.3 具體編碼 374 第21章 初入江湖——游戲項目設計 381 (視頻總計45分鐘) 21.1 游戲功能描述 382 21.2 游戲總體設計 382 21.2.1 功能模塊設計 383 21.2.2 數據結構設計 385 21.2.3 構成函數介紹 386 21.3 游戲具體實現 387 21.3.1 預處理 387 21.3.2 主函數 389 21.3.3 初始化界面處理 390 21.3.4 時鐘中斷處理 391 21.3.5 成績、速度和幫助 處理 391 21.3.6 滿行處理 392 21.3.7 方塊顯示和消除處理 394 21.3.8 游戲方塊操作判斷 處理 395 第22章 風云再起——網絡項目設計 398 (視頻總計28分鐘) 22.1 系統功能描述 399 22.2 系統總體設計 399 22.2.1 功能模塊設計 399 22.2.2 數據結構設計 401 22.2.3 構成函數介紹 402 22.3 系統具體實現 403 22.3.1 預處理 403 22.3.2 初始化處理 404 22.3.3 控制模塊 405 22.3.4 數據報解讀處理 406 22.3.5 Ping測試處理 408 22.3.6 主函數 409
|
序: |
|