《C語言程式設計》是由賈志娟主編,科學出版社2017年出版的普通高等教育“十三五”規劃教材。該教材可作為普通高等院校各專業的C 語言程式設計課程教材教材,也可作為從事計算機相關工作人員的參考書。
全書共11章,包括C語言概述、簡單C程式設計、選擇控制結構、循環控制結構。
基本介紹
- 書名:C語言程式設計
- 作者:賈志娟
- 類別:普通高等教育“十三五”規劃教材
- 出版社:科學出版社
- 出版時間:2017年6月1日
- 頁數:290 頁
- 開本:16 開
- 裝幀:平裝
- ISBN:9787030533760
- CPI核字號:2017134837
成書過程
修訂情況
出版工作
責任編輯 | 責任校對 | 責任印製 | 封面設計 |
---|---|---|---|
于海雲 | 郭瑞之 | 徐曉晨 | 迷底書裝 |
內容簡介
教材目錄
目錄 前言 第1章 C語言概述 1 1.1 程式設計語言 1 1.1.1 程式的概念 1 1.1.2 程式設計語言的發展 2 1.2 C語言的發展 3 1.2.1 C語言的起源 3 1.2.2 C語言的發展 4 1.2.3 C語言的特點 6 1.3 C程式初識 6 1.3.1 編輯 6 1.3.2 編譯、連結和執行 7 1.3.3 處理錯誤 8 1.4 簡單的C語言程式 8 習題1 11 第2章 簡單C程式設計 12 2.1 如何將數據存入計算機 12 2.1.1 記憶體與記憶體空間 13 2.1.2 變數的作用 13 2.1.3 利用數據類型高效利用空間 13 2.1.4 變數的定義 16 2.2 其他數據表示 17 2.2.1 常量 17 2.2.2 符號常量 19 2.3 數據的輸入與輸出 21 2.3.1 格式化輸出函式 21 2.3.2 格式化輸入函式 24 2.4 數據的運算 26 2.4.1 C常見運算符 26 2.4.2 不同類型數廈享承據之間的轉換 27 2.4.3 常用數學函式 29 習題2 31 第3章 選擇控制結構 34 3.1 邏輯類型與關係運算 34 3.1.1 邏輯類型與關係表達式 34 3.1.2 關係運算符 35 3.2 流程控制語句之if 35 3.2.1 單分支控制條件語句 35 3.2.2 複合習承享企語句(代碼塊) 36 3.2.3 雙分支if語句 38 3.2.4 三目運算符 39 3.3 邏輯運算符與字元類型 39 3.3.1 邏輯運算符 40 3.3.2 運算符的優先權 40 3.3.3 字元類型 41 3.4 流程圖、偽代碼和代碼縮進 43 3.4.1 流程圖和嵌套的if else語句 43 3.4.2 多分支if語句 44 3.4.3 縮進、代碼塊與更易讀的代碼 46 3.4.4 偽代碼和注釋 47 3.5 switch語句 47 3.5.1 switch語句 47 3.5.2 break語句 48 習題3 51 第4章 循環控制結構 52 4.1 循環的基本原理 52 4.2 循環語句 53 4.2.1 while語句 53 4.2.2 do-while語句 54 4.2.3 for語句 56 4.3 幾種循環語句的比較 63 4.3.1 計數控制的循環 63 4.3.2 條件控制的循環 64 4.3.3 循環的嵌套 68 4.4 控制流程的跳轉語句 71 4.4.1 break語句 71 4.4.2 continue語句 73 4.4.3 goto語句 75 4.5 類型溢出問題 77 習題4 79 第5章 函式 81 5.1 函式概述 81 5.1.1 模組化程式設計 81 5.1.2 函式的概念 84 5.1.3 函式的分類 85 5.2 函式的定義和調用 87 5.2.1 函式的定義 87 5.2.2 return語句 92 5.2.3 函式調用 92 5.2.4 函式原型 97 5.3 函式的嵌套調用和遞歸調用 98 5.3.1 函式的嵌套調用 98 5.3.2 函式的遞歸調用 101 5.4 變數的作用域和存儲類型 105 5.4.1 局部變數 105 5.4.2 全局變數 107 5.4.3 變數的存儲類型 110 5.5 內部函式與外部函式 116 5.5.1 內部函式 117 5.5.2 外部函式 117 5.6 函式的設計原則 118 習題5 120 第6章 數組 122 6.1 為什麼使用數組 122 6.2 一維數組的定義和引用 122 6.2.1 一維數組的定義 122 6.2.2 一維數組的初始化 125 6.2.3 一維數組的套用舉例 126 6.3 數組作為函式參數 129 6.4 數組的排序和查找 133 6.4.1 數組的查找 133 6.4.2 數組的排序 135 6.5 二維數組 141 6.5.1 二維數組的定義和引用 141 6.5.2 二維數組的初始化 141 6.5.3 二維數組的套用舉例 143 習題6 149 第7章 字元串 151 7.1 什麼是字元串 151 7.1.1 字元串的定義 151 7.1.2 聲明初始化字元串變數 152 7.2 字元串存儲 153 7.3 字元串的輸入輸出 155 7.4 字元數組 156 7.4.1 字元數組的定義 156 | 7.4.2 字元數組初始化 157 7.4.3 字元數組的引用 157 7.4.4 字元數組的輸入輸出 158 7.4.5 字元串排序 159 7.5 字元串常用函式 161 7.5.1 求字元串長度函式strlen() 161 7.5.2 字元串複製函式strcpy()和strncpy() 162 7.5.3 字元串連線函式strcat()和strncat() 163 7.5.4 字元串比較函式strcmp()和strncmp() 164 7.5.5 字元串的查找函式strchr() 165 7.6 字元串的簡單套用 166 7.6.1 統計單詞個數 166 7.6.2 統計整數及小數的和 167 7.6.3 十進制數轉換二進制數 168 習題7 170 第8章 指針 171 8.1 變數的記憶體地址 171 8.2 指針的基礎知識 172 8.2.1 指針的概念 172 8.2.2 指針變數的定義 173 8.2.3 指針變數的初始化 173 8.2.4 指針的間接定址運算符 176 8.3 指針作為參數 178 8.4 指針和一維數組 183 8.4.1 指針運算在一維數組中的套用 183 8.4.2 一維數組與指針的關係 185 8.4.3 一維數組作為函式參數 187 8.5 指針和二維數組 190 8.5.1 二維數組的行地址和列地址 190 8.5.2 利用二維數組名做指針 191 8.5.3 指向數組的指針 193 8.6 指針和字元串 195 8.6.1 字元串常量及存儲方式 195 8.6.2 字元指針 195 8.6.3 利用指針處理字元串 197 8.7 指針的高級套用 200 8.7.1 動態分配數組和字元串 200 8.7.2 釋放動態分配的存儲空間 201 習題8 203 第9章 結構體和共用體 206 9.1 結構體基本知識 206 9.1.1 結構體類型的概念 206 9.1.2 結構體變數的定義 207 9.1.3 使用typedef定義數據類型 209 9.1.4 結構體變數的初始化 209 9.1.5 結構體變數的引用 210 9.1.6 本節實驗 211 9.2 結構體數組 212 9.2.1 結構體數組的定義 212 9.2.2 本節實驗 214 9.3 結構體指針 215 9.3.1 指向結構體變數的指針 215 9.3.2 指向結構體數組的指針 217 9.3.3 結構體作為函式參數 218 9.3.4 本節實驗 220 9.4 共用體基本知識 222 9.4.1 共用體的概念 222 9.4.2 共用體變數的引用 223 9.4.3 共用體類型數據的特點 224 9.4.4 本節實驗 224 9.5 枚舉類型基本知識 226 9.5.1 枚舉類型的定義 226 9.5.2 枚舉變數的說明 226 9.5.3 枚舉類型的引用 227 9.5.4 本節實驗 228 9.6 結構的套用—單鍊表 230 9.6.1 單鍊表類型的定義 231 9.6.2 單鍊表的建立 232 9.6.3 單鍊表的遍歷 234 9.6.4 單鍊表的插入 235 9.6.5 單鍊表的刪除 236 9.6.6 單鍊表的查找 237 9.7 用單鍊表解決問題——約瑟夫環問題 238 9.7.1 問題描述 238 9.7.2 求解思路 239 9.7.3 算法實現 239 9.7.4 問題拓展 241 習題9 242 第10章 編譯預處理 249 10.1 預處理的工作原理 249 10.2 預處理指令 250 10.3 #define預處理指令 251 10.3.1 符號常量 251 10.3.2 帶參數的宏 251 10.3.3 #undef指令 253 10.4 檔案包含 253 10.4.1 include指令 253 10.4.2 模組化程式中的多檔案程式 254 10.5 條件編譯 255 10.5.1 #if指令 255 10.5.2 #ifdef指令和#ifndef指令 256 習題10 257 第11章 檔案 258 11.1 檔案的打開與關閉 258 11.1.1 檔案的概念 258 11.1.2 檔案指針 259 11.1.3 檔案打開 260 11.1.4 檔案關閉 261 11.1.5 本節實驗 262 11.2 順序檔案的讀寫 263 11.2.1 按字元讀寫檔案 263 11.2.2 按字元串讀寫檔案 265 11.2.3 按數據塊讀寫檔案 266 11.2.4 按格式讀寫檔案 268 11.2.5 本節實驗 269 11.3 隨機檔案的讀寫 271 11.3.1 檔案定位 271 11.3.2 檔案的隨機讀寫 273 11.3.3 本節實驗 274 習題11 276 附錄1 常用字元與ASCII碼對照表 280 附錄2 C語言的關鍵字 281 附錄3 運算符和結合性 282 附錄4 C語言庫函式 284 附錄5 C11相對於C99的新特性(部分) 289 |
教學資源
- 配套教材
書名 | 作者 | ISBN | 出版時間 | 出版社 |
---|---|---|---|---|
《C語言程式設計習題解答及上機指導》 | 何紅玲、何英、劉渝妍 | 9787030504210 | 2015年2月 | 科學出版社 |