定 價:49 元
叢書名:卓越工程師教育培養(yǎng)計算機類創(chuàng)新系列規(guī)劃教材
- 作者:吉根林,陳波主編
- 出版時間:2016/2/14 13:41:00
- ISBN:9787030446107
- 出 版 社:科學出版社
- 中圖法分類:TP312
- 頁碼:356
- 紙張:膠版紙
- 版次:01
- 開本:16開
本教材分上篇、下篇兩個部分。上篇為理論篇,下篇為實踐篇。上篇介紹用C語言開發(fā)程序所必需的數據類型、程序語句與結構、常用算法等內容。下篇介紹上機環(huán)境、調試程序方法、上機實驗、綜合實訓等。本教材采用"任務驅動"方式,從問題出發(fā)介紹C語言的知識點和程序設計思維方法,由淺入深、循序漸進,最后給出求解問題的程序。通過一些編程實例介紹編程算法,強調上機實踐,注重計算思維和編程實踐能力的培養(yǎng)。該書條理清晰、實例豐富、語言流暢,做到基礎性、實用性、趣味性、拓展性四者相結合。
更多科學出版社服務,請掃碼獲取。
目錄
理論知識篇
第1章緒論 2
1.1程序與程序設計語言 2
1.1.1計算機與程序 2
1.1.2程序設計語言 2
1.1.3高級語言程序的開發(fā)過程 3
1.2C語言的發(fā)展和特點 4
1.2.1C語言的發(fā)展歷史 4
1.2.0C語言的特點 5
1.2.3C和C++ 6
1.3C程序的結構與書寫風格 7
1.4本書組織結構和主要內容 8
本章小結 10
習題1 10
第2章數據的基本類型與基本運算11
【任務2.1】計算圓的面積和周長 11
2.1基本數據類型 11
2.1.1整型 12
2.1.2實型 13
2.1.3字符型 13
2.2常量 14
2.2.1字面常量 14
2.2.2符號常量 15
2.3變量 16
2.3.1變量的概念與命名 16
2.3.2變量的定義和初始化 16
2.3.3變量的賦值 19
2.4數據的基本運算 19
2.4.1C語言運算符簡介 19
2.4.2算術運算符與算術表達式 20
2.4.3關系運算符與關系表達式 20
2.4.4邏輯運算符與邏輯表達式 21
2.4.5自增、自減運算符 23
2.4.6運算符的優(yōu)先級與結合性 25
2.5數據類型轉換 26
2.5.1自動類型轉換 26
2.5.2強制類型轉換 28
2.6完成【任務2.1】的程序 28
2.7簡單程序設計實例 29
本章小結 30
習題2 30
第3章數據的輸入/輸出 33
【任務3.1】計算圓的面積和周長(改進版) 33
3.1C語言的輸入/輸出 33
3.2字符的非格式化輸入/輸出函數 33
3.3格式化輸出函數printf 34
3.3.1printf 函數概述 34
3.3.2printf函數的格式說明 35
3.3.3printf函數的使用 37
3.4格式化輸入函數scanf 39
3.4.1scanf 函數概述 39
3.4.2scanf函數的格式說明 40
3.4.3scanf函數的使用 41
3.5完成【任務3.1】的程序 43
3.6程序設計實例 43
本章小結 45
習題3 45
第4章程序的基本結構與基本語句 48
4.1程序與基本語句 48
4.1.1程序 48
4.1.2C基本語句 51
4.2順序結構 52
【任務4.1】利用海倫公式求三角形面積 53
4.2.1賦值語句 53
4.2.2逗號運算符與逗號表達式 55
4.2.3完成【任務4.1】的程序 55
4.2.4順序結構程序設計舉例 56
4.3分支結構 57
【任務4.2】利用海倫公式求三角形面積(改進) 57
4.3.1單分支if語句 57
4.3.2雙分支if語句 58
4.3.3完成【任務4.2】的程序 59
【任務4.3】百分制成績轉換成五級記分制成績 61
4.3.4多分支if語句和if語句的嵌套 61
4.3.5條件運算符與條件表達式 63
4.3.6 switch 語句 64
4.3.7完成【任務4.3】的程序 65
4.3.8分支結構程序設計舉例 67
4.4循環(huán)結構 71
【任務4.4】求100以內所有自然數的累加和 71
4.4.1for 語句 71
4.4.2while 語句 72
4.4.3dowhile 語句 73
4.4.4幾種循環(huán)的比較 74
4.4.5 break 和 continue 語句 74
4.4.6完成【任務4.4】的程序 76
【任務4.5】打印圖形 77
4.4.7循環(huán)的嵌套 78
4.4.8完成【任務4.5】的程序 80
4.4.9循環(huán)結構程序設計舉例 81
本章小結 86
習題4 86
第5章函數和模塊化程序設計 90
5.1模塊化程序設計方法 90
5.2用戶自定義函數 91
【任務5.1】用函數實現(xiàn)累加求和 91
5.2.1函數的定義與聲明 91
5.2.2函數調用 93
5.2.3完成【任務5.1】的程序 95
5.3系統(tǒng)庫函數 96
【任務5.2】用函數實現(xiàn)素數判定 96
5.3.1頭文件與文件包含 97
5.3.2數學函數 98
5.3.3隨機函數 99
5.3.4完成【任務5.2】的程序 100
5.4變量的作用域 100
5.4.1局部變量 100
5.4.2全局變量 102
5.4.3重名問題 102
5.5變量的生存期 103
5.5.1動態(tài)變量 104
5.5.2靜態(tài)變量 104
5.6函數的嵌套調用 105
【任務5.3】方程近似解 105
5.6.1函數的嵌套調用 106
5.6.2完成【任務5.3】的程序 106
5.7遞歸函數 108
【任務5.4】求階乘 108
5.7.1函數的遞歸定義與調用 108
5.7.2完成【任務5.4】的程序 108
5.8函數應用程序設計實例 109
本章小結 115
習題5 116
第6章數組 119
6.1一維數組 119
【任務6.1】計算平均成績 119
6.1.1一維數組的定義與初始化 119
6.1.2一維數組的操作 120
6.1.3完成【任務6.1】的程序 121
6.1.4一維數組應用舉例 122
6.2二維數組 125
【任務6.2】計算多科平均成績 125
6.2.1二維數組的定義與初始化 125
6.2.2二維數組的操作 126
6.2.3完成【任務6.2】的程序 127
6.2.4二維數組應用舉例 128
6.3字符串與字符數組 130
【任務6.3】統(tǒng)計字符個數 130
6.3.1字符數組的定義與初始化 130
6.3.2字符串的輸入/輸出 132
6.3.3字符串處理函數 135
6.3.4完成【任務6.3】的程序 138
6.3.5字符數組應用舉例 139
6.4數組名作為函數參數 140
【任務6.4】統(tǒng)計學生成績 140
6.4.1 一維數組名作為函數參數 140
6.4.2二維數組名作為函數參數 142
6.4.3完成【任務6.4】的程序 143
6.5數組應用程序設計實例 145
本章小結 146
習題6 147
第7章指針 150
7.1指向變量的指針 150
【任務7.1】通過自定義函數實現(xiàn)整數排序 150
7.1.1指針的概念 150
7.1.2指針變量的定義與初始化 151
7.1.3通過指針訪問變量 154
7.1.4指針變量作為函數參數 154
7.1.5指針的強制轉換 157
7.1.6 void 指針類型 157
7.1.7完成【任務7.1】的程序 158
7.2指向數組的指針 159
【任務7.2】通過自定義函數實現(xiàn)數組逆序 159
7.2.1指針變量與一維數組 159
7.2.2指針變量與二維數組 161
7.2.3數組指針作為函數參數 165
7.2.4完成【任務7.2】的程序 166
7.3指針數組和指向指針的指針 167
【任務7.3】多個字符串排序 167
7.3.1指針數組的定義與使用 168
7.3.2指針數組與字符串數組 169
7.3.3指向指針的指針 171
7.3.4 main函數的形參 172
7.3.5完成【任務7.3】的程序 174
7.4指向函數的指針 175
【任務7.4】主函數中實現(xiàn)對排序函數正序逆序操作的控制 175
7.4.1函數指針的定義與使用 176
7.4.2函數指針作為函數參數 176
7.4.3完成【任務7.4】的程序 178
7.5返回指針的函數 180
【任務7.5】自定義函數中字符串的傳入和傳出 180
7.5.1返回指針的函數定義與調用 180
7.5.2完成【任務7.5】的程序 182
7.6指針應用程序設計實例 183
本章小結 185
習題7 185
第8章自定義數據類型與鏈表 187
8.1結構體類型與結構體變量 187
【任務8.1】學生信息表中數據的輸入和輸出 187
8.1.1結構體類型與結構體變量的定義與使用 187
8.1.2嵌套的結構體類型與結構體變量 191
8.1.3完成【任務8.1】的程序 193
8.2結構體數組 194
【任務8.2】學生信息表中數據操作(改進1) 194
8.2.1結構體數組的定義與初始化 194
8.2.2完成【任務8.2】的程序 196
8.3指向結構體的指針與內存管理 200
【任務8.3】學生信息表中數據操作(改進2) 200
8.3.1指向結構體變量的指針 200
8.3.2指向結構體變量的指針與無名變量 201
8.3.3指向結構體變量的指針與動態(tài)數組 203
8.3.4結構體指針作為函數參數206
8.3.5完成【任務8.3】的程序 207
8.4單向鏈表 208
【任務8.4】學生信息表中數據操作(改進3) 208
8.4.1鏈表的概念 209
8.4.2單向鏈表中的基本操作 211
8.4.3完成【任務8.4】的程序 216
8.5共用體類型 220
8.6給數據類型定義別名 223
8.7枚舉類型 224
8.8結構體與鏈表應用程序設計 225
實例 225
本章小結 226
習題8 227
第9章文件 231
【任務9.1】學生記錄文件保存 231
9.1文件的概念 231
9.1.1C文件的分類 231
9.1.2文件操作的基本步驟 232
9.1.3文件類型的指針 232
9.2文件的常用操作 233
9.2.1文件的打開與關閉 233
9.2.2文件的讀寫 236
9.2.3文件的定位 245
9.2.4文件的檢測 248
9.3其他文件操作函數 249
9.4完成【任務9.1】的程序 250
9.5文件應用程序設計實例 251
本章小結 254
習題9 255
第10章編譯預處理與多文件組織 258
10.1宏定義 258
10.1.1無參宏定義 258
10.1.2帶參宏定義 260
10.2條件編譯 263
【任務10.1】方程近似解(多文件版) 263
10.2.1條件編譯的形式 263
10.2.2保護頭文件 265
10.3完成【任務10.1】的程序 267
本章小結 269
習題10 269
第11章位操作 271
【任務11.1】數據的循環(huán)移位 271
11.1位運算符和位運算 271
11.1.1按位與運算符 271
11.1.2按位或運算符 272
11.1.3按位異或運算符 272
11.1.4取反運算符 274
11.1.5左移運算符 274
11.1.6右移運算符 274
11.2完成【任務11.1】的程序 275
11.3位運算程序設計舉例 276
本章小結 277
習題11 277
第12章綜合應用實例 278
12.1系統(tǒng)設計與分析 278
12.1.1SMIS 體系結構 278
12.1.2SMIS的數據結構 279
12.2功能模塊的詳細設計與實現(xiàn) 279
12.2.1查詢模塊 279
12.2.2修改模塊 280
12.2.3刪除模塊 281
12.2.4插入模塊 281
12.2.5統(tǒng)計模塊 283
12.2.6報表模塊 284
12.2.7加載模塊 285
12.2.8保存模塊 286
12.2.9菜單設計方法 286
12.3其他問題 288
12.3.1文件編碼問題 288
12.3.2工程文件的組織和管理 288
上機實踐篇
實驗一Visual C++6.0集成開發(fā)環(huán)境的使用 292
【實驗1.1】 Visual C++6.0集成開發(fā)環(huán)境的安裝 292
【實驗1.2】 Visual C++ 6.0中程序的編輯、編譯、連接和運行 293
【實驗1.3】 Visual C++ 6.0中程序的調試 299
實驗二數據的基本類型與基本運算 303
【實驗2.1】計算長方形的周長和麗只 303
【實驗2.2】計算本息和 303
實驗三數據的輸入與輸出 304
【實驗3.1】簡單數據的計算與輸入/輸出 304
【實驗3.2】程序改錯與調試 304
實驗四程序的基本語句與基本結構 305
【實驗4.1】順序結構程序設計 305
【實驗4.2】分支結構程序設計 305
【實驗4.3】循環(huán)結構程序設計 305
實驗五函數 307
【實驗5.1】基本函數設計與調用 307
【實驗5.2】遞歸函數設計與調用 307
實驗六數組 308
【實驗6.1】一維數組的使用 308
【實驗6.2】二維數組的使用 308
【實驗6.3】字符數組的使用 309
【實驗6.4】數組與函數 309
實驗七指針 310
【實驗7.1】指針與一維數組 310
【實驗7.2】指針作函數參數 310
實驗八自定義數據類型與鏈表 311
【實驗8.1】結構體變量和數組的定義和使用 311
【實驗8.2】鏈表的基本操作 311
實驗九文件 312
【實驗9.1】文件格式化輸入/輸出 312
【實驗9.2】文件數據塊輸入/輸出312
實驗十綜合實訓 313
【綜合實訓1】服務明星評選 313
【綜合實訓2】圖書管理信息系統(tǒng)315
參考文獻 317
附錄A字符的ASCI丨碼表 318
附錄B C語言運算符的優(yōu)先級和結合性 319
附錄C模擬試卷 320
其月末試卷(A卷) 321
期末試卷(B卷) 328
其月末試卷(C卷) 336
其月末試卷(D卷) 341
精彩頁