《C語言程式設計(第2版)》是由劉欣亮、李敏主編,2018年2月電子工業出版社出版的普通高等教育“十三五”規劃教材。該教材適合作為高等院校非計算機類各專業“C語言程式設計”課程的教材,也可作為電腦程式設計人員的參考書。
全書共12章,分為程式設計基礎篇和程式設計進階篇兩大部分:基礎篇介紹了C語言概述,數據類型、運算符與表達式,順序結構程式設計,選擇結構程式設計,循環結構程式設計,數組,函式及預處理命令;進階篇主要介紹了指針,結構體與共用體,位運算及檔案。
基本介紹
- 書名:C語言程式設計(第2版)
- 作者:劉欣亮、李敏
- ISBN:9787121333040
- 類別:普通高等教育“十三五”規劃教材
- 頁數:336頁
- 出版社:電子工業出版社
- 出版時間:2018年2月
- 裝幀:平裝
- 開本:16開
- 字數:538千字
- CIP核字號:2017311549
成書過程
修訂過程
出版工作
策劃編輯 | 責任編輯 |
---|---|
戴晨辰 | 戴晨辰 |
內容簡介
教材目錄
程式設計基礎篇 第1章 C語言概述 1 1.1 程式設計語言的發展過程 1 1.1.1 機器語言(第一代語言) 1 1.1.2 彙編語言(第二代語言)1 1.1.3 高級語言 1 1.2 C語言簡介 2 1.2.1 C語言的發展 2 1.2.2 C語言的特點 2 1.2.3 C語言和C++語言 3 1.3 C語言程式的結構 3 1.3.1 簡單的C語言程式 3 1.3.2 C語言程式的結構 6 1.4 C語言程式的運行步驟和集成開發環境 7 1.4.1 C語言程式的運行步驟 7 1.4.2 C語言的集成開發環境 8 小結 9 習題1 9 第2章 數據類型、運算符與表達式 11 2.1 C語言數據類型概述 11 2.2 常量 12 2.2.1 常量的概念 12 2.2.2 符號常量 12 2.2.3 整型常量 13 2.2.4 實型常量 14 2.2.5 字元常量 15 2.2.6 字元串常量 17 2.3 變數 18 2.3.1 變數的概念及其套用 18 2.3.2 整型變數 18 2.3.3 實型變數 20 2.3.4 字元型變數 22 2.4 算術運算符和算術表達式 24 2.4.1 運算符概述 24 2.4.2 算術運算符和算術表達式 25 2.5 賦值運算符和賦值表達式 27 2.5.1 賦值運算符 27 2.5.2 賦值表達式及其值 27 2.5.3 複合賦值運算符 28 2.6 逗號運算符和逗號表達式 29 2.7 數據類型轉換 30 2.7.1 數據類型的自動轉換 30 2.7.2 數據類型的強制轉換 32 小結 33 習題2 33 第3章 順序結構程式設計 36 3.1 結構化程式設計方法 36 3.1.1 自頂向下、逐步求精、模組化的結構化程式設計方法 36 3.1.2 程式的結構 36 3.2 C語句概述 37 3.2.1 表達式語句 38 3.2.2 函式調用語句 39 3.2.3 控制語句 39 3.2.4 複合語句 39 3.2.5 空語句 40 3.3 程式的注釋 40 3.4 數據的輸入和輸出 40 3.4.1 輸入和輸出的基本概念 40 3.4.2 輸入和輸出的實現 41 3.5 字元數據輸入和輸出函式 41 3.5.1 字元輸入函式getchar( ) 41 3.5.2 字元輸出函式putchar( ) 42 3.6 格式輸入和輸出函式 42 3.6.1 格式輸入函式scanf( ) 42 3.6.2 格式輸出函式printf( ) 46 3.7 順序結構程式設計舉例 50 小結 54 習題3 54 第4章 選擇結構程式設計 57 4.1 關係運算符和關係表達式 57 4.1.1 關係運算符及其優先權和結合性 57 4.1.2 關係表達式 57 4.1.3 使用關係運算符應注意的問題 58 4.2 邏輯運算符和邏輯表達式 59 4.2.1 邏輯運算符及其優先權和結合性 59 4.2.2 邏輯表達式 60 4.2.3 使用邏輯運算符應注意的問題 60 4.3 if語句 61 4.3.1 選擇結構引例 61 4.3.2 if-else雙分支結構 62 4.3.3 if單分支結構 66 4.3.4 if語句嵌套形成多分支結構 68 4.4 條件運算符和條件表達式 74 4.4.1 條件運算符 74 4.4.2 條件表達式和求值規則 74 4.5 switch語句 76 4.5.1 switch語句的一般形式 76 4.5.2 switch語句的功能 76 4.5.3 switch語句使用說明 78 4.6 選擇結構程式設計舉例 79 4.7 switch語句與多分支if語句的比較 84 小結 84 習題4 84 第5章 循環結構程式設計 89 5.1 循環結構的引入 89 5.2 三種實現循環結構的語句 89 5.2.1 while語句 89 5.2.2 do-while語句 92 5.2.3 for語句 93 5.3 break語句和continue語句 100 5.3.1 break語句 100 5.3.2 continue語句 101 5.4 循環嵌套 102 5.4.1 循環嵌套的概念 102 5.4.2 循環嵌套常見的形式 102 5.4.3 循環嵌套的執行過程 102 5.4.4 使用注意事項 103 5.5 綜合程式設計 104 5.5.1 窮舉法 104 5.5.2 遞推法 108 5.5.3 疊代法 110 小結 114 習題5 114 第6章 數組 118 6.1 數組的引入 118 6.1.1 問題的提出 118 6.1.2 數組的基本概念 119 6.1.3 數組的分類 120 6.2 一維數組 120 6.2.1 一維數組的定義 120 6.2.2 一維數組的引用 120 6.2.3 一維數組的存儲 121 6.2.4 一維數組的初始化 121 6.2.5 一維數組的套用舉例 123 6.3 多維數組 131 6.3.1 二維數組的定義 131 6.3.2 二維數組的引用 132 6.3.3 二維數組的存儲 133 6.3.4 二維數組的初始化 133 6.3.5 二維數組套用舉例 133 6.4 字元數組 138 | 6.4.1 字元數組的定義與初始化 138 6.4.2 字元數組的輸入和輸出 139 6.4.3 常用的字元串處理函式 141 6.4.4 字元數組的套用舉例 144 小結 147習題6 147 第7章 函式 151 7.1 函式引入 151 7.2 函式定義 154 7.2.1 函式定義的一般形式 154 7.2.2 函式定義的說明 155 7.3 函式調用 156 7.3.1 函式調用的方法 157 7.3.2 函式調用的數據傳遞 159 7.3.3 函式調用的過程 160 7.3.4 函式的返回值 161 7.4 函式聲明 162 7.4.1 函式聲明的形式 163 7.4.2 函式聲明的位置 163 7.5 函式的嵌套調用和遞歸調用 165 7.5.1 函式的嵌套調用 165 7.5.2 函式的遞歸調用 166 7.6 數組作為函式參數 170 7.6.1 問題的提出 170 7.6.2 數組作為函式參數的形式 171 7.7 變數的作用域及存儲類別 180 7.7.1 變數的作用域 180 7.7.2 變數的存儲類別 184 7.7.3 變數的作用域和存儲類別小結 188 7.8 多檔案程式 189 小結 191 習題7 191 第8章 預處理命令 195 8.1 宏定義 195 8.2 檔案包含 200 8.3 條件編譯 201 小結 202 習題8 202 程式設計進階篇 第9章 指針 206 9.1 指針的概念 206 9.2 訪問變數的地址 207 9.3 定義及初始化指針變數 208 9.3.1 定義指針變數 208 9.3.2 初始化指針變數 209 9.4 通過指針訪問變數 210 9.5 指針的運算 213 9.5.1 指針表達式 213 9.5.2 指針增加和比例因子 215 9.6 指針和數組 215 9.6.1 指針和一維數組 215 9.6.2 用指針引用數組元素 216 9.6.3 指針和二維數組 219 9.7 指針和字元串 222 9.7.1 指向字元的指針 222 9.7.2 指向字元串的指針 223 9.8 指針與函式 224 9.8.1 用指針變數作為函式參數 224 9.8.2 用指針變數作為函式返回值 226 9.8.3 指向函式的指針變數 227 9.9 二級指針和指針數組 229 9.9.1 二級指針 229 9.9.2 指針數組 230 小結 234 習題9 234 第10章 結構體與共用體 243 10.1 結構體引入 243 10.2 結構體變數的使用 244 10.2.1 結構體變數的定義 244 10.2.2 結構體變數的引用 246 10.2.3 結構體變數的初始化 247 10.2.4 結構體變數的使用 248 10.3 結構體數組 249 10.4 結構體變數作為函式的參數和返回值 251 10.5 結構體和指針 255 10.5.1 指向結構體變數的指針 255 10.5.2 指向結構體數組的指針 256 10.5.3 指向結構體變數的指針作為函式參數 258 10.5.4 函式返回值為指向結構體變數的指針 259 10.6 動態記憶體分配與鍊表 260 10.6.1 動態記憶體函式 261 10.6.2 用指針處理鍊表 262 10.6.3 鍊表的定義 264 10.6.4 鍊表的基本操作 264 10.7 共用體類型 270 10.7.1 共用體類型的定義 270 10.7.2 共用體變數的定義 270 10.7.3 共用體變數的使用 271 10.7.4 共用體實例 272 10.8 枚舉類型 273 10.8.1 枚舉類型的定義 273 10.8.2 枚舉變數的定義 274 10.8.3 枚舉變數的賦值和使用 274 10.9 自定義類型 275 小結 276 習題10 276 第11章 位運算 280 11.1 位運算符概述 280 11.1.1 與運算 280 11.1.2 或運算 282 11.1.3 異或運算 284 11.1.4 取反運算 285 11.1.5 移位運算 285 11.2 位運算賦值運算符 287 11.3 位域(位段) 287 11.3.1 位域的定義和位域變數的說明 287 11.3.2 位域的使用 288 小結 291 習題11 291 第12章 檔案 293 12.1 檔案概述 293 12.2 檔案指針的定義 293 12.3 檔案的基本操作 294 12.3.1 檔案打開函式 294 12.3.2 檔案關閉函式 295 12.3.3 檔案檢測函式 296 12.3.4 檔案定位函式 296 12.3.5 字元讀寫函式 297 12.3.6 字元串讀寫函式 301 12.3.7 格式化讀寫函式 302 12.3.8 數據塊讀寫函式 304 12.4 綜合程式設計 305 小結 314 習題12 314 附錄A 常用字元與ASCII碼對照表 317 附錄B 擴展ASCII碼對照表 318 附錄C C語言關鍵字 319 附錄D C語言的9種控制語句 320 附錄E C語言運算符的優先權與結合性 321 附錄F 常用的ANSI C標準庫函式 323 參考文獻 328 |
教學資源
- 配套教材
書名 | 書號 | 出版社 | 出版時間 | 作者 |
---|---|---|---|---|
《C語言上機實驗指導(第2版)》 | 9787121333057 | 電子工業出版社 | 2018-02 | 劉欣亮、趙海霞 |
- 課程資源
教材特色
- 該教材對各個章節中的知識點進行了提煉,刪減了一些不常用的知識點,增加了典型算法與綜合程式設計的內容,使初學者能夠快速掌握C語言程式設計的方法;
- 該教材中的每個案例都經過設計,趣味性及實用性較強;
- 該教材中的所有程式代碼按照C語言的書寫規範進行編寫,使讀者在C語言學習中逐步養成良好的代碼書寫習慣;
- 通過實際案例學習知識點,提高分析問題和獨立編寫程式的能力;該教材通過實際項目中的綜合應用程式將C語言的知識點融為一體,使讀者能夠有目的性地學習C語言的各知識點;在每個綜合應用程式中,通過需求分析、程式編寫、調試運行等標準化程式設計的步驟,使讀者較快地提高獨立編寫程式的能力,掌握標準化的程式設計方法。