C語言上機指導與典型題解(高等學校教材·計算機科學與技術)

C語言上機指導與典型題解(高等學校教材·計算機科學與技術)

《C語言上機指導與典型題解(高等學校教材·計算機科學與技術)》是2011年清華大學出版社出版的圖書,作者是塗承勝。

基本介紹

  • 書名:C語言上機指導與典型題解
  • 作者:塗承勝
  • ISBN:9787302254683
  • 定價:39.5元
  • 出版社:清華大學出版社
  • 出版時間:2011-7-7
  • 裝幀:平裝
  • 開本:16
圖書簡介,圖書前言,圖書目錄,

圖書簡介

《C語言上機指導與典型題解》共包括5章及附錄,主要內容有:C語言語法提要與常見錯誤分析;C語言理論學習中的關鍵性問題;典型題例與解析;C語言實驗,提供進行C語言學習的基本實驗;C語言實踐環境與上機指南,詳細介紹在Turbo C 2.0、Turbo C++3.0、Visual C++6.0集成環境下編輯、編譯、調試、運行程式的方法。書末的附錄包括C語言的關鍵字及其作用、C語言的運算符及其結合方向、Turbo C 2.0各選單的功能、Turbo C 2.0常用功能鍵、Turbo C庫函式頭檔案以及C語言編譯錯誤信息。
本書題例解析詳細透徹,實例和相關理論結合緊密。所有的原始碼均在Turbo C 2.0、Visual C++ 6.0下調試通過。 本書是C語言的學習參考書,也是C語言上機練習的指導書,可以作為C語言教材的參考書,適合高等院校師生或C語言培訓班使用,也可供參加計算機等級考試的人員和C語言自學人員參考。

圖書前言

C語言是國內外廣泛使用的一種計算機語言。很多高校都開設了“C語言程式設計”課程。由於全國各地、各類院校的情況不盡相同,對C語言的教學要求和C語言的課時數以及所使用的C語言教材也不盡相同。儘管目前已經出版的C語言教材很多,其基本內容是相似的,但對於C語言的學習,選擇一本好的教材和學習指導書是很重要的。
C語言規則、細節多,概念比較複雜,使用靈活,使不少讀者在學習C語言時感到困難。即便對有一定C語言基礎的讀者,一些人學習C語言之後,在許多細節上仍存在疑惑,要熟練掌握、熟練套用甚至靈活套用,也有一定難度。在學習C語言的過程中,很多讀者都存在一個共同的問題:“聽得懂、能看明白、不會編程或者編程難”,其實質還是沒有真正理解、掌握C語言的基礎理論,聽懂的、看明白的只是C語言膚淺的語法知識。不會編程,一則是沒有理解和掌握理論本身;二則是基本理論記住了但不會用,不知道怎么用,不知道用什麼,更不知道如何結合相關的專業知識綜合套用;三則是“紙上談兵”的時間多,缺乏實踐,在實踐過程中,對實驗結果是知其然,不知其所以然。C語言是一門實踐性很強的課程,只看只聽是不行的。
本書既適合C語言初學者使用,有助於其對C語言基礎理論的學習、理解、歸納、總結,掌握C語言的基本語法和基礎知識要點,掌握學習C語言(以及同類程式語言)的方法和要領,更適合有一定C語言理論基礎的讀者,有助於其對C語言熟練掌握和靈活套用以及編程能力和套用能力的提高。
本書是為“C語言程式設計”課程基礎理論的學習和套用而編寫的參考書與實驗指導,不依賴於任何一本具體的C語言教材。根據由淺入深、循序漸進、逐步提高的知識邏輯層次,把整個C語言的基礎理論和基本知識劃分為幾塊:①數據類型、常量與變數、運算符與表達式;②數據的輸入輸出與順序結構程式設計;③選擇結構程式設計及其套用;④循環結構程式設計及其套用;⑤指針與數組;⑥函式、變數的存儲屬性、預處理;⑦結構體、共同體、動態分配函式與單向鏈;⑧檔案操作及其簡單套用。每個知識塊涉及不同的知識點,並以此安排、組織本書內容。
本書共包括5章。
第1章“C語言語法提要與常見錯誤分析”。歸納相關理論的語法提要;歸納分析編程中常見的語法性錯誤和邏輯性錯誤及解決辦法,並給出簡單的驗證性示例。通過程式的解析說明,幫助讀者正確理解和掌握基礎理論。
第2章“C語言理論學習中的關鍵性問題”。歸納總結在C語言基礎理論的學習、理解、掌握、簡單套用過程中的關鍵性問題和要點,給出相應的題例,並進行詳細的解析,有助於讀者深入理解基礎理論,把握重點和要點,以便熟練掌握和較好地套用於程式設計。同時,對讀者在程式語言的學習方法上起到指導性作用。
第3章“典型題例與解析”。針對各知識塊不同知識點在基礎理論學習中的關鍵、難點、重點,提供典型的程式題例。對每個程式涉及的知識點、算法的思路、基礎理論的套用技巧進行詳細解析。通過這些典型題例,使讀者能熟練掌握基礎理論並靈活套用。
第4章“C語言實驗”。安排9個C語言實驗。根據實驗的不同層次(驗證、設計、綜合),明確每個實驗的實驗目的,給出實驗要求,安排相應的實驗內容。驗證性實驗,編寫簡單的程式以驗證基礎理論的正確性;設計性實驗,針對問題設計較好的算法,對基礎理論能熟練地進行編程套用;綜合性實驗,綜合本課程並結合相關學科或專業的知識,設計應用程式,能解決一些相對複雜的計算問題。
第5章“C語言實踐環境與上機指南”。介紹Turbo C 2.0、Turbo C++ 3.0、Visual C++ 6.0集成開發環境(IDE)的基本操作和上機方法,以及在集成環境下C程式的編輯、編譯、調試、運行方法、過程和步驟。
本書的編寫結合了作者多年的理論教學和實踐經驗。所有的實例都來自於教學實踐。實例以程式設計為主,融合相關的理論知識,詳細解析基礎理論的套用方法和技巧。通過程式實例的解析,加深讀者對基礎理論知識的理解,幫助讀者進一步熟練掌握C語言的基礎理論,掌握結構化程式設計的方法和編程技巧以及理論知識的套用技巧,提高程式設計的套用能力。
所有的原始碼均在Turbo C 2.0、Turbo C++ 3.0或者Visual C++ 6.0下調試通過。需要說明的是,本書提供的程式並非唯一正確的解答,也不一定是最佳答案,只是給讀者提供一種參考方案和將基礎理論套用到編程中的方法的引導。
本書可以作為任何C語言教材理論學習的參考書和實驗指導,既適用於高等院校C語言教學,也可供參加計算機等級考試的人員和C語言自學者參考。

圖書目錄

第1章 C語言語法提要與常見錯誤分析 1
1.1 數據類型、常量與變數、運算符與表達式 1
1.1.1 標識符 1
1.1.2 關鍵字 2
1.1.3 C語言程式的書寫規則 2
1.1.4 C程式的組成與執行 2
1.1.5 數據類型 3
1.1.6 常量及其數據類型與表示形式 4
1.1.7 變數及其數據類型與基本操作 6
1.1.8 運算符與表達式 10
1.1.9 數據類型的轉化及其轉化規則 15
1.2 數據的輸入/輸出與順序結構程式設計 17
1.2.1 格式化輸入/輸出 17
1.2.2 非格式化輸入/輸出及其函式 20
1.2.3 C語言的語句 23
1.2.4 順序結構與語句順序執行 26
1.3 選擇結構程式設計及其套用 27
1.3.1 if語句結構的3種形式及其執行過程 27
1.3.2 switch語句 29
1.3.3 switch語句和if語句之間的相互轉化與等價性 30
1.4 循環結構程式設計及其套用 32
1.4.1 while循環語句 32
1.4.2 do-while循環語句 32
1.4.3 for循環語句 33
1.4.4 3種循環結構的嵌套與等價性 33
1.4.5 跳轉語句 34
1.5 指針與數組 37
1.5.1 指針、變數的指針與指針變數 37
1.5.2 一維數組 38
1.5.3 二維數組 46
1.5.4 指針數組與二重指針及其關係 52
1.5.5 字元數組與字元串及其處理函式 53
1.6 函式、變數的存儲屬性、預處理 56
1.6.1 函式的結構與定義 56
1.6.2 函式的聲明與函式的調用 57
1.6.3 函式的遞歸調用 58
1.6.4 函式的參數與參數傳遞機制 59
1.6.5 函式的類型與返回值 60
1.6.6 內部函式與外部函式及其作用域 61
1.6.7 變數的存儲屬性、作用域與生存周期 61
1.6.8 預處理命令 66
1.6.9 指針函式、函式的指針、函式指針變數 72
1.6.10 指向指針函式的指針變數 74
1.7 結構體、共同體、動態分配函式與單向鍊表 76
1.7.1 typedef命令的作用和具體套用 76
1.7.2 結構體類型 77
1.7.3 結構體指針、結構體數組、結構體函式 80
1.7.4 結構體變數和結構體數組作為函式參數與結構體函式 83
1.7.5 共同體類型 83
1.7.6 枚舉類型 85
1.7.7 動態分配函式、單向鍊表的基本操作 86
1.8 檔案操作及其簡單套用 91
1.8.1 檔案的打開與關閉 91
1.8.2 文本檔案的讀寫與隨機訪問 93
1.8.3 二進制檔案的(塊方式)讀寫函式 94
1.8.4 檔案指針定位、檔案狀態測試與隨機讀寫函式 94
1.8.5 檔案的格式化讀寫及其函式 96
第2章 C語言理論學習中的關鍵性問題 99
2.1 數據類型、常量與變數、運算符與表達式 99
2.1.1 C語言的數據類型 99
2.1.2 運算符 100
2.1.3 變數的幾個要素及其類型對運算的影響 100
2.1.4 自增++、自減--運算 101
2.1.5 邏輯運算的幾種特殊規則 103
2.1.6 複合賦值運算的幾個要點 105
2.1.7 學習和使用函式的幾個關鍵問題 106
2.2 數據的輸入/輸出與順序結構程式設計 107
2.2.1 格式化輸入函式 107
2.2.2 格式化輸出函式 111
2.2.3 順序結構 113
2.3 選擇結構程式設計及其套用 113
2.3.1 if語句及其與條件運算(?:)的等價性 113
2.3.2 if語句的嵌套、else與if的配對原則及其副作用 114
2.3.3 switch結構的幾種具體情況分析 115
2.4 循環結構程式設計及其套用 116
2.4.1 循環結構使用的幾個關鍵問題 116
2.4.2 循環條件“表達式”的形式和循環體語句的形式 117
2.4.3 break、continue、exit()的作用與區別 118
2.4.4 編程解決數值問題的基本步驟 119
2.5 指針與數組 120
2.5.1 變數指針與指針變數、指向交換與交換值 120
2.5.2 一維數組 122
2.5.3 二維數組 124
2.5.4 字元數組和字元串及其處理函式 126
2.5.5 指針數組與二重指針變數及其關係 127
2.5.6 主函式的參數與指針數組 130
2.6 函式、變數的存儲屬性、預處理 131
2.6.1 函式的結構與函式自定義的基本步驟 131
2.6.2 函式的聲明、定義、調用及其區別 132
2.6.3 函式遞歸實現的原理與遞歸終結條件 133
2.6.4 變數的存儲屬性及其互不影響的幾種情況 134
2.6.5 靜態變數初始化與賦值的區別 137
2.6.6 指針作為函式參數的幾種具體情況及其作用 139
2.6.7 有參數的宏定義與有參數函式之間的區別 141
2.6.8 指針函式及其返回值 142
2.7 結構體、共同體、枚舉類型、 動態分配函式與單向鍊表 144
2.7.1 結構體類型與結構體變數的區別 144
2.7.2 結構體類型與共同體類型的區別 145
2.7.3 結構體變數與數組名的區別 146
2.7.4 枚舉類型定義、引用時的幾個要點 148
2.7.5 動態分配函式與單向鍊表 148
2.8 檔案操作及其簡單套用 151
2.8.1 編程處理檔案數據的基本步驟 151
2.8.2 fopen( )函式參數含義解析 152
2.8.3 塊方式操作檔案函式fread、fwrite參數解析及其套用 154
2.8.4 檔案數據格式化操作函式fscanf()、fprintf()使用要領 156
第3章 典型例題與解析 159
3.1 數據類型、常量與變數、運算符與表達式 159
3.1.1 基礎數據類型、常量與變數、數據運算 159
3.1.2 數據類型的不同轉化與運算的優先權 161
3.1.3 複合賦值運算的運算規則 162
3.1.4 自加、自減運算與逗號運算符 163
3.2 數據的輸入/輸出與順序結構程式設計 164
3.2.1 數值類數據輸入時數據的分隔問題與典型的順序結構程式設計 164
3.2.2 數值類數據與字元類數據混合輸入時的數據分隔 166
3.2.3 整數的格式控制輸出 167
3.2.4 實數的格式控制輸出 170
3.2.5 字元(串)數據的格式控制輸出 172
3.2.6 練習題 173
3.3 選擇結構程式設計及其套用 176
3.3.1 if語句的幾種形式及其套用與相互轉化 176
3.3.2 switch語句及其套用 179
3.3.3 switch結構、if結構、條件運算之間的轉化套用 180
3.3.4 break對嵌套的switch結構的終止及其套用 181
3.4 循環結構程式設計及其套用 183
3.4.1 單循環結構程式設計及其套用 183
3.4.2 多重循環結構及其套用 193
3.4.3 break、continue語句及其套用 194
3.4.4 疊代與窮舉原理在循環中的套用 195
3.4.5 選擇、循環結構嵌套套用實例 197
3.5 指針與數組 199
3.5.1 指針、變數的指針與指針變數 199
3.5.2 指針及指針變數實施的運算及其含義 200
3.5.3 數組的靜態定義與元素的下標表示法 201
3.5.4 數組的動態定義與元素的指針表示法 202
3.5.5 數組的指針與指向數組的指針變數 204
3.5.6 二維數組的行列指針與指向二維數組的行列指針變數 205
3.5.7 指針數組和二級指針及其關係 208
3.6 函式、變數的存儲屬性、預處理 210
3.6.1 函式的聲明、定義、調用與函式的返回值 210
3.6.2 函式的參數與地址傳遞機制 213
3.6.3 函式的遞歸調用與靜態變數、自動變數結合的實例 220
3.6.4 函式的遞歸調用與指針作為函式參數結合的實例 222
3.6.5 指針函式與自定義字元串處理函式 223
3.6.6 函式的指針與指向函式的指針變數及其套用 227
3.6.7 主函式的參數與指針數組 228
3.6.8 變數的存儲屬性及其作用域與生存期 229
3.6.9 外部變數作用域的擴展與多個源檔案的編譯和連線 233
3.6.10 宏替換與函式的區別 236
3.7 結構體、共同體、動態分配函式與單向鍊表 240
3.7.1 結構體 240
3.7.2 結構體數組 243
3.7.3 結構體變數指針和指針變數及其套用 244
3.7.4 共同體類型、共同體變數及指針變數的套用 246
3.7.5 結構體與共同體的嵌套套用 249
3.7.6 動態分配函式和動態釋放函式的套用與單向鍊表的基本操作 251
3.8 檔案操作及其簡單套用 255
3.8.1 文本類檔案的處理 255
3.8.2 二進制數據檔案的處理 258
3.8.3 數據的格式化操作與檔案的隨機讀寫 261
3.8.4 檔案的綜合套用 264
第4章 C語言實驗 271
4.1 【實驗一】C語言的集成開發環境與源程式的編輯和運行方法 271
4.2 【實驗二】數據類型、常量與變數、運算符與表達式 276
4.3 【實驗三】數據的輸入/輸出與順序結構程式設計 286
4.4 【實驗四】選擇結構程式設計及其套用 294
4.5 【實驗五】循環結構程式設計及其套用 303
4.6 【實驗六】指針與數組 308
4.7 【實驗七】函式、變數的存儲屬性、預處理 318
4.8 【實驗八】結構體、共同體、動態分配函式與單向鍊表 325
4.9 【實驗九】檔案操作及其簡單套用 330
第5章 C語言實踐環境與上機指南 336
5.1 Turbo C 2.0上機操作指南 336
5.1.1 Turbo C 2.0的安裝 336
5.1.2 Turbo C 2.0的啟動和關閉 336
5.1.3 Turbo C 2.0的工作視窗 337
5.1.4 設定Turbo C 2.0的工作環境和用戶目錄 338
5.1.5 Turbo C 2.0中源檔案的編輯、保存、載入、更名 339
5.1.6 Turbo C 2.0單檔案源程式的編譯和連線 340
5.1.7 Turbo C 2.0多檔案源程式的組合、編譯、連線 342
5.1.8 Turbo C 2.0程式的靜態檢查與動態調試方法 344
5.1.9 Turbo C 2.0程式的運行 346
5.2 Turbo C++ 3.0上機操作 347
5.2.1 Turbo C++ 3.0的安裝、啟動、關閉、工作路徑的設定 347
5.2.2 Turbo C++ 3.0的集成開發環境 349
5.2.3 Turbo C++ 3.0中源檔案的建立、編輯、保存、載入 351
5.2.4 Turbo C++ 3.0中源檔案的編譯、連線、運行 352
5.2.5 Turbo C++ 3.0中程式的動態調試與單步執行和斷點設定 353
5.2.6 Turbo C++ 3.0多個檔案程式的編譯、連線、運行 355
5.3 Visual C++ 6.0上機操作 357
5.3.1 Visual C++ 6.0的安裝、啟動、退出 358
5.3.2 Visual C++ 6.0中工作路徑的設定與保存 359
5.3.3 Visual C++ 6.0中源程式的建立、編輯、保存、載入 361
5.3.4 Visual C++ 6.0源程式的編譯、連線和運行 363
5.3.5 在Visual C++ 6.0中關閉當前工作空間 365
5.3.6 在Visual C++ 6.0中建立項目檔案、組合編譯多個檔案 365
5.3.7 Visual C++ 6.0中源程式的調試與調試器的使用 368
附錄 373
附錄A C語言的關鍵字及其作用 373
附錄B C語言的運算符及其結合方向 374
附錄C Turbo C 2.0各選單的功能 376
附錄D Turbo C 2.0常用功能鍵 380
附錄E Turbo C庫函式頭檔案 381
附錄F C語言編譯錯誤信息 382
參考文獻 404

相關詞條

熱門詞條

聯絡我們