新概念C程式設計大學教程(C99版)

《新概念C程式設計大學教程(C99版)》是一本以計算思維訓練為核心,以能力培養為目標的C語言程式設計教材,基於“程式設計=算法思維+語言藝術+工程規範”的指導思想和“前期以培養解題思路為主,語法知識夠用就行;後期以補充必要的語法細節”的原則編寫。全書分為程途啟步、組織數據、構建算法和語海探幽4篇。第1篇用一個例子,分3個層次,快速而輕鬆地將讀者引入程式設計之途,同時引入算法分析與測試設計相結合的程式設計方法,為進一步學習奠定基礎。第2篇通過數組、結構體和指針3種構造數據類型的套用,開闊讀者程式設計的眼界。第3篇從幾個經典問題入手,通過窮舉、疊代、遞歸、計算機模擬的介紹,將讀者的思維納入科學軌道。

基本介紹

  • 書名:新概念C程式設計大學教程(C99版)
  • 作者:張基溫
  • ISBN:9787302394433
  • 出版時間:2015.10.01
書籍信息,圖書目錄,

書籍信息

作者:張基溫
定價:39元
印次:1-1
ISBN:9787302394433
出版日期:2015.10.01
印刷日期:2015.09.22

圖書目錄

第1篇程 途 啟 步
第1單元簡單程式設計2
1.1C語言程式主框架2
1.1.1用偽代碼描述的簡單計算器程式算法2
1.1.2將偽代碼描述的算法逐步細化為C程式2
1.2數據類型與數據形式3
1.2.1數據類型3
1.2.2程式中的數據形式及其引用方式4
1.3標識符與聲明6
1.3.1標識符6
1.3.2聲明6
1.3.3變數的聲明與初始化7
1.4操作符8
1.4.1賦值操作符與賦值表達式8
1.4.2算術操作符與算術表達式8
1.4.3操作符的優先權與結合性9
1.5函式9
1.5.1函式及其套用過程10
1.5.2函式調用與函式返回11
1.5.3函式定義11
1.5.4局部變數12
1.5.5函式聲明14
1.5.6main()函式15
1.5.7函式館、頭檔案與檔案包含命令15
1.6格式化輸入/輸出函式16
1.6.1printf()函式的基本用法16
1.6.2scanf()的基本用法17
1.7C程式的編譯與執行19
1.7.1C語言程式的編譯與連線19
1.7.2程式中的錯誤和異常20
1.7.3程式測試22
1.7.4設計用戶友好的程式23
習題123
第2單元選擇程式設計27
2.1可選擇計算類型的計算器程式算法分析27
2.1.1主函式的算法分析27
2.1.2計算函式calculate()的算法分析28
2.1.3判等操作符與關係操作符28
2.2ifelse型選擇結構29
2.2.1用ifelse結構實現的calculate()函式29
2.2.2ifelse結構的套用特點30
2.2.3良好的程式書寫風格32
2.3選擇結構的程式測試34
2.3.1白箱測試法34
2.3.2等價分類法35
2.4字元類型38
2.4.1ASCII碼38
2.4.2char類型的基本特點39
2.4.3轉義字元39
2.4.4字元的輸入/輸出40
2.5浮點類型41
2.5.1浮點類型取值範圍與表數精度41
2.5.2浮點類型變數和字面量42
2.5.3浮點類型數據的操作42
2.6switch型選擇結構43
2.6.1基於整數值匹配的選擇結構——switch結構43
2.6.2一個字元分類程式44
2.6.3用switch結構實現的calculate()函式47
2.6.4switch結構與ifelse結構的比較48
習題249
第3單元重複程式設計56
3.1可連續計算的計算器程式的算法分析56
3.1.1主函式初步算法56
3.1.2主函式算法細化56
3.1.3重複結構的C語言實現途徑57
3.2while結構57
3.2.1while結構的基本機理57
3.2.2使用while結構的可連續計算的計算器主函式57
3.2.3逗號操作符59
3.3dowhile結構59
3.3.1dowhile結構的基本機理59
3.3.2使用dowhile結構的可連續計算的計算器程
序主函式60
3.4for結構60
3.4.1for結構的基本機理60
3.4.2使用for結構的可連續計算的計算器程式主函式61
3.4.3計數型重複結構62
3.4.4複合賦值操作符與增值、減值操作符66
3.5重複結構的程式測試67
3.5.1基於路徑覆蓋的重複結構測試67
3.5.2邊值分析法與重複結構測試67
3.5.3基於因果分析的程式測試68
3.6在重複體內控制重複過程71
3.6.1跳出當前層控制結構語句break72
3.6.2提前結束當前重複體語句continue72
3.6.3實例: 求素數72
習題374
第2篇組 織 數 據
第4單元同類型數據的聚合類型: 數組86
4.1一維數組86
4.1.1數組的特點86
4.1.2數組的定義87
4.1.3數組初始化87
4.1.4訪問下標變數89
4.2二維數組90
4.2.1二維數組的概念90
4.2.2二維數組的初始化91
4.2.3訪問二維數組元素92
4.3字元串93
4.3.1字元串字面量93
4.3.2字元串變數94
4.3.3字元串的輸入/輸出95
4.3.4字元串操作庫函式98
習題4102
第5單元描述一類對象屬性的聚合類型: 結構體和共用體107
5.1結構體類型與結構體變數107
5.1.1結構體類型及其定製107
5.1.2結構體變數的聲明與初始化108
5.1.3結構體變數及其分量的套用109
5.2用結構體數組存儲一組學生信息111
5.2.1結構體數組的定義與初始化111
5.2.2結構體數組元素的訪問112
5.3共用體類型114
5.3.1共用體類型的定製與共用體變數的定義114
5.3.2共用體類型與結構體類型的比較115
5.3.3共用體變數的套用117
習題5118
第6單元指針124
6.1指針類型與指針變數124
6.1.1指針=基類型+地址124
6.1.2同類型指針間的賦值與判等操作126
6.1.3指針的遞引用127
6.1.4懸空指針、空指針與void指針128
習題6.1129
6.2數組的指針形式131
6.2.1數組名與指向數組元素的指針131
6.2.2指向數組元素指針的加減運算133
6.2.2指針與字元串135
6.2.3二維數組與指針137
習題6.2139
6.3指向結構體變數的指針與鍊表142
6.3.1指向結構體類型變數的指針142
6.3.2鍊表及其特點142
6.3.3構建鍊表144
習題6.3146
6.4動態存儲分配146
6.4.1申請需要的存儲空間147
6.4.2釋放一個指針指向的存儲空間149
6.4.3修改一個指針指向的存儲空間大小149
6.4.4構建動態鍊表150
習題6.4154
第3篇構 建 算 法
第7單元基礎算法156
7.1窮舉156
7.1.1搬磚問題156
7.1.2推斷名次159
習題7.1163
7.2疊代與遞推168
7.2.1用二分疊代法求方程在指定區間的根168
7.2.2猴子吃桃子171
7.2.3用輾轉相除法求兩個正整數的最大公因子173
習題7.2176
7.3遞歸180
7.3.1階乘的遞歸計算180
7.3.2漢諾塔182
習題7.3185
第8單元計算機模擬187
8.1隨機問題模擬187
8.1.1產品隨機抽樣187
8.1.2用蒙特卡洛法求π的近似值190
習題8.1192
8.2基於步長的模擬192
8.2.1事件步長法——中子擴散問題192
8.2.2時間步長法——鹽水池問題194
習題8.2198
第9單元數據處理201
9.1排序201
9.1.1直接選擇排序201
9.1.2冒泡排序203
習題9.1206
9.2查找206
9.2.1窮舉查找206
9.2.2二分查找207
習題9.2208
第4篇語 海 探 幽
第10單元算術數據類型及其轉換210
10.1C數據類型概覽210
10.2整數類型211
10.2.1有符號整數類型與無符號整數類型211
10.2.2標準整數類型與擴展整數類型211
10.2.3整數類型的極值宏212
10.2.4char類型213
10.2.5枚舉214
10.2.6_Bool類型216
10.3浮點類型216
10.3.1浮點類型的值特性216
10.3.2浮點數據的捨入模式217
10.3.3浮點數據的求值特性217
10.3.4IEEE 754標準218
10.3.5關於浮點數的判等操作218
10.3.6_Complex類型和_Imaginary類型218
10.4數據類型轉換219
10.4.1普通算術轉換——提升拉齊規則219
10.4.2傳送轉換——與目的類型一致原則221
10.4.3數據的顯式類型轉換規則222
10.4.4數據類型轉換注意事項222
習題10226
第11單元C語言中的常量229
11.1字面量229
11.1.1整數字面量的表示和辨識229
11.1.2浮點類型字面量的表示和辨識230
11.1.3複合字面量231
11.2宏232
11.2.1宏定義232
11.2.2使用宏應當注意的幾點233
11.2.3帶參宏定義234
11.3const類型限定符237
11.3.1用const限定變數237
11.3.2用const限定數組238
11.3.3用const限定函式參數239
11.3.4用const限定指針239
11.3.5在多檔案程式中共享一個const定義240
習題11241
第12單元C程式中變數的訪問屬性247
12.1變數訪問屬性的概念247
12.1.1變數的存儲類型與生存期247
12.1.2標識符的作用域248
12.1.3標識符的連結屬性249
12.2C語言程式實體的存儲類型249
12.2.1C程式中的局部變數250
12.2.2外部變數的定義與聲明251
12.2.3初始化255
習題12256
第13單元操作符、表達式與語句261
13.1操作符與表達式261
13.1.1算術操作符261
13.1.2邏輯表達式262
13.1.3位操作符262
13.1.4條件表達式265
13.1.5增值表達式和減值表達式265
13.1.6下標表達式與指針的加減操作266
13.1.7賦值操作267
13.1.8左值表達式268
13.2操作符的副作用與序列點270
13.2.1操作符的副作用與透明引用270
13.2.2基於序列點的副作用不疊加表達式規則272
13.2.3函式的副作用274
13.3語句274
13.3.1表達式語句、空語句和複合語句274
13.3.2控制語句275
13.3.3跳轉語句276
13.3.4關於分號(;)的說明276
習題13276
第14單元函式280
14.1函式參數280
14.1.1現代C語言函式參數不能空280
14.1.2C語言函式調用中的值結合280
14.1.3指針類型參數282
14.2函式定義與函式聲明289
14.2.1函式定義289
14.2.2函式聲明290
14.3內聯函式291
14.3.1內聯函式的概念291
14.3.2C99的內聯函式定義291
14.3.3gcc的內聯函式定義292
14.3.4內聯函式的限制292
習題14292
第15單元輸入/輸出297
15.1格式化輸出函式printf()297
15.1.1printf()格式參數結構297
15.1.2printf()基本格式符297
15.1.3長度修飾符298
15.1.4域寬與精度說明299
15.1.5前綴修飾符299
15.2格式化輸入函式scanf()301
15.2.1scanf()指針參數301
15.2.2scanf()格式參數結構302
15.2.3數值數據的輸入控制304
15.2.4scanf()與輸入緩衝區305
15.2.5字元型數據的輸入控制306
15.2.6scanf()的停止與返回309
15.3C語言的檔案操作310
15.3.1檔案及其分類310
15.3.2FILE類型及其指針312
15.3.3C語言檔案操作的一般過程313
15.3.4檔案操作程式示例316
習題15318
附錄324
附錄AC語言關鍵字324
附錄BC語言運算符的優先權和結合方向324
附錄C編譯預處理命令325
C.1宏定義325
C.2檔案包含326
C.3條件編譯326
附錄DC標準庫頭檔案326
附錄EC語言常用標準庫函式327
E.1數學函式327
E.2字元函式和字元串函式328
E.3輸入/輸出函式329
E.4動態記憶體分配函式331
E.5退出程式函式331
E.6數值轉換函式331
E.7時間和日期函式332
參考文獻333

相關詞條

熱門詞條

聯絡我們