《程式設計導引及線上實踐(第2版)》是2017年1月清華大學出版社出版的圖書,作者是李文新、郭煒、余華山。
基本介紹
- 中文名:程式設計導引及線上實踐(第2版)
- 作者:李文新、郭煒、余華山
- 出版時間:2017年1月
- 出版社:清華大學出版社
- ISBN:9787302452348
- 定價:35 元
內容簡介,圖書目錄,
內容簡介
本書是北京大學“程式設計實習”課程的內容和“北京大學程式線上評測系統”(POJ)的緊密結合,具有極強的實踐性。本書的例題和習題精選自POJ題庫,並且在敘述中穿插了許多精心編寫的思考題,總結了學生在程式設計中易犯的錯誤。本書的作者均有豐富的工程軟體開發經驗和教學經驗,因此本書中的程式代碼均保持良好的風格。
本書可以作為高等學校理工科相關專業程式設計類課程的教材,也可作為以 ACM/ICPC為代表的大學生程式設計競賽的培訓教材,還可供對程式設計感興趣的讀者學習參考。本書封面貼有清華大學出版社防偽標籤,無標籤者不得銷售。
圖書目錄
第1章C/C++語言概述1
1.1程式的基本框架1
1.2變數2
1.2.1變數的定義2
1.2.2變數的賦值3
1.2.3變數的引用3
1.3C/C++語言的數據類型3
1.4常量5
1.5運算符和表達式6
1.5.1算術運算符6
1.5.2賦值運算符8
1.5.3關係運算符8
1.5.4邏輯運算符9
1.5.5位運算符9
1.5.6sizeof運算符12
1.5.7類型強制轉換運算符13
1.5.8運算符的優先權13
1.6注釋14
1.7分支語句15
1.7.1if語句15
1.7.2switch語句17
1.8循環語句19
1.8.1for語句19
1.8.2while語句20
1.8.3dowhile語句20
1.8.4break語句21
1.8.5continue語句21
1.9函式22
1.9.1函式的定義22
1.9.2函式的調用23
1.9.3參數傳遞和返回值24
1.9.4庫函式和頭檔案25
1.10標準輸入輸出25
1.10.1printf函式(標準輸出函式)25
1.10.2scanf函式(標準輸入函式)26
第 11 章程式設計導引及線上實踐(第2版)1.11全局變數和局部變數27
1.12數組28
1.12.1一維數組28
1.12.2二維數組30
1.12.3數組的初始化31
1.12.4數組越界32
1.13字元串33
1.13.1字元串常量33
1.13.2用字元數組存放的字元串34
1.14指針36
1.14.1指針的基本概念36
1.14.2指針運算39
1.14.3空指針40
1.14.4指向指針的指針41
1.14.5指針和數組41
1.14.6字元串和指針43
1.14.7void指針44
1.14.8函式指針45
1.14.9指針和動態記憶體分配47
1.14.10誤用無效指針50
1.15結構50
1.15.1“結構”的概念50
1.15.2結構變數的定義51
1.15.3訪問結構變數的成員變數52
1.15.4結構變數的初始化52
1.15.5結構數組52
1.15.6指向結構變數的指針53
1.15.7動態分配結構變數和結構數組55
1.16檔案讀寫55
1.16.1用fopen打開檔案56
1.16.2用fclose關閉檔案56
1.16.3用fscanf讀檔案,用fprintf寫檔案57
1.16.4用fgetc讀檔案,用fputc寫檔案58
1.16.5用fgets函式讀檔案,fputs函式寫檔案59
1.16.6用fread讀檔案,用fwrite寫檔案60
1.16.7用fseek改變檔案讀寫的當前位置63
1.17C語言標準庫函式64
1.17.1數學函式64
1.17.2字元處理函式65
1.17.3字元串處理和記憶體操作函式65
1.17.4字元串轉換函式66
1.18命令行參數66
1.19C/C++編碼規範67
1.19.1標識符命名注意事項68
1.19.2程式的書寫格式68
1.19.3注釋的寫法70
1.19.4一些好的編程習慣71
第2章簡單計算題73
2.1例題: 雞兔同籠73
2.2例題: 棋盤上的距離74
2.3例題: 校門外的樹77
2.4例題: 填詞78
2.5例題: 裝箱問題80
練習題82
第3章數制轉換問題85
3.1相鄰數字的基數等比: 確定進制85
3.2相鄰數字的基數不等比: skew數87
練習題89
第4章字元串處理90
4.1簡單的字元串操作示例90
4.2例題: 統計字元數91
4.3例題: 487327993
4.4例題: 子串96
4.5例題: Caesar密碼99
練習題101
第5章日期和時間處理104
5.1例題: 判斷閏年104
5.2例題: 細菌繁殖107
5.3例題: 日曆問題112
5.4例題: 瑪雅歷113
5.5例題: 時區間時間的轉換116
練習題120
第6章模擬121
6.1例題: 約瑟夫問題121
6.2例題: 花生問題123
6.3例題: 顯示器126
6.4例題: 排列130
練習題133
第7章高精度計算136
7.1例題: 大整數加法136
7.2例題: 大整數乘法138
7.3例題: 大整數除法141
7.4例題: 麥森數145
練習題148
第8章枚舉149
8.1枚舉的基本思想149
8.2簡單枚舉的例子: 生理周期150
8.3數學模型中包括多個變數的例子: 稱硬幣151
8.4搜尋空間中解不唯一的例子: 完美立方154
8.5遍歷搜尋空間的例子: 熄燈問題156
8.6最佳化判斷條件的例子: 討厭的青蛙160
練習題165
第9章遞歸167
9.1遞歸的基本思想167
9.2例題: 全排列168
9.3例題: 八皇后問題170
9.4例題: 逆波蘭表達式174
9.5例題: 四則運算表達式求值175
9.6例題: 放蘋果179
9.7例題: 簡單的整數劃分問題180
9.8例題: 算24181
9.9例題: 紅與黑184
9.10例題: 二叉樹186
9.11例題: 拯救少林神棍187
練習題193
第10章動態規劃196
10.1什麼是動態規劃196
10.2動態規劃解題的一般思路199
10.3例題: 最長上升子序列200
10.4例題: 幫助Jimmy202
10.5例題: 最長公共子序列206
10.6例題: 神奇口袋208
10.7例題: 灌溉草場210
10.8例題: 方盒遊戲215
10.9例題: 美妙柵欄221
練習題225
第11章鍊表228
11.1單向鍊表、鍊表結點的插入228
11.2帶表頭的單向鍊表、鍊表的搜尋232
11.3雙向鍊表、鍊表結點的排序235
11.4循環鍊表、鍊表結點的刪除238
11.5鍊表的套用: 計算每個作業的運行時間241
練習題247
第12章二叉樹249
12.1二叉樹的建立250
12.2基於遞歸的二叉樹遍歷254
12.3平衡二叉樹257
練習題263
附錄A北京大學程式線上評測系統介紹264
A.1POJ的使用情況264
A.2POJ的主要功能265
A.3使用本書結合POJ進行教學時的用法266
附錄B本書題目在POJ上的編號267
致謝271