《C語言程式設計(第2版)》是由孫改平、王德志主編,2019年清華大學出版社出版的高等學校計算機基礎教育精選教材。該教材適合作為高等院校C程式設計課程的教材,也可作為計算機各類培訓班的教材或計算機及相關工作的科技人員、計算機愛好者及各類自學人員的參考書。
全書共分10章,介紹了程式設計概述、數據類型、順序結構程式設計、選擇結構程式設計、循環結構程式設計、數組、函式、指針、結構體和共用體、檔案等內容。
基本介紹
- 書名:C語言程式設計(第2版)
- 作者:孫改平、王德志
- ISBN:9787302522928
- 類別:高等學校計算機基礎教育精選教材
- 出版社:清華大學出版社
- 出版時間:2019年7月1日
- 裝幀:平裝
- 開本:16開
成書過程
內容簡介
- 第1章介紹計算機與程式設計語言基礎知識、C語言的發展和特點、C語言的套用等;
- 第2章介紹C語言中常用的數據類型,如整型、實型和字元型等;
- 第3章為順序結構程式設計,介紹賦值運算符與賦值表達式、算術運算符與算術表達式、宏定義與宏替換等,介紹數據的格式化輸入與輸出;
- 第4章為選擇結構程式設計,介紹算法及其描述方法、關係運算符與關係表達式、邏輯運算符與邏輯表達式、條件運算符與條件表達式、單分支與雙分支以及多分支選擇結構;
- 第5章為循環結構程式設計,介紹while循環、do-while循環和for循環三種循環結構語句套用,以及C語言中實現流程的轉移控制語句;
- 第6章為數組,介紹一維數組、二維數組、字元數組的定義、引用和初始化等;
- 第7章為函式,介紹函式的概念、函式聲明、函式定義、函式調用、數組作為函式參數、變數的作用域和存儲類型等;
- 第8章為指針,介紹指針的概念、指針變數的定義、指針與數組、指針與函式、指針的高級套用等;
- 第9章為結構體和共用體,介紹結構體類型和結構體變數、結構體數組、結構體指針、鍊表、共用體等;
- 第10章為檔案,介紹檔案的概念、分類、檔案的打開與關閉、檔案的讀寫操作等。
教材目錄
第1章程式設計概述1 1.1計算機與程式設計語言1 1.1.1機器語言1 1.1.2彙編語言2 1.1.3高級語言2 1.2C語言的發展和特點4 1.2.1C語言的發展4 1.2.2C語言的特點6 1.3C語言的套用7 1.3.1簡單的C語言程式實例7 1.3.2C語言程式的結構10 1.4C程式的工作原理與操作環境12 1.4.1工作原理12 1.4.2操作環境14 習題20 第2章C數據類型22 2.1C語言的數據類型22 2.2常量和變數23 2.2.1標識符23 2.2.2常量和符號常量24 2.2.3變數25 2.3整型數據26 2.3.1整型常量26 2.3.2整型數據在記憶體中的存儲形式26 2.3.3整型變數27 2.3.4整型常量的類型30 2.3.5整型類型大小30 2.4實型數據30 2.4.1實型常量30 2.4.2實型數據在記憶體中的存儲形式31 2.4.3實型變數32 2.4.4實型類型大小33 2.5字元型數據33 2.5.1字元常量34 2.5.2字元變數35 2.5.3字元數據在記憶體中的存儲形式及使用方法35 2.5.4字元串常量37 習題38 第3章順序結構程式設計40 3.1賦值運算符與賦值表達式40 3.1.1賦值運算符40 3.1.2賦值表達式41 3.1.3賦值語句41 3.1.4左值和右值42 3.1.5不同數據類型間的賦值規則42 3.2算術運算符與算術表達式44 3.2.1算術運算符44 3.2.2算術表達式45 3.2.3運算符的優先權和結合性45 3.2.4自增自減運算符46 3.2.5算術運算中數據類型轉換規則48 3.2.6sizeof運算符、複合賦值運算符49 3.3數據的格式化輸出50 3.3.1整數的輸出53 3.3.2實數的輸出56 3.3.3字元和字元串的輸出58 3.3.4格式化輸出總結59 3.4數據的格式化輸入61 3.5單個字元的輸入和輸出65 3.5.1單個字元輸出函式putchar65 3.5.2單個字元輸入函式getchar66 3.6宏定義與宏替換67 3.6.1無參宏定義67 3.6.2帶參宏定義70 3.7程式舉例71 習題73 第4章選擇結構程式設計75 4.1算法及其描述方法75 4.1.1算法的概念75 4.1.2算法的表示76 4.2關係運算符與關係表達式83 4.2.1關係運算符83 4.2.2關係表達式84 4.3邏輯運算符與邏輯表達式85 4.3.1邏輯運算符85 4.3.2邏輯表達式86 4.4單分支與雙分支結構88 4.4.1單分支結構88 4.4.2雙分支結構90 4.4.3if語句的嵌套93 4.5條件運算符與條件表達式96 4.6多分支結構98 4.6.1多分支結構的條件語句98 4.6.2多分支結構的開關語句100 4.7程式舉例103 習題110 第5章循環結構程式設計113 5.1循環結構程式的概念113 5.2while循環114 5.3do-while循環117 5.4逗號表達式120 5.5for循環121 5.6循環的嵌套128 5.7流程的轉移控制131 5.7.1goto語句131 5.7.2break語句132 5.7.3continue語句133 5.8幾種循環的比較136 5.9程式舉例136 習題140 第6章數組142 6.1數組的概念142 6.2一維數組144 6.2.1一維數組的定義144 | 6.2.2一維數組的引用145 6.2.3一維數組的初始化147 6.3二維數組154 6.3.1二維數組的定義154 6.3.2二維數組的引用155 6.3.3二維數組的初始化157 6.4字元數組159 6.4.1字元數組與字元串159 6.4.2字元數組的定義與初始化160 6.4.3字元數組的輸入與輸出162 6.4.4字元串處理函式165 6.5程式舉例170 習題176 第7章函式179 7.1函式的概念179 7.2函式定義與返回值181 7.2.1函式類型181 7.2.2函式定義183 7.3函式調用184 7.3.1函式調用的形式184 7.3.2函式調用時的參數傳遞185 7.4函式聲明186 7.5函式的嵌套與遞歸調用193 7.5.1函式的嵌套調用193 7.5.2函式的遞歸調用196 7.6數組作為函式參數198 7.6.1數組元素作為函式參數198 7.6.2一維數組作為函式參數200 7.6.3二維數組作為函式參數202 7.7變數的作用域和存儲類型206 7.7.1變數的作用域206 7.7.2變數的存儲類型210 7.8編譯預處理214 7.9綜合實例217 習題231 第8章指針236 8.1指針的概念236 8.2指針變數的定義238 8.2.1定義指針變數238 8.2.2引用指針變數239 8.2.3指針變數作為函式參數243 8.3指針與數組247 8.3.1數組元素的指針247 8.3.2一維數組的地址和指針248 8.3.3二維數組的地址和指針256 8.4字元串和指針260 8.4.1使用字元指針變數訪問字元串常量260 8.4.2使用字元指針變數訪問字元串變數263 8.4.3字元指針變數與字元數組的區別265 8.5指針與函式268 8.5.1指向函式的指針268 8.5.2返回指針的函式270 8.6指針的高級套用272 8.6.1指針數組272 8.6.2main函式的命令行參數274 8.6.3動態記憶體分配275 習題282 第9章結構體和共用體286 9.1結構體類型和結構體變數286 9.1.1結構體類型的定義287 9.1.2結構體變數的定義289 9.1.3結構體變數的引用291 9.1.4結構體變數的初始化294 9.1.5結構體變數的舉例295 9.2結構體數組296 9.2.1結構體數組的定義297 9.2.2結構體數組的引用298 9.2.3結構體數組的初始化299 9.2.4結構體數組的舉例300 9.3結構體指針301 9.3.1指向結構體變數的指針302 9.3.2指向結構體數組的指針303 9.4鍊表306 9.4.1鍊表概念306 9.4.2鍊表相關操作308 9.5共用體325 9.5.1共用體類型和共用體變數的定義325 9.5.2共用體變數的引用和初始化328 9.5.3共用體變數的舉例331 9.6枚舉類型333 9.7用typedef定義新類型名335 習題337 第10章檔案339 10.1檔案概述339 10.1.1檔案的概念339 10.1.2檔案的分類340 10.1.3檔案指針341 10.2檔案的打開與關閉341 10.2.1檔案的打開341 10.2.2檔案的關閉343 10.2.3檔案的檢測344 10.3檔案的讀寫操作345 10.3.1字元讀寫函式345 10.3.2字元串讀寫函式348 10.3.3格式化讀寫函式351 10.3.4數據塊讀寫函式356 10.4檔案的隨機讀寫360 習題365 附錄AC語言中的關鍵字370 附錄BC運算符的優先權與結合性372 附錄C常用字元與ASCII值對照表373 附錄D常用的ANSIC標準庫函式374 參考文獻381 |
教學資源
- 配套教材
書名 | 書號 | 出版社 | 出版時間 | 作者 |
---|---|---|---|---|
《C語言程式設計習題與實驗指導(第2版)》 | 9787302522935 | 清華大學出版社 | 2019.05.01 | 朱冬梅、孫改平 |
- 課程資源