C程式設計教程(第2版)(2013年清華大學出版社出版的圖書)

C程式設計教程(第2版)(2013年清華大學出版社出版的圖書)

《C程式設計教程(第2版)》是由譚浩強著,2013年清華大學出版社出版的普通高等教育“十一五”國家級規劃教材、中國高等院校計算機基礎教育課程體系規劃教材。該教材可用作全國各高等學校各專業的正式教材,適合於一般院校的非計算機專業使用。也是一本供自學的教材。

該教材共9章,主要內容包括:程式設計和C語言,最簡單的C程式設計——順序程式設計,選擇結構程式設計等。

基本介紹

  • 書名:C程式設計教程(第2版)
  • 作者:譚浩強
  • ISBN:9787302328827
  • 類別:普通高等教育“十一五”國家級規劃教材
  • 頁數:284頁
  • 出版社:清華大學出版社
  • 出版時間:2013年8月1日
  • 裝幀:平裝
  • 開本:16開
  • 字數:480千字
  • CIP核字號:2013136393
成書過程,修訂情況,出版工作,內容簡介,教材目錄,教學資源,教材特色,作者簡介,

成書過程

修訂情況

該教材作以下幾個方面修訂:
  1. 把第一版的第1章“C語言概述”改為“程式設計和C語言”,在這一章中增加了計算機語言和程式的基本知識;
  2. 取消《C程式設計教程》第一版中的第2章“數據類型、運算符與表達式”;
  3. 該次修訂時,只介紹最基本的格式(%d,%f,%e,%c,%s),能夠進行輸入輸出就行,其他附表供查用;
  4. 在函式一章中,簡化一些初學者不常用的內容,如“內部函式和外部函式”,對存儲類別的介紹也從簡;
  5. 指針很重要,把重點放在最基本的內容上,主要介紹一級指針;關於二級指針只介紹有關二維數組的內容;對“指向函式的指針”、“返回指針值的函式”、“指針數組和多重指針”、“動態記憶體分配與指向它的指針變數”等較深入而初學者用得不多的內容不再介紹;
  6. 只介紹結構體,不介紹共用體;
  7. 精簡了鍊表處理(鍊表的建立、插入、刪除、輸出等)的內容,只對鍊表做很簡單的介紹;
  8. 檔案只作簡單介紹,有初步概念即可;
  9. 該教材不包括有關高等數學知識的例題,在習題部分列出有關的題目(如用二分法和牛頓疊代法求一元方程的根),並在《C程式設計教程(第2版)學習輔導》中給出介紹和程式。
該教材由譚浩強編寫,薜淑斌高級工程師和譚亦峰工程師參加了該教材的策劃、調研、收集資料、研討以及編寫部分程式的工作。

出版工作

2013年8月1日,該教材由清華大學出版社出版。
出版社工作人員
責任編輯封面設計責任校對責任印製
謝琛、薛陽
常雪影
梁毅
何芊

內容簡介

該教材共9章,主要內容包括:程式設計和C語言,最簡單的C程式設計——順序程式設計,選擇結構程式設計,循環結構程式設計,利用數組處理批量數據,利用函式進行模組化程式設計,善於使用指針,根據需要創建數據類型,利用檔案保存數據。

教材目錄

1.1計算機與程式、程式設計語言1
1.2C語言的特點2
1.3簡單的C語言程式3
1.4C語言程式的結構6
1.5運行C程式的步驟與方法8
1.6程式設計的任務10
1.7算法——程式的靈魂11
1.7.1程式是什麼11
1.7.2什麼是算法12
1.7.3怎樣表示一個算法13
1.8結構化程式設計方法19
1.9學習程式設計,培養計算思維21
本章小結23
習題23
第2章最簡單的C程式設計——順序程式設計25
2.1順序程式設計舉例25
2.2數據的類型及存儲形式29
2.2.1C的數據類型29
2.2.2數據的表現形式——常量和變數29
2.2.3整型數據31
2.2.4字元型數據36
2.2.5浮點型數據41
2.3用表達式進行數據的運算43
2.3.1C表達式43
2.3.2C運算符44
2.3.3運算符的優先權與結合性46
2.3.4不同類型數據間的混合運算46
2.3.5強制類型轉換47
2.4最常用的C語句——賦值語句48
2.4.1C語句綜述48
2.4.2賦值表達式50
2.4.3賦值語句53
2.5數據的輸入輸出55
2.5.1C語言中輸入輸出的概念55
2.5.2用printf函式輸出數據57
2.5.3用scanf函式輸入數據62
2.5.4字元數據的輸入輸出65
本章小結67
習題68
第3章選擇結構程式設計71
3.1簡單的選擇結構程式71
3.2選擇結構中的關係運算73
3.2.1關係運算符及其優先次序73
3.2.2關係表達式73
3.3選擇結構中的邏輯運算74
3.3.1邏輯運算符及其優先次序75
3.3.2邏輯表達式76
3.4用if語句實現選擇結構78
3.4.1if語句的三種形式78
3.4.2if語句的嵌套80
3.5用條件表達式實現選擇結構83
3.6利用switch語句實現多分支選擇結構86
3.7選擇結構程式綜合舉例88
本章小結94
習題94
第4章循環結構程式設計96
4.1程式需要循環96
4.2用while語句和do…while語句實現循環96
4.2.1用while語句實現循環96
4.2.2用do…while語句實現循環98
4.2.3while循環和do…while循環的比較99
4.2.4遞推與疊代101
4.3用for語句實現循環104
4.3.1for語句的執行過程104
4.3.2for語句的各種形式106
4.3.3for循環套用舉例108
4.4循環的嵌套110
4.5用break語句和continue語句改變循環狀態110
4.5.1用break語句提前退出循環110
4.5.2用continue語句提前結束本次循環111
4.6幾種循環的比較113
4.7循環程式舉例113
本章小結116
習題117
第5章利用數組處理批量數據119
5.1數組的作用119
5.2怎樣定義和引用一維數組120
5.2.1怎樣定義一維數組120
5.2.2怎樣引用一維數組元素120
5.2.3一維數組的初始化121
5.2.4利用一維數組的典型算法——遞推與排序122
5.3怎樣定義和引用二維數組125
5.3.1怎樣定義二維數組125
5.3.2怎樣引用二維數組的元素126
5.3.3二維數組程式舉例126
5.3.4二維數組的初始化129
5.4利用字元數組處理字元串數據130
5.4.1怎樣定義字元數組130
5.4.2字元數組的初始化131
5.4.3引用字元數組的元素132
5.4.4字元串和字元串結束標誌133
5.4.5字元數組的輸入輸出方法135
5.4.6有關字元處理的算法136
5.4.7利用字元串處理函式139
本章小結142
習題143
第6章利用函式進行模組化程式設計145
6.1為什麼要使用函式145
6.1.1函式是什麼145
6.1.2程式和函式146
6.2怎樣定義函式147
6.2.1為什麼要定義函式147
6.2.2怎樣定義無參函式148
6.2.3怎樣定義有參函式148
6.3函式參數和函式的值149
6.3.1形式參數和實際參數149
6.3.2函式的返回值150
6.4函式的調用151
6.4.1函式調用的一般形式151
6.4.2調用函式的方式152
6.4.3對被調用函式的聲明和函式原型152
6.5函式的嵌套調用155
6.6函式的遞歸調用156
6.6.1什麼是函式的遞歸調用156
6.6.2遞歸算法分析157
6.6.3用遞歸函式實現遞歸算法160
6.7數組作為函式參數164
6.8函式套用舉例——編寫排序程式167
6.9變數的作用域和生存期170
6.9.1局部變數171
6.9.2全局變數171
6.9.3變數的存儲方式和生存期172
6.9.4作用域與生存期小結175
6.10關於變數的聲明和定義177
本章小結178
習題180
第7章善於使用指針181
7.1什麼是指針181
7.2變數的指針和指向變數的指針變數183
7.2.1怎樣定義指針變數183
7.2.2怎樣引用指針變數185
7.2.3指針變數作為函式參數188
7.3通過指針引用數組192
7.3.1數組元素的指針192
7.3.2指針的運算193
7.3.3通過指針引用數組元素195
7.3.4用數組名作函式參數198
7.4通過指針引用字元串204
7.4.1引用字元串的方法204
7.4.2字元指針作函式參數208
7.4.3對使用字元指針變數和字元數組的歸納211
本章小結213
習題217
第8章根據需要創建數據類型219
8.1定義和引用結構體變數219
8.1.1怎樣創建結構體類型219
8.1.2怎樣定義結構體類型變數221
8.1.3引用結構體變數223
8.2使用結構體數組226
8.2.1定義結構體數組226
8.2.2結構體數組套用舉例228
8.3結構體指針229
8.3.1指向結構體變數的指針229
8.3.2指向結構體數組的指針231
8.3.3用結構體變數和結構體變數的指針作函式參數232
8.4用指針處理鍊表235
8.4.1什麼是鍊表235
8.4.2建立簡單的靜態鍊表237
8.4.3建立動態鍊表238
8.4.4輸出鍊表241
8.5使用枚舉類型244
8.5.1什麼是枚舉和枚舉變數244
8.5.2枚舉型數據套用舉例245
本章小結248
習題249
第9章利用檔案保存數據250
9.1C檔案的有關概念250
9.1.1什麼是檔案250
9.1.2檔案名稱251
9.1.3檔案的分類251
9.1.4檔案緩衝區252
9.1.5檔案指針252
9.1.6檔案的位置指針253
9.2檔案的打開與關閉254
9.2.1用fopen函式打開檔案254
9.2.2用fclose函式關閉檔案255
9.3檔案的順序讀寫255
9.3.1向檔案讀寫一個字元256
9.3.2向檔案讀寫一個字元串258
9.3.3對檔案進行格式化讀寫261
9.3.4按二進制方式對檔案進行讀寫261
9.4檔案的隨機讀寫262
9.4.1檔案位置指針的定位262
9.4.2對檔案進行隨機讀寫264
本章小結265
習題267
附錄A常用字元與ASCII代碼對照表268
附錄BC語言中的關鍵字269
附錄C運算符和結合性270
附錄DC語言常用語法提要273
附錄EC庫函式278
參考文獻285
(註:目錄排版順序為從左列至右列

教學資源

該教材有配套教材——《C程式設計教程學習輔導(第2版)》,書中包含主教材各章習題的參考答案以及上機實踐指導。
書名書號出版社出版時間作者
《C程式設計教程學習輔導(第2版)》
9787302340416
清華大學出版社
2013.12.01
譚浩強

教材特色

該教材介紹怎樣使用C語言進行程式設計。通過該教材的學習,可以基本上掌握C語言的主要內容和使用方法,同時學習程式設計的方法及有關算法的知識,初步掌握用計算機解題的全過程。
該教材作者把複雜的問題簡單化,化解了學生學習過程中的許多困難。根據教學實踐,該教材在第一版的基礎上,重新構建教材體系,進一步壓縮內容,加強算法訓練,用通俗易懂的方法和語言闡明複雜的概念,同時注重培養包括計算思維在內的科學思維。
該教材是從套用的角度出發,以編程為目的和主線,介紹怎樣用C語言處理問題。把算法和語法結合,安排順序,算法的選擇由易而難,選擇例子。在此基礎上,構造了新的教學和教材體系。具體的做法是:在每一章中,首先舉幾個簡單的例子,引入新的問題,接著介紹怎樣利用C語言去解決簡單的問題,然後再介紹較深入的算法和程式。
該教材各章中結合例題介紹各種典型的算法。對窮舉、遞推、疊代、遞歸、排序(包括比較交換法、選擇法、起泡法)、矩陣運算、字元處理套用等算法作了介紹,對難度較大的鍊表處理算法的思路作了說明。
作者考慮到初學者的情況,設計體系,適當降低門檻。少用深奧難懂的專業術語,用通俗易懂的方法和語言闡述清楚複雜的概念,使複雜的問題簡單化。
該教材採用作者提出的“提出問題→解決問題→歸納分析”的新的教學三部曲,先具體後抽象,先實際後理論,先個別後一般,而不是先抽象後具體,先理論後實際,先一般後個別。

作者簡介

譚浩強,男,漢族,1934年11月出生,廣東省人。曾擔任清華大學團委副書記、清華大學綿陽分校黨委常委、清華大學分校副校長等職務,同時承擔教學工作。曾獲全國高校教學成果獎國家級獎、國家科技進步獎、多項部委級優秀教材獎,北京市政府授予“有突出貢獻專家”稱號,被國家科委、中國科協表彰為“全國優秀科普工作者”,獲國務院特殊津貼。

相關詞條

熱門詞條

聯絡我們