C程序設計(第五版)(簡體書)
商品資訊
系列名:中國高等院校電腦基礎教育課程體系規劃教材
ISBN13:9787302481447
出版社:清華大學出版社(大陸)
作者:譚浩強
出版日:2017/08/27
裝訂/頁數:平裝/370頁
規格:23.5cm*16.8cm (高/寬)
版次:五版
商品簡介
作者簡介
名人/編輯推薦
目次
商品簡介
由譚浩強教授著、清華大學出版社出版的《C程序設計》經過近三十年一千多萬讀者的實踐檢驗,被公認為學習C語言程序設計的經典教材。根據C語言的發展和計算機教學的需要,《C程序設計(第五版)》作者在《C程序設計(第四版)》的基礎上進行了修訂,使內容更加完善,更易於理解,更加切合教學需要。《C程序設計(第五版)》按照C語言的新標準C99進行介紹,所有程序都符合C99的規定,使編寫程序更加規範;對C語言和程序設計的基本概念和要點講解透徹、全面而深入;按照作者提出的“提出問題-解決問題-歸納分析”三部曲進行教學和組織教材;《C程序設計(第五版)》的每個例題都按以下幾個步驟展開:提出任務-解題思路-編寫程序-運行程序-程序分析-有關說明。符合讀者認知規律,容易入門與提高。《C程序設計(第五版)》內容優選,體系合理,概念清晰,講解詳盡,降低臺階,分散難點,例題豐富,深入淺出,文字流暢,通俗易懂,是初學者學習C語言程序設計的理想教材,既可作為高等學校各專業的正式教材,也適合讀者自學。《C程序設計(第五版)》還配有輔助教材《C程序設計(第五版)學習輔導》。
作者簡介
譚浩強,教授,我國著名計算機教育專家。1958年畢業於清華大學自動控制系。青年時期曾擔任清華大學學生會主席、北京市學聯副主席、北京市人民代表、全國文教戰線先進分子。他是我國計算機普及和高校計算機基礎教育的開拓者之一。現任全國高等院校計算機基礎教育研究會榮譽會長、 全國計算機應用技術證書考試委員會主任委員,享受國務院政府特殊津貼。曾獲國家科技進步獎、國家級教學成果獎,被原國家科學技術委員會和中國科學技術協會表彰為“全國先進科普工作者”,被北京市人民政府評為“北京市有突出貢獻的專家”。
譚浩強教授創造了三個世界紀錄:(1)30年來他(以及和他人合作)共編著出版了160多本計算機著作,主編了400多本計算機書籍,是出版科技著作數量最多的人。(2)他編著和主編的書發行量超過6000萬冊,是讀者最多的科技作家。我國平均每21人、知識分子每1.2人就擁有一本譚浩強的書。(3)他和他人合著的《BASIC語言》發行1250多萬冊,他所著的《C程序設計》發行1400多萬冊,雙雙創造科技書籍發行量的最高紀錄。他曾在中央電視臺主講了BASIC,FORTRAN,COBOL,Pascal,QBASIC,C,Visual Basic七種計算機語言,觀眾超過500萬人。
譚浩強教授善於用讀者容易理解的方法和語言說明複雜的概念。許多人認為他開創了計算機書籍貼近大眾的新風,為我國的計算機普及事業作出重要的貢獻。21世紀初,被《計算機世界》報組織的“世紀評選”評為“我國20世紀最有影響的十個IT人物”,被《電腦報》評為“我國十大IT人物”,他的功績是把千百萬群眾帶入計算機的大門。
譚浩強教授創造了三個世界紀錄:(1)30年來他(以及和他人合作)共編著出版了160多本計算機著作,主編了400多本計算機書籍,是出版科技著作數量最多的人。(2)他編著和主編的書發行量超過6000萬冊,是讀者最多的科技作家。我國平均每21人、知識分子每1.2人就擁有一本譚浩強的書。(3)他和他人合著的《BASIC語言》發行1250多萬冊,他所著的《C程序設計》發行1400多萬冊,雙雙創造科技書籍發行量的最高紀錄。他曾在中央電視臺主講了BASIC,FORTRAN,COBOL,Pascal,QBASIC,C,Visual Basic七種計算機語言,觀眾超過500萬人。
譚浩強教授善於用讀者容易理解的方法和語言說明複雜的概念。許多人認為他開創了計算機書籍貼近大眾的新風,為我國的計算機普及事業作出重要的貢獻。21世紀初,被《計算機世界》報組織的“世紀評選”評為“我國20世紀最有影響的十個IT人物”,被《電腦報》評為“我國十大IT人物”,他的功績是把千百萬群眾帶入計算機的大門。
名人/編輯推薦
本書為“十二五”普通高等教育本科***規劃教材、北京市高等教育精品教材立項項目,獲全國高校出版社**暢銷書特等獎、原電子工業部**教材一等獎、全國高等院校計算機基礎教育研究會**教材一等獎等多項獎項。
《C程序設計》累計發行逾1400萬冊,不僅創同類書的全國紀錄,在世界上也是罕見的,堪稱出版界的奇跡。《C程序設計》是一本**的學習C語言程序設計的經典教材。根據C語言的發展和計算機教學的需要,作者在《C程序設計(第四版)》的基礎上進行了修訂,使內容*加完善,*易於理解,*加切合教學需要。本書按照C語言的新標準C 99進行介紹,所有程序都符合C 99的規定,使編寫程序*加規範;採用Visual C++ 6.0編譯系統;對C語言和程序設計的基本概念和要點講解透徹、全面而深入;按照作者提出的“提出問題―解決問題―歸納分析”三部曲進行教學和組織教材;本書的每個例題都按以下幾個步驟展開:提出任務―解題思路―編寫程序―運行程序―程序分析―有關說明。符合讀者認知規律,容易入門與提高。
本書是初學者學習C程序設計的理想教材,可作為高等學校各專業的正式教材,也是一本自學的好教材。本書配有輔助教材《C程序設計(第五版)學習輔導》(ISBN: 9787302480877)。本書的PPT電子教案和主輔教材的源代碼,可到清華大學出版社官網下載,與本書配合使用的數字資源也將陸續推出,供各高校教學使用。
《C程序設計》累計發行逾1400萬冊,不僅創同類書的全國紀錄,在世界上也是罕見的,堪稱出版界的奇跡。《C程序設計》是一本**的學習C語言程序設計的經典教材。根據C語言的發展和計算機教學的需要,作者在《C程序設計(第四版)》的基礎上進行了修訂,使內容*加完善,*易於理解,*加切合教學需要。本書按照C語言的新標準C 99進行介紹,所有程序都符合C 99的規定,使編寫程序*加規範;採用Visual C++ 6.0編譯系統;對C語言和程序設計的基本概念和要點講解透徹、全面而深入;按照作者提出的“提出問題―解決問題―歸納分析”三部曲進行教學和組織教材;本書的每個例題都按以下幾個步驟展開:提出任務―解題思路―編寫程序―運行程序―程序分析―有關說明。符合讀者認知規律,容易入門與提高。
本書是初學者學習C程序設計的理想教材,可作為高等學校各專業的正式教材,也是一本自學的好教材。本書配有輔助教材《C程序設計(第五版)學習輔導》(ISBN: 9787302480877)。本書的PPT電子教案和主輔教材的源代碼,可到清華大學出版社官網下載,與本書配合使用的數字資源也將陸續推出,供各高校教學使用。
目次
第1章程序設計和C語言11.1什麼是計算機程序1
1.2什麼是計算機語言1
1.3C語言的發展及其特點3
1.4簡單的C語言程序5
1.4.1簡單的C語言程序舉例5
1.4.2C語言程序的結構9
1.5運行C程序的步驟與方法11
1.6程序設計的任務13
習題14
第2章算法――程序的靈魂15
2.1程序=算法+數據結構15
2.2什麼是算法16
2.3簡單的算法舉例17
2.4算法的特性20
2.5怎樣表示一個算法21
2.5.1用自然語言表示算法21
2.5.2用流程圖表示算法21
2.5.3三種基本結構和改進的流程圖25
2.5.4用NS流程圖表示算法28
2.5.5用偽代碼表示算法31
2.5.6用計算機語言表示算法32
2.6結構化程序設計方法33
習題35
第3章*簡單的C程序設計――順序程序設計37
3.1順序程序設計舉例37
3.2數據的表現形式及其運算39
3.2.1常量和變量39
3.2.2數據類型42
3.2.3整型數據44
3.2.4字符型數據47
3.2.5浮點型數據49
3.2.6怎樣確定常量的類型50
3.3運算符和表達式51
3.3.1C運算符52
3.3.2基本的算術運算符52
3.3.3自增(++)、自減(--)運算符53
3.3.4算術表達式和運算符的優先級與結合性53
3.3.5不同類型數據間的混合運算54
3.3.6強制類型轉換運算符55
3.4C語句56
3.4.1C語句的作用和分類56
3.4.2*基本的語句――賦值語句58
3.5數據的輸入輸出64
3.5.1輸入輸出舉例64
3.5.2有關數據輸入輸出的概念65
3.5.3用printf函數輸出數據67
3.5.4用scanf函數輸入數據74
3.5.5字符輸入輸出函數76
習題80
第4章選擇結構程序設計83
4.1選擇結構和條件判斷83
4.2用if語句實現選擇結構85
4.2.1用if語句處理選擇結構舉例85
4.2.2if語句的一般形式 87
4.3關係運算符和關系表達式89
4.3.1關係運算符及其優先次序90
4.3.2關系表達式90
4.4邏輯運算符和邏輯表達式90
4.4.1邏輯運算符及其優先次序91
4.4.2邏輯表達式92
4.5條件運算符和條件表達式94
4.6選擇結構的嵌套96
4.7用switch語句實現多分支選擇結構99
4.8選擇結構程序綜合舉例102
習題107
第5章循環結構程序設計110
5.1為什麼需要循環控制110
5.2用while語句實現循環111
5.3用do…while語句實現循環113
5.4用for 語句實現循環116
5.5循環的嵌套120
5.6幾種循環的比較121
5.7改變循環執行的狀態121
5.7.1用break語句提前終止循環122
5.7.2用continue語句提前結束本次循環123
5.7.3break語句和continue語句的區別124
5.8循環程序舉例127
習題137
第6章利用數組處理批量數據139
6.1怎樣定義和引用一維數組139
6.1.1怎樣定義一維數組140
6.1.2怎樣引用一維數組元素140
6.1.3一維數組的初始化142
6.1.4一維數組程序舉例142
6.2怎樣定義和引用二維數組145
6.2.1怎樣定義二維數組146
6.2.2怎樣引用二維數組的元素147
6.2.3二維數組的初始化148
6.2.4二維數組程序舉例149
6.3字符數組151
6.3.1怎樣定義字符數組151
6.3.2字符數組的初始化152
6.3.3怎樣引用字符數組中的元素152
6.3.4字符串和字符串結束標誌153
6.3.5字符數組的輸入輸出156
6.3.6使用字符串處理函數157
6.3.7字符數組應用舉例162
習題165
第7章用函數實現模塊化程序設計167
7.1為什麼要用函數167
7.2怎樣定義函數169
7.2.1為什麼要定義函數169
7.2.2定義函數的方法170
7.3調用函數171
7.3.1函數調用的形式171
7.3.2函數調用時的數據傳遞172
7.3.3函數調用的過程174
7.3.4函數的返回值174
7.4對被調用函數的聲明和函數原型176
7.5函數的嵌套調用179
7.6函數的遞歸調用181
7.7數組作為函數參數189
7.7.1數組元素作函數實參189
7.7.2一維數組名作函數參數191
7.7.3多維數組名作函數參數194
7.8局部變量和全局變量196
7.8.1局部變量196
7.8.2全局變量197
7.9變量的存儲方式和生存期201
7.9.1動態存儲方式與靜態存儲方式201
7.9.2局部變量的存儲類別202
7.9.3全局變量的存儲類別205
7.9.4存儲類別小結209
7.10關於變量的聲明和定義211
7.11內部函數和外部函數212
7.11.1內部函數212
7.11.2外部函數213
習題215
第8章善於利用指針217
8.1指針是什麼217
8.2指針變量219
8.2.1使用指針變量的例子219
8.2.2怎樣定義指針變量220
8.2.3怎樣引用指針變量222
8.2.4指針變量作為函數參數224
8.3通過指針引用數組229
8.3.1數組元素的指針229
8.3.2在引用數組元素時指針的運算229
8.3.3通過指針引用數組元素231
8.3.4用數組名作函數參數236
8.3.5通過指針引用多維數組243
8.4通過指針引用字符串254
8.4.1字符串的引用方式 254
8.4.2字符指針作函數參數258
8.4.3使用字符指針變量和字符數組的比較262
8.5指向函數的指針265
8.5.1什麼是函數的指針265
8.5.2用函數指針變量調用函數265
8.5.3怎樣定義和使用指向函數的指針變量267
8.5.4用指向函數的指針作函數參數269
8.6返回指針值的函數273
8.7指針數組和多重指針276
8.7.1什麼是指針數組 276
8.7.2指向指針數據的指針變量279
8.7.3指針數組作main函數的形參281
8.8動態內存分配與指向它的指針變量284
8.8.1什麼是內存的動態分配284
8.8.2怎樣建立內存的動態分配284
8.8.3void指針類型 286
8.9有關指針的小結288
習題291
第9章用戶自己建立數據類型293
9.1定義和使用結構體變量293
9.1.1自己建立結構體類型293
9.1.2定義結構體類型變量 295
9.1.3結構體變量的初始化和引用296
9.2使用結構體數組300
9.2.1定義結構體數組300
9.2.2結構體數組的應用舉例301
9.3結構體指針303
9.3.1指向結構體變量的指針303
9.3.2指向結構體數組的指針304
9.3.3用結構體變量和結構體變量的指針作函數參數306
9.4用指針處理鏈表309
9.4.1什麼是鏈表 309
9.4.2建立簡單的靜態鏈表310
9.4.3建立動態鏈表311
9.4.4輸出鏈表315
9.5共用體類型317
9.5.1什麼是共用體類型317
9.5.2引用共用體變量的方式318
9.5.3共用體類型數據的特點319
9.6使用枚舉類型322
9.7用typedef聲明新類型名326
習題330
第10章對文件的輸入輸出331
10.1C文件的有關基本知識331
10.1.1什麼是文件331
10.1.2文件名332
10.1.3文件的分類332
10.1.4文件緩沖區333
10.1.5文件類型指針333
10.2打開與關閉文件334
10.2.1用fopen函數打開數據文件335
10.2.2用fclose函數關閉數據文件337
10.3順序讀寫數據文件338
10.3.1怎樣向文件讀寫字符338
10.3.2怎樣向文件讀寫一個字符串341
10.3.3用格式化的方式讀寫文本文件345
10.3.4用二進制方式向文件讀寫一組數據345
10.4隨機讀寫數據文件350
10.4.1文件位置標記及其定位350
10.4.2隨機讀寫 353
10.5文件讀寫的出錯檢測355
習題355
附錄357
附錄A常用字符與ASCII代碼對照表357
附錄BC語言中的關鍵字358
附錄C運算符和結合性359
附錄DC語言常用語法提要361
附錄EC庫函數365
參考文獻371
1.2什麼是計算機語言1
1.3C語言的發展及其特點3
1.4簡單的C語言程序5
1.4.1簡單的C語言程序舉例5
1.4.2C語言程序的結構9
1.5運行C程序的步驟與方法11
1.6程序設計的任務13
習題14
第2章算法――程序的靈魂15
2.1程序=算法+數據結構15
2.2什麼是算法16
2.3簡單的算法舉例17
2.4算法的特性20
2.5怎樣表示一個算法21
2.5.1用自然語言表示算法21
2.5.2用流程圖表示算法21
2.5.3三種基本結構和改進的流程圖25
2.5.4用NS流程圖表示算法28
2.5.5用偽代碼表示算法31
2.5.6用計算機語言表示算法32
2.6結構化程序設計方法33
習題35
第3章*簡單的C程序設計――順序程序設計37
3.1順序程序設計舉例37
3.2數據的表現形式及其運算39
3.2.1常量和變量39
3.2.2數據類型42
3.2.3整型數據44
3.2.4字符型數據47
3.2.5浮點型數據49
3.2.6怎樣確定常量的類型50
3.3運算符和表達式51
3.3.1C運算符52
3.3.2基本的算術運算符52
3.3.3自增(++)、自減(--)運算符53
3.3.4算術表達式和運算符的優先級與結合性53
3.3.5不同類型數據間的混合運算54
3.3.6強制類型轉換運算符55
3.4C語句56
3.4.1C語句的作用和分類56
3.4.2*基本的語句――賦值語句58
3.5數據的輸入輸出64
3.5.1輸入輸出舉例64
3.5.2有關數據輸入輸出的概念65
3.5.3用printf函數輸出數據67
3.5.4用scanf函數輸入數據74
3.5.5字符輸入輸出函數76
習題80
第4章選擇結構程序設計83
4.1選擇結構和條件判斷83
4.2用if語句實現選擇結構85
4.2.1用if語句處理選擇結構舉例85
4.2.2if語句的一般形式 87
4.3關係運算符和關系表達式89
4.3.1關係運算符及其優先次序90
4.3.2關系表達式90
4.4邏輯運算符和邏輯表達式90
4.4.1邏輯運算符及其優先次序91
4.4.2邏輯表達式92
4.5條件運算符和條件表達式94
4.6選擇結構的嵌套96
4.7用switch語句實現多分支選擇結構99
4.8選擇結構程序綜合舉例102
習題107
第5章循環結構程序設計110
5.1為什麼需要循環控制110
5.2用while語句實現循環111
5.3用do…while語句實現循環113
5.4用for 語句實現循環116
5.5循環的嵌套120
5.6幾種循環的比較121
5.7改變循環執行的狀態121
5.7.1用break語句提前終止循環122
5.7.2用continue語句提前結束本次循環123
5.7.3break語句和continue語句的區別124
5.8循環程序舉例127
習題137
第6章利用數組處理批量數據139
6.1怎樣定義和引用一維數組139
6.1.1怎樣定義一維數組140
6.1.2怎樣引用一維數組元素140
6.1.3一維數組的初始化142
6.1.4一維數組程序舉例142
6.2怎樣定義和引用二維數組145
6.2.1怎樣定義二維數組146
6.2.2怎樣引用二維數組的元素147
6.2.3二維數組的初始化148
6.2.4二維數組程序舉例149
6.3字符數組151
6.3.1怎樣定義字符數組151
6.3.2字符數組的初始化152
6.3.3怎樣引用字符數組中的元素152
6.3.4字符串和字符串結束標誌153
6.3.5字符數組的輸入輸出156
6.3.6使用字符串處理函數157
6.3.7字符數組應用舉例162
習題165
第7章用函數實現模塊化程序設計167
7.1為什麼要用函數167
7.2怎樣定義函數169
7.2.1為什麼要定義函數169
7.2.2定義函數的方法170
7.3調用函數171
7.3.1函數調用的形式171
7.3.2函數調用時的數據傳遞172
7.3.3函數調用的過程174
7.3.4函數的返回值174
7.4對被調用函數的聲明和函數原型176
7.5函數的嵌套調用179
7.6函數的遞歸調用181
7.7數組作為函數參數189
7.7.1數組元素作函數實參189
7.7.2一維數組名作函數參數191
7.7.3多維數組名作函數參數194
7.8局部變量和全局變量196
7.8.1局部變量196
7.8.2全局變量197
7.9變量的存儲方式和生存期201
7.9.1動態存儲方式與靜態存儲方式201
7.9.2局部變量的存儲類別202
7.9.3全局變量的存儲類別205
7.9.4存儲類別小結209
7.10關於變量的聲明和定義211
7.11內部函數和外部函數212
7.11.1內部函數212
7.11.2外部函數213
習題215
第8章善於利用指針217
8.1指針是什麼217
8.2指針變量219
8.2.1使用指針變量的例子219
8.2.2怎樣定義指針變量220
8.2.3怎樣引用指針變量222
8.2.4指針變量作為函數參數224
8.3通過指針引用數組229
8.3.1數組元素的指針229
8.3.2在引用數組元素時指針的運算229
8.3.3通過指針引用數組元素231
8.3.4用數組名作函數參數236
8.3.5通過指針引用多維數組243
8.4通過指針引用字符串254
8.4.1字符串的引用方式 254
8.4.2字符指針作函數參數258
8.4.3使用字符指針變量和字符數組的比較262
8.5指向函數的指針265
8.5.1什麼是函數的指針265
8.5.2用函數指針變量調用函數265
8.5.3怎樣定義和使用指向函數的指針變量267
8.5.4用指向函數的指針作函數參數269
8.6返回指針值的函數273
8.7指針數組和多重指針276
8.7.1什麼是指針數組 276
8.7.2指向指針數據的指針變量279
8.7.3指針數組作main函數的形參281
8.8動態內存分配與指向它的指針變量284
8.8.1什麼是內存的動態分配284
8.8.2怎樣建立內存的動態分配284
8.8.3void指針類型 286
8.9有關指針的小結288
習題291
第9章用戶自己建立數據類型293
9.1定義和使用結構體變量293
9.1.1自己建立結構體類型293
9.1.2定義結構體類型變量 295
9.1.3結構體變量的初始化和引用296
9.2使用結構體數組300
9.2.1定義結構體數組300
9.2.2結構體數組的應用舉例301
9.3結構體指針303
9.3.1指向結構體變量的指針303
9.3.2指向結構體數組的指針304
9.3.3用結構體變量和結構體變量的指針作函數參數306
9.4用指針處理鏈表309
9.4.1什麼是鏈表 309
9.4.2建立簡單的靜態鏈表310
9.4.3建立動態鏈表311
9.4.4輸出鏈表315
9.5共用體類型317
9.5.1什麼是共用體類型317
9.5.2引用共用體變量的方式318
9.5.3共用體類型數據的特點319
9.6使用枚舉類型322
9.7用typedef聲明新類型名326
習題330
第10章對文件的輸入輸出331
10.1C文件的有關基本知識331
10.1.1什麼是文件331
10.1.2文件名332
10.1.3文件的分類332
10.1.4文件緩沖區333
10.1.5文件類型指針333
10.2打開與關閉文件334
10.2.1用fopen函數打開數據文件335
10.2.2用fclose函數關閉數據文件337
10.3順序讀寫數據文件338
10.3.1怎樣向文件讀寫字符338
10.3.2怎樣向文件讀寫一個字符串341
10.3.3用格式化的方式讀寫文本文件345
10.3.4用二進制方式向文件讀寫一組數據345
10.4隨機讀寫數據文件350
10.4.1文件位置標記及其定位350
10.4.2隨機讀寫 353
10.5文件讀寫的出錯檢測355
習題355
附錄357
附錄A常用字符與ASCII代碼對照表357
附錄BC語言中的關鍵字358
附錄C運算符和結合性359
附錄DC語言常用語法提要361
附錄EC庫函數365
參考文獻371
主題書展
更多
主題書展
更多書展購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

