《計算機基礎與C語言程式設計(第二版)》是焉德軍、劉明才主編,2014年清華大學出版社出版的高等學校計算機套用規劃教材、遼寧省“十二五”普通高等教育本科省級規劃教材。該教材可作為高等學校的教學參考書,也可作為報考全國計算機等級考試(NCRE)人員的參考資料。
該教材以全國計算機等級考試二級考試大綱為指導,介紹了二級C語言等級考試所要求的全部內容。全書共14章,包括計算機基礎知識、數據類型和常用庫函式、各種運算和表達式、程式控制語句、數組、函式、編譯預處理、指針、結構體與共用體、檔案、數據結構與算法基礎知識、軟體工程與程式設計基礎、資料庫基礎知識等內容。
基本介紹
- 書名:計算機基礎與C語言程式設計(第二版)
- 作者:焉德軍、劉明才
- 類別:高等學校計算機套用規劃教材
- 出版社:清華大學出版社
- 出版時間:2014年7月1日
- 頁數:303 頁
- 開本:16 開
- 裝幀:平裝
- ISBN:9787302365037
- 字數:458千字
- CIP核字號:2014102867
成書過程,修訂過程,出版工作,內容簡介,教材目錄,教學資源,教材特色,作者簡介,
成書過程
修訂過程
該教材是作者從事高等學校“大學計算機基礎”和“C語言程式設計”課程的教學工作,在總結多年的教學經驗和教改實踐的基礎編寫而成。該教材由焉德軍、劉明才任主編,具體編寫分工如下:其中,第1章由辛慧傑編寫,第2~6章由焉德軍編寫,第7~11章由劉明才編寫,第12章由牟連泳編寫,第13、14章由王鵬編寫。
出版工作
2014年7月1日,該教材由清華大學出版社出版。
責任編輯 | 裝幀設計 | 責任校對 | 責任印製 |
---|---|---|---|
胡辰浩、袁建華 | 牛艷敏 | 邱曉玉 | 李紅英 |
內容簡介
全書共14章。第1章介紹計算機系統與工作原理、數制與編碼;第2章介紹C程式的基本構成和簡單的C程式例子;第3章介紹基本數據類型、常用輸入與輸出函式;第4章介紹各種運算符和表達式;第5章介紹C語言的控制結構(順序結構、選擇結構、循環結構);第6章介紹數組的使用及常用字元串處理函式;第7章介紹函式的使用及變數的存儲類別;第8章介紹編譯預處理命令;第9章介紹指針的使用方法;第10章介紹結構體和共用體的使用、鍊表及其操作;第11章介紹檔案的類型和操作;第12章介紹數據結構與算法基礎知識;第13章介紹軟體工程基礎知識;第14章介紹資料庫基礎知識。
教材目錄
第1章計算機基礎知識 1 1.1計算機系統與工作原理 1 1.1.1計算機系統的組成 1 1.1.2計算機硬體系統 1 1.1.3計算機軟體系統 3 1.2數制與編碼 6 1.2.1數制的基本概念 6 1.2.2常用的數制 6 1.2.3數制間的轉換 10 1.2.4數在計算機中的表示方式 12 1.2.5字元編碼 15 1.2.6存儲單位 16 1.3電腦程式 18 1.3.1程式的概念 18 1.3.2暫存器 19 1.3.3程式的執行過程 19 1.4習題 21 第2章C語言概述 24 2.1C語言的發展歷史 24 2.2C語言的特點 25 2.3C語言程式設計初步 26 2.3.1簡單的C程式例子 26 2.3.2C程式結構 28 2.4C程式在計算機上的執行步驟 29 2.5習題 30 第3章基本數據類型與常用庫函式 32 3.1字元集與標識符 32 3.2數據類型與基本數據類型 33 3.2.1數據類型 33 3.2.2基本數據類型 34 3.3常量與變數 35 3.3.1常量 35 3.3.2符號常量 37 3.3.3變數 38 3.4輸入/輸出函式 39 3.4.1字元輸入/輸出函式 39 3.4.2格式輸出函式printf 40 3.4.3格式輸入函式scanf 43 3.5常用庫函式 45 3.6習題 46 第4章運算符和表達式 49 4.1算術運算符和算術表達式 49 4.2自增、自減運算 52 4.3位運算 52 4.4賦值運算 56 4.5關係運算與邏輯運算 57 4.5.1關係運算 58 4.5.2邏輯運算 59 4.6條件表達式與逗號表達式 60 4.6.1條件表達式 60 4.6.2逗號表達式 61 4.7習題 62 第5章C語言的控制結構 65 5.1算法與程式 65 5.1.1算法 65 5.1.2程式 66 5.2順序結構 67 5.3選擇結構 68 5.3.1if語句 68 5.3.2switch語句 73 5.4循環結構 77 5.4.1while語句 78 5.4.2do-while語句 79 5.4.3for語句 80 5.4.4break語句 83 5.4.5continue語句 84 5.4.6單重循環程式舉例 85 5.4.7多重循環結構 87 5.5習題 89 第6章數組 93 6.1一維數組 93 6.1.1一維數組的定義 93 6.1.2一維數組的存儲形式 94 6.1.3一維數組的初始化 94 6.1.4一維數組的引用 95 6.1.5一維數組的套用舉例 95 6.2二維數組 98 6.2.1二維數組的定義 98 6.2.2二維數組的存儲形式 99 6.2.3二維數組的初始化 99 6.2.4二維數組的引用 100 6.2.5二維數組套用舉例 100 6.3字元數組 102 6.3.1字元數組的定義 102 6.3.2字元數組的初始化 103 6.3.3字元數組的輸入和輸出 104 6.3.4常用字元串處理函式 105 6.3.5二維字元數組 108 6.3.6字元串套用舉例 109 6.4習題 110 第7章函式 113 7.1函式定義和函式調用 113 7.1.1函式定義 113 7.1.2return語句 116 7.1.3函式調用 116 7.1.4函式聲明 117 7.1.5函式間的參數傳遞 118 7.2函式的嵌套調用和遞歸調用 121 7.2.1函式的嵌套調用 121 7.2.2函式的遞歸調用 122 7.3局部變數和全局變數 125 7.3.1局部變數 125 7.3.2全局變數 126 7.4變數的存儲類別 128 7.4.1auto(自動)變數 129 7.4.2static(靜態)變數 129 7.4.3register(暫存器)變數 130 7.5內部函式和外部函式 131 7.6習題 131 第8章編譯預處理 136 8.1宏定義 136 8.1.1不帶參數的宏定義 136 8.1.2帶參數的宏定義 137 8.1.3終止宏定義 139 8.2檔案包含 139 8.3條件編譯 141 8.4習題 142 第9章指針 145 9.1指針概述 145 9.1.1指針的概念 145 9.1.2指針變數 146 9.1.3指針運算 148 9.1.4指針作為函式的參數 149 9.2指針與一維數組 151 9.2.1一維數組元素的表示 151 9.2.2數組名作為函式的參數 154 9.3指針與二維數組 157 9.3.1二維數組中的指針 157 9.3.2指向二維數組元素的指針變數 158 9.3.3二維數組的行指針作函式參數 161 | 9.4指針與字元串 163 9.4.1字元串的表示形式 163 9.4.2字元串指針作函式參數 164 9.5指針與函式 166 9.5.1指向函式的指針 166 9.5.2返回指針的函式 166 9.6指針數組與多級指針 168 9.6.1指針數組的概念 168 9.6.2多級指針的概念 169 9.7習題 170 第10章結構體與共用體 175 10.1結構體類型的定義 175 10.2結構體類型變數 176 10.2.1結構體類型變數的定義 176 10.2.2結構體變數的引用 178 10.3結構體數組 179 10.3.1結構體數組的定義與初始化 180 10.3.2結構體數組的引用 180 10.4結構體和指針 182 10.5結構體和函式 183 10.5.1結構體作函式參數 184 10.5.2返回結構體的函式 186 10.6鍊表 188 10.6.1簡單鍊表 188 10.6.2處理動態鍊表所需的庫函式 190 10.6.3單向鍊表的基本操作 191 10.7共用體 199 10.8枚舉 201 10.9用typedef定義類型 202 10.10習題 204 第11章檔案 208 11.1檔案的基本概念 208 11.2檔案的打開與關閉 209 11.2.1檔案類型指針 209 11.2.2檔案的打開 209 11.2.3檔案的關閉 211 11.3檔案的讀寫 211 11.3.1字元讀寫函式fgetc和fputc 211 11.3.2字元串讀寫函式fgets和fputs 214 11.3.3數據塊讀寫函式fread和fwrite 215 11.3.4格式化讀寫函式fscanf和fprintf 216 11.4檔案的隨機讀寫 218 11.4.1檔案定位 218 11.4.2檔案的隨機讀寫 219 11.5綜合套用實例——學生成績管理程式 220 11.6習題 235 第12章數據結構與算法 237 12.1算法 237 12.1.1算法的基本概念 237 12.1.2算法的複雜度 238 12.2數據結構的基本概念 238 12.2.1什麼是數據結構 239 12.2.2數據結構的圖形表示 240 12.2.3線性結構與非線性結構 241 12.3線性表及其順序存儲結構 241 12.3.1線性表的基本概念 241 12.3.2線性表的順序存儲結構 241 12.4棧和佇列 242 12.4.1棧及其基本運算 242 12.4.2佇列及其基本運算 243 12.5線性鍊表 245 12.5.1線性鍊表的基本概念 245 12.5.2線性鍊表的基本運算 247 12.5.3循環鍊表 247 12.6樹與二叉樹 248 12.6.1樹的基本概念 248 12.6.2二叉樹及其基本運算 249 12.6.3二叉樹的存儲結構 251 12.6.4二叉樹的遍歷 252 12.7查找技術 253 12.7.1順序查找 253 12.7.2二分法查找 254 12.8排序技術 254 12.8.1交換類排序法 254 12.8.2插入類排序法 255 12.8.3選擇類排序法 256 12.9習題 257 第13章軟體工程基礎 260 13.1軟體工程的基本概念 260 13.1.1軟體危機與軟體工程 260 13.1.2軟體的定義與分類 260 13.1.3軟體的生存周期 261 13.2軟體需求分析 261 13.2.1需求分析與需求分析方法 261 13.2.2結構化分析方法 262 13.2.3軟體需求規格說明書 262 13.3軟體設計 263 13.3.1軟體設計的基本概念 263 13.3.2概要設計 264 13.3.3詳細設計 265 13.4程式設計基礎 267 13.4.1程式設計方法與風格 267 13.4.2結構化程式設計 268 13.4.3面向對象程式設計 269 13.5軟體測試及調試 270 13.5.1軟體測試的目的 270 13.5.2軟體測試技術與方法 270 13.5.3軟體測試的實施 271 13.5.4程式的調試 272 13.6習題 272 第14章資料庫基礎 275 14.1資料庫系統的基本概念 275 14.1.1數據、資料庫、資料庫管理系統 275 14.1.2資料庫系統的發展 276 14.1.3資料庫系統的主要特點 277 14.1.4資料庫的體系結構 278 14.2數據模型 279 14.2.1數據模型的基本概念 279 14.2.2E-R模型 280 14.2.3層次模型 282 14.2.4網狀模型 283 14.2.5關係模型 283 14.3關係代數 284 14.3.1關係模型的基本操作 284 14.3.2關係的基本運算 285 14.3.3關係代數的擴充運算 286 14.4資料庫設計 289 14.4.1資料庫設計概述 289 14.4.2需求分析 289 14.4.3概念設計 289 14.4.4邏輯設計 290 14.4.5物理設計 290 14.4.6資料庫的建立與維護 290 14.5習題 291 附錄AC語言中的關鍵字 294 附錄B字元與ASCII碼對照表 295 附錄C運算符的優先權與結合性 296 附錄D常用庫函式 297 參考文獻 303 |
(註:目錄排版順序為從左列至右列)
教學資源
- 配套教材
該教材有配套教材——《計算機基礎與C語言程式設計實驗指導(第二版)》。
書名 | 書號 | 出版社 | 出版時間 | 作者 |
---|---|---|---|---|
《計算機基礎與C語言程式設計實驗指導(第二版)》 | 9787302366027 | 清華大學出版社 | 2014.07.01 | 焉德軍、劉明才 |
- 課程資源
該教材還提供對應的電子教案和習題答案。
教材特色
該教材面向初學程式設計者,在編寫教材過程中,作者力求使教材體現如下特點:
- 對C語言中的重點、難點進行分解,將重點、難點分散編排,使學生在學習過程中循序漸進;
- 對C語言中生僻、不常用的內容不作過多的描述;對在實踐中使用較多、需要牢固掌握的內容進行了詳細敘述,並給出了示例;
- 該教材在介紹C語言基本知識的同時,還強調讀者編程風格的形成,有意識地訓練讀者逐步養成一個良好的程式書寫習慣和程式設計風格;
- 該教材所有例子均在VisualC++6.0環境下調試通過,也能在TurboC2.0環境下運行;
- 該教材最後3章是為參加全國計算機等級考試(二級)的讀者而編寫的。
作者簡介
焉德軍,男,1965年生,黑龍江虎林人,博士,大連民族大學計算機科學與工程學院教授、碩士生導師、副院長。主要從事混沌分形理論與套用研究以及計算機基礎教育研究。
劉明才,大連民族大學計算機科學與工程學院教師。