|
-- 會員 / 註冊 --
|
|
|
|
從零開始學C語言(第3版) ( 簡體 字) |
作者:戴晟暉,馮志強 | 類別:1. -> 程式設計 -> C -> C |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 45681 詢問書籍請說出此書號!【缺書】 NT售價: 300 元 |
出版日:1/1/2017 |
頁數:372 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787121301049 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:近年來,C 語言是應用非常廣泛的一種高級程序設計語言,它不僅是計算機專業學生的必 修課,也是許多非計算機專業學生所青睞的技術學科。C 語言程序設計是全國和各省計算機等 級考試的重要考試內容。C 語言功能豐富,表達能力強,使用靈活方便,程序效率高,是結構 化程序設計語言。C 語言具有很強的實用性,既可用來編寫應用軟件,也適合于編寫系統軟件。 改版說明 本書前面兩版已經銷售了數萬冊,廣受讀者歡迎,這次改版主要在如下幾個方面進行了升 級: 1.修訂了書中的個別錯誤。 2.增加了大量的代碼注釋,讓書中代碼的可讀性更強,即使以前沒有學過編程,也能輕松 讀懂代碼。 3.每章最后增加了“典型實例”欄目,全書增加了40 多段經典C 語言代碼,幫助讀者體 會知識的精髓。 4.贈送《C 語言函數速查效率手冊》電子書及配套代碼文件,內含300 多個常用函數的語 法規范講解和300 多個典型案例,方便速查速用。 5.贈送《C 語言程序設計經典236 例》與《C++程序設計經典300 例》電子書及配套代碼 文件,分別精心收錄236 與300 個經典開發案例,全面覆蓋C 語言與C++開發技術,實踐出真 知。 6.贈送《C/C++程序員面試指南》電子書,內含200 多個經典面試題及解析,在提高開發 水平的同時快速提升面試能力。 本書的特點 C 語言是學習其他語言的基礎,讀者只要掌握C 語言,學習其他語言就會很快入門。本書 為了使讀者能夠從C 語言的初學者成為編程高手,專門對C 語言知識進行研究分析。本書的主 要特點如下: ? 結構清晰明了。本書共18 章,每章都分為若干節,每節一個小知識點,結構層次清晰 可見。 ? 內容全面詳細。本書涵蓋了C 語言中的所有主要知識,并將C 語言各個知識點作為單 獨章節進行講解,并舉出大量實例。 ? 講解由淺入深。本書首先向讀者介紹C 語言的基本理論知識、數據結構和基本的編程 規則,讓讀者對C 語言的基本知識及結構化程序設計思想有一個初步的認識;接著對 C 語言一些復雜的數據結構類型如數組、函數、指針操作、結構體與共用體、文件等 進行詳細的講解。 ? 實例豐富多樣。本書所講的每一個知識點都運用充分的實例進行講解說明,便于讀者 掌握。 1.清晰的體例結構 1 知識點介紹 準確、清晰是其顯著特點,一般放在每一節開始位置,讓零基礎的讀者 了解相關概念,順利入門。 2 貼心的提示 為了便于讀者閱讀,全書還穿插著一些技巧、提示等小貼士。體例約定 如下。 提示:通常是一些貼心的提醒,讓讀者加深印象或提供建議,或者解決問題的方法。 注意:提出學習過程中需要特別注意的一些知識點和內容,或者相關信息。 警告:對操作不當或理解偏差將會造成的災難性后果做出警示,以加深讀者印象。 3 實例 書中出現的完整實例,各章中接順序編號,便于檢索和循序漸進地學習、實踐, 各實例均放在每節知識點介紹之后。 4 實例代碼 與實例編號對應,層次清楚、語句簡潔、注釋豐富,體現了代碼優美的原 則,有助于讀者養成良好的代碼編寫習慣。 5 運行結果 針對實例給出運行結果和對應圖示,幫助讀者更直觀地理解實例代碼。 6 習題 每章最后提供專門的測試習題,供讀者檢驗所學知識是否牢固掌握。 經作者多年的培訓和授課證明,以上講解方式是非常適合初學者學習的方式,讀者按照這 種方式,會非常輕松、順利地掌握本書知識。 2.實用超值的配套資源包 為了幫助讀者比較直觀地學習,本書附帶大容量資源包,內容 包括同步教學視頻、電子教案(PPT)和實例源代碼,以及贈品等, ? 教學視頻 配有長達15 小時手把手教學視頻,講解關鍵知識點界面操作和書中的一些綜合練習題。作 者親自配音、演示,手把手指導讀者進行學習。 ? 電子教案(PPT) 本書可以作為高校相關課程的教材或課外輔導書,所以筆者特別為本書制作了電子教案 (PPT),以方便老師教學使用。 3.提供完善的技術支持 另外,論壇上還有 一些教程、視頻動畫和各種技術文章,可幫助讀者提高開發水平。 適合閱讀本書的讀者 ? C 語言的初、中級讀者。 ? 了解C 語言,但所學不全面的人員。 ? 高等理科院校學習C 語言課程的學生。 ? 使用C 語言進行畢業設計的學生。 ? 熟悉其他語言,以此作為參考書的開發人員。 |
內容簡介:為了使初學者都更好地掌握這門高級語言——C 語言,本書系統地介紹了程序設計的基本理論與編程技術。每一個知識點都作為一個獨立的章節進行詳細的講解,目的在于讓讀者在學習C 語言的過程中,能循序漸進、由淺入深。本書共4 篇分為18 章,內容包括C 語言入門基礎、C 語言程序、常量/變量與標識符、數據類型、運算符及其表達式、輸入與輸出、順序結構與選擇結構、循環結構程序設計、結構語句的轉移、數組、函數、指針、結構體、共用體和文件等內容。最后的實例篇,運用C 語言建立一個學生成績管理系統,通過對該系統的界面設計、功能分析、模塊描述,使讀者對C 語言程序設計有一個更加系統、深刻的理解。本書內容全面、論述翔實,適合C 語言的初學者,也可作為大、中專院校師生的培訓教材。對于C語言愛好者,本書也有很大的參考價值。 |
目錄:第1 篇 C 語言入門 第1 章 C 語言入門基礎 ( 教學視頻:58 分鐘) . 1 1.1 計算機語言的演變 ..... 1 1.1.1 機器語言 ...... 1 1.1.2 匯編語言 ...... 1 1.1.3 高級語言 ...... 1 1.1.4 面向對象或面向問題的高級語言 .. 2 1.2 數制、數制轉換與存儲 ... 2 1.2.1 數制 ....... 2 1.2.2 數制的轉換 ..... 3 1.2.3 計算機中數據的存儲 ... 4 1.3 程序設計思想——算法 ... 5 1.3.1 算法的概念 ..... 5 1.3.2 算法的特點 ..... 5 1.3.3 算法的表示方法 ..... 6 1.3.4 算法分析 ....... 8 1.4 C 語言的發展簡史和特點 ... 8 1.4.1 C 語言的誕生與發展 ... 9 1.4.2 C 語言的特點 ..... 10 1.5 本章小結 ..... 11 1.6 習題 ....... 11 第2 章 認識C 語言程序 ( 教學視頻:30 分鐘) . 12 2.1 C 語言程序的結構特征 ... 12 2.2 C 語言程序的書寫風格 ... 14 2.3 C 語言程序的開發過程 ... 15 2.4 Visual C++集成開發環境 ... 17 2.4.1 熟悉Visual C++ 6.0 集成開發環境 . 17 2.4.2 C 語言在Visual C++ 6.0 的開發過程 ..... 18 2.5 用Visual C++ 6.0 運行一個C 程序 .. 19 2.6 典型實例 ....... 20 2.7 本章小結 ....... 22 2.8 習題 ........ 22 第2 篇 C 語言基礎 第3 章 常量、變量與標識符 ( 教學視頻:17 分鐘) . 23 3.1 標識符 ....... 23 3.1.1 標識符的命名 ..... 23 3.1.2 保留字 ....... 23 3.2 常量 ........ 24 3.2.1 直接常量 ..... 24 3.2.2 符號常量 ..... 24 3.3 變量 ....... 25 3.3.1 變量的定義 ..... 25 3.3.2 變量初始化的方法 ..... 25 3.4 變量的初始化 ...... 26 3.5 典型實例 ....... 26 3.6 本章小結 ....... 27 3.7 習題 ....... 27 第4 章 數據類型 ( 教學視頻:28 分鐘) . 29 4.1 C 語言中的數據類型 .... 29 4.1.1 基本數據類型 ..... 29 4.1.2 構造數據類型 ..... 30 4.1.3 指針數據類型 ..... 30 4.1.4 空類型 ....... 30 4.2 整型數據 ....... 30 4.2.1 整型常量 ..... 31 4.2.2 整型變量 ..... 31 4.3 實數型數據 ....... 32 4.3.1 實數型常量 ..... 33 4.3.2 實數型變量 ..... 34 4.4 字符型數據 ...... 34 4.4.1 字符型常量 ..... 34 4.4.2 字符型變量 ..... 35 4.5 數值型數據間的混合運算 ... 37 4.5.1 自動類型轉換 ..... 37 4.5.2 強制類型轉換 ..... 38 4.6 典型實例 ..... 40 4.7 本章小結 ..... 41 4.8 習題 ....... 42 第5 章 運算符及其表達式 ( 教學視頻:57 分鐘) . 43 5.1 算術運算符及算術表達式 .... 43 5.1.1 算術運算符 ..... 43 5.1.2 算術表達式 ..... 45 5.2 賦值運算符及賦值表達式 ... 45 5.2.1 賦值運算符 ..... 46 5.2.2 賦值表達式 ..... 47 5.3 關系運算符及關系表達式 ... 48 5.3.1 關系運算符 ..... 48 5.3.2 關系表達式 ..... 49 5.4 邏輯運算符及邏輯表達式 .... 50 5.4.1 邏輯運算符 ..... 50 5.4.2 邏輯運算規則 ..... 51 5.4.3 邏輯表達式 ..... 52 5.5 條件運算符及條件表達式 ... 54 5.5.1 條件運算符 ..... 55 5.5.2 條件表達式 ..... 56 5.6 逗號運算符及逗號表達式 ... 58 5.6.1 逗號運算符 ..... 58 5.6.2 逗號表達式 ..... 59 5.7 位運算符 ...... 60 5.7.1 位邏輯運算符 ..... 60 5.7.2 移位運算符 ..... 62 5.7.3 位自反賦值運算符 ..... 64 5.8 位運算符 ...... 64 5.9 典型實例 ..... 65 5.10 本章小結 ..... 67 5.11 習題 ...... 67 第6 章 輸入與輸出 ( 教學視頻:65 分鐘) . 68 6.1 C 語句概述 ....... 68 6.1.1 流程控制語句 ..... 68 6.1.2 函數調用語句 ..... 72 6.1.3 表達式語句 ..... 72 6.1.4 空語句 ....... 72 6.1.5 復合語句 ..... 72 6.2 輸入與輸出函數 ..... 73 6.2.1 格式輸出函數 ..... 73 6.2.2 格式輸入函數 ..... 76 6.2.3 字符輸入與字符輸出函數 ... 80 6.3 整型數據的輸入與輸出 .... 82 6.3.1 整型數據的輸出 ..... 82 6.3.2 整型數據的輸入 ..... 84 6.4 浮點型數據的輸入與輸出 ... 84 6.5 典型實例 ....... 85 6.6 本章小結 ....... 90 6.7 習題 ........ 90 第7 章 順序結構與選擇結構 ( 教學視頻:35 分鐘) . 91 7.1 順序結構程序設計 .... 91 7.2 選擇結構程序設計 .... 93 7.2.1 if 語句 ....... 93 7.2.2 switch 語句 ..... 98 7.3 典型實例 ....... 101 7.4 本章小結 ....... 104 7.5 習題 ....... 104 第8 章 循環結構程序設計 ( 教學視頻:54 分鐘) . 105 8.1 while 語句 ...... 105 8.2 do…while 語句..... 107 8.3 for 語句 ...... 110 8.3.1 for 循環結構 ..... 110 8.3.2 for 循環語句的嵌套 ... 113 8.4 應用總結 ...... 115 8.4.1 幾種循環的比較 ..... 115 8.4.2 循環語句的嵌套 ..... 116 8.5 典型實例 ....... 119 8.6 本章小結 ....... 121 8.7 習題........ 121 第9 章 結構語句的轉移 ( 教學視頻:13 分鐘) . 122 9.1 break 語句 ...... 122 9.2 跳出循環結構 ..... 124 9.2.1 問題1 ...... 124 9.2.2 問題2 ...... 125 9.3 continue 語句 ..... 126 9.4 goto 語句 ...... 128 9.5 典型實例 ...... 129 9.6 本章小結 ...... 132 9.7 習題 ....... 132 第3 篇 C 語言進階 第10 章 數組 ( 教學視頻:78 分鐘) . 133 10.1 數組的概述 ..... 133 10.2 一維數組 ....... 134 10.2.1 一維數組的定義 ..... 134 10.2.2 一維數組的初始化 ... 134 10.2.3 一維數組的引用 ..... 136 10.2.4 一維數組的程序舉例 ... 137 10.3 二維數組 ....... 143 10.3.1 二維數組的定義 ..... 143 10.3.2 二維數組的初始化 ... 144 10.3.3 二維數組的引用 ..... 146 10.3.4 數組的程序舉例 ..... 148 10.4 典型實例 ....... 150 10.5 本章小結 ....... 155 10.6 習題 ........ 155 第11 章 字符數組 ( 教學視頻:45 分鐘) . 156 11.1 字符數組的定義 .... 156 11.2 字符數組的初始化 .... 157 11.3 字符數組的引用 .... 157 11.4 字符數組與字符串的關系 ... 157 11.5 字符數組的輸入與輸出 ... 159 11.6 字符串處理函數 .... 160 11.6.1 輸入字符串函數gets.... 160 11.6.2 輸出字符串函數puts ... 160 11.6.3 字符串測長度函數strlen ... 160 11.6.4 字符串比較函數strcmp ... 160 11.6.5 字符串復制函數strcpy 和strncpy ..... 161 11.6.6 字符串連接函數strcat ... 161 11.7 典型實例 ....... 163 11.8 本章小結 ....... 167 11.9 習題 ....... 168 第12 章 函數 ( 教學視頻:43 分鐘) . 169 12.1 函數的初步認識 .... 169 12.2 函數定義 ....... 171 12.2.1 無參函數定義 ..... 171 12.2.2 有參函數定義 ..... 172 12.2.3 空函數定義 ..... 172 12.3 函數參數及返回值 .... 173 12.3.1 函數的參數 ..... 173 12.3.2 函數的返回值 ..... 175 12.4 函數的參數傳遞 .... 176 12.4.1 函數參數的數值傳遞 ... 176 12.4.2 函數參數的地址傳遞 ... 177 12.5 典型實例 ..... 178 12.6 本章小結 ....... 181 12.7 習題 ....... 181 第13 章 函數的調用 ( 教學視頻:75 分鐘) . 182 13.1 函數調用的一般形式 .... 182 13.2 函數調用的形式 .... 183 13.3 被調用函數的聲明與函數原型 .. 184 13.4 函數的嵌套調用和遞歸調用 ... 187 13.4.1 函數的嵌套調用 ..... 187 13.4.2 函數的遞歸調用 ..... 188 13.5 變量作用域 ..... 189 13.5.1 變量作用域和生存期 ... 189 13.5.2 局部變量和全局變量 ... 189 13.5.3 變量存儲類別 ..... 192 13.6 編譯預處理 ...... 197 13.6.1 宏定義 ..... 197 13.6.2 文件包含處理 ..... 200 13.6.3 條件編譯 ..... 201 13.7 典型實例 ....... 202 13.8 本章小結 ....... 209 13.9 習題 ....... 209 第14 章 指針操作 ( 教學視頻:67 分鐘) . 210 14.1 指針與地址 ...... 210 14.2 指針和指針變量 .... 211 14.2.1 指針變量的定義 ..... 211 14.2.2 指針變量的引用 ..... 213 14.2.3 指針的運算 ..... 214 14.3 指針和數組 ..... 218 14.3.1 數組的指針和指向數組的指針變量 ..... 218 14.3.2 指針數組和指向指針的指針 . 222 14.3.3 指向字符串的指針 ... 224 14.3.4 數組名作為函數參數 ... 225 14.4 指針和函數 ..... 229 14.4.1 函數的指針和指向 函數的指針變量 ..... 229 14.4.2 用指向函數的指針作為函數參數 .. 231 14.4.3 指針數組作為函數參數 ... 237 14.4.4 返回指針值的函數 ... 238 14.4.5 字符串指針作為函數參數 ... 239 14.5 典型實例 ....... 240 14.6 本章小結 ....... 243 14.7 習題 ........ 243 第15 章 結構體 ( 教學視頻:77 分鐘) . 244 15.1 結構體類型定義 .... 244 15.1.1 結構體類型的說明 ... 244 15.1.2 結構體類型的定義 ... 244 15.2 結構體變量的定義與引用.... 246 15.2.1 結構體變量的定義與初始化 . 246 15.2.2 結構體變量的引用 ... 248 15.3 結構數組 ....... 251 15.3.1 結構數組的定義 ..... 251 15.3.2 結構數組的引用 ..... 253 15.4 結構體指針 ..... 254 15.4.1 結構體指針變量的定義 ... 254 15.4.2 結構體指針變量的引用 ... 255 15.5 鏈表 ........ 258 15.5.1 鏈表概述 ..... 258 15.5.2 單鏈表建立 ..... 260 15.5.3 單鏈表簡單操作 ..... 264 15.6 典型實例 ....... 274 15.7 本章小結 ....... 284 15.8 習題 ........ 284 第16 章 共用體 ( 教學視頻:43 分鐘) . 285 16.1 共用體類型定義 .... 285 16.1.1 定義共用體 ..... 285 16.1.2 共用體的存儲 ..... 286 16.2 共用體類型變量、數組和指針變量的定義 ..... 287 16.2.1 先定義共用體,再定義共用體變量、數組及指針變量 . 287 16.2.2 定義共用體的同時定義共用體變量、數組及指針變量 ... 288 16.2.3 定義共用體變量、數組及指針變量時省略共用體名 ... 288 16.3 共用體類型變量、數組和指針變量的引用 .... 288 16.4 枚舉類型 ..... 290 16.4.1 枚舉類型的定義 ..... 290 16.4.2 枚舉類型變量的賦值和引用 . 291 16.5 用typedef 定義數據類型 ... 293 16.6 典型實例 ..... 297 16.7 本章小結 ..... 299 16.8 習題 ....... 300 第17 章 文件 ( 教學視頻:58 分鐘) . 301 17.1 文件概述 ....... 301 17.1.1 文件名 ..... 301 17.1.2 文件的類型 ..... 302 17.2 文件類型指針 ...... 302 17.3 文件的打開與關閉 .... 304 17.3.1 文件打開函數fopen() .... 304 17.3.2 文件關閉函數fclose() .... 306 17.4 文件的讀寫操作 .... 307 17.4.1 字符讀寫函數 ..... 307 17.4.2 字符串讀寫函數 ..... 309 17.4.3 數據塊讀寫函數 ..... 313 17.4.4 格式數據讀寫函數 ... 315 17.5 文件的定位 ..... 316 17.5.1 文件頭定位函數rewind() .. 317 17.5.2 文件隨機定位函數fseek() ... 317 17.5.3 測試當前位置函數ftell() ... 319 17.6 文件的檢測 ..... 319 17.6.1 文件末尾檢測函數feof() ... 319 17.6.2 文件讀寫出錯檢測函數ferror() .. 320 17.6.3 清除文件末尾和出錯標志函數clearerr() ...... 321 17.7 典型實例 ....... 322 17.8 本章小結 ....... 324 17.9 習題 ....... 324 第4 篇 案例實戰 第18 章 學生成績管理系統設計 ( 教學視頻:18 分鐘) . 325 18.1 學生成績管理系統功能 .... 325 18.2 功能模塊的描述 .... 325 18.2.1 數據結構 ..... 325 18.2.2 main()主函數 .... 325 18.2.3 score *creatlink()創建動態鏈表 . 326 18.2.4 void print(score *head)顯示學生信息 ..... 327 18.2.5 score *add(score *head,score *stu)向鏈表中添加學生數據 ... 327 18.2.6 score *search(score *head)查詢學生成績 ..... 327 18.2.7 score *dele(score *head)刪除數據 . 328 18.2.8 score *sortdata(score *head)對數據進行排序 ..... 328 18.2.9 save(score *p1)保存數據 .. 328 18.2.10 score *load(score *head)從文件中讀取數據 ... 328 18.2.11 score *statistics(score *head)成績統計 ..... 329 18.2.12 int menu(int k)菜單 ... 329 18.2.13 用到的頭文件和全局變量 ... 329 18.3 程序代碼 ....... 329 18.3.1 主函數main()代碼 ... 329 18.3.2 創建鏈表函數creatlink() ... 330 18.3.3 顯示學生信息函數print() .. 333 18.3.4 向鏈表中添加學生數據函數add() ..... 333 18.3.5 查詢學生成績函數search .. 335 18.3.6 刪除數據函數dele ... 336 18.3.7 對數據進行排序函數sortdata() . 337 18.3.8 保存數據函數save() .... 340 18.3.9 從文件中讀取數據函數loadfile() . 340 18.3.10 成績統計函數statistics() .. 341 18.4 程序運行 ....... 343 18.4.1 編輯學生成績 ..... 343 18.4.2 顯示學生成績 ..... 343 18.4.3 保存學生成績信息 ... 344 18.4.4 查詢學生的成績 ..... 344 18.4.5 添加學生的成績 ..... 344 18.4.6 刪除學生的成績 ..... 345 18.4.7 學生成績排序 ..... 345 18.4.8 從文件中讀取學生的成績 ... 345 18.4.9 統計學生的成績 ..... 345 18.5 本章小結 ....... 346 附錄A ASCII 字符集 .... 347 附錄B 運算符的優先級與結合性 .. 349 附錄C C 語言常用庫函數 .. 352 附錄D 安裝Visual C++ 6.0集成開發環境 ... 355 |
序: |
|