圖書信息
C語言程式設計(第2版)
作者:李忠月、勵龍昌、虞銘財
定價:49元
印次:2-1
ISBN:9787302483557
出版日期:2017.10.01
印刷日期:2017.08.23
內容簡介
本書採用“實例導入問題提出解釋與套用”的敘述模式,以生動有趣的案例引入,從情境中提出問題,建立數學模型,獲得解決方法,最後實現套用。全書共分12章,包括概述、分支結構、循環結構、函式、數組、指針、結構等內容。
圖書目錄
第1章概述/1
1.1電腦程式設計語言1
1.1.1機器語言1
1.1.2彙編語言1
1.1.3高級語言2
1.2用程式設計語言編寫程式的步驟2
1.2.1編碼2
1.2.2編譯2
1.2.3調試3
1.2.4維護3
1.3結構化程式設計方法4
1.4算法4
1.4.1算法的特性5
1.4.2算法的描述5
1.5關於C程式設計語言8
1.5.1C語言出現的歷史背景8
1.5.2C語言的特點9
1.6簡單的C語言程式10
1.6.1輸出hello,world10
1.6.2計算a+b11
1.6.3計算分段函式的值12
1.6.4按先大後小的順序輸出兩個整數13
1.6.5華氏溫度與攝氏溫度的轉換14
練習16
第2章類型、運算符與表達式/19
2.1變數19
2.1.1變數的命名規則19
2.1.2變數的聲明20
2.2數據類型及長度21〖1〗C語言程式設計(第2版)目錄[3]〖3〗2.2.1short與long限定符21
2.2.2signed與unsigned限定符21
2.2.3每種數據類型的printf和scanf格式轉換符22
2.3常量25
2.3.1整數常量與浮點數常量25
2.3.2字元常量25
2.3.3字元串常量26
2.3.4符號常量27
2.3.5枚舉常量27
2.4常量表達式28
2.5算術運算符28
2.6關係運算符與邏輯運算符28
2.7自增運算符與自減運算符31
2.8逗號運算符31
2.9賦值運算符與賦值表達式32
2.10條件運算符與條件表達式33
2.11一元運算符sizeof34
2.12類型轉換34
2.13運算符的優先權及求值次序36
練習37
第3章分支結構/44
3.1實例導入44
3.2語句與程式塊45
3.3ifelse語句45
3.4elseif語句48
3.5switch語句50
3.6套用實例:學生成績管理56
練習58
第4章循環結構/62
4.1實例導入62
4.2while循環65
4.3for循環70
4.4dowhile循環74
4.5三種循環語句的比較76
4.6循環結構的嵌套77
4.7break語句與continue語句83
4.8goto語句與標號88
4.9專題1:正整數的拆分89
4.10專題2:疊代法92
4.11套用實例:學生成績管理95
練習96
第5章輸入與輸出/109
5.1getchar()函式109
5.2putchar()函式110
5.3printf()函式113
5.4scanf()函式114
5.5套用實例:求和116
練習122
第6章函式/126
6.1實例導入126
6.2函式的基本知識129
6.2.1函式的定義129
6.2.2函式的調用130
6.2.3函式的聲明135
6.2.4函式設計的基本原則138
6.3函式的嵌套調用139
6.4函式的遞歸調用139
6.5變數的存儲類型145
6.6變數的類別145
6.6.1外部變數與內部變數145
6.6.2靜態變數147
6.6.3暫存器變數148
6.7變數的作用域與生存期148
6.7.1變數的作用域148
6.7.2變數的生存期149
6.7.3記憶體空間及分配方式149
6.8程式塊結構156
6.9變數的初始化156
6.10預處理157
6.10.1檔案包含157
6.10.2宏替換157
6.10.3條件編譯159
6.11專題3:最大公約數的求解161
6.11.1bruteforce算法161
6.11.2歐幾里德算法162
6.11.3更相減損法164
練習165
第7章數組/177
7.1實例導入177
7.2一維數組180
7.2.1一維數組的定義180
7.2.2一維數組元素的引用181
7.2.3一維數組的初始化181
7.2.4一維數組的套用舉例182
7.3二維數組184
7.3.1二維數組的定義184
7.3.2二維數組元素的引用184
7.3.3二維數組的初始化185
7.3.4二維數組的套用舉例186
7.4字元數組192
7.4.1字元數組的定義和引用192
7.4.2字元數組的初始化192
7.4.3字元數組的輸入/輸出193
7.4.4字元數組的套用舉例195
7.5數組與函式參數197
7.5.1數組元素作函式實參197
7.5.2數組作函式實參198
7.6查找和排序201
7.6.1查找201
7.6.2排序203
7.7專題4:進制轉換206
7.7.1十進制整數轉換成其他進制整數206
7.7.2其他進制整數轉換成十進制整數208
7.8專題5:素數209
7.8.1素數判定的基本方法209
7.8.2一定範圍內所有素數的求解217
7.9套用實例:學生成績管理220
練習222
第8章指針/240
8.1實例導入240
8.2指針的基本知識246
8.2.1指針變數的聲明246
8.2.2指針變數的初始化246
8.2.3指針變數的基本運算246
8.3指針與數組249
8.3.1指針與一維數組249
8.3.2指針與多維數組258
8.4指針與函式259
8.4.1指針作為函式的參數259
8.4.2指針作為函式的返回值263
8.4.3指向函式的指針266
8.5字元指針與函式267
8.6指針數組269
8.6.1指針數組的聲明269
8.6.2指針數組的初始化269
8.6.3指針數組與二維數組的區別269
8.7命令行參數270
8.8指向指針的指針271
8.9動態分配272
8.9.1動態分配記憶體272
8.9.2釋放記憶體272
8.9.3void類型273
8.9.4動態數組273
8.9.5查找malloc中的錯誤275
練習275
第9章結構/297
9.1實例導入297
9.2結構的基本知識302
9.2.1結構類型的定義303
9.2.2結構變數的定義303
9.2.3結構成員的訪問304
9.2.4對結構變數的操作304
9.2.5結構變數的初始化306
9.2.6結構的嵌套307
9.3結構數組308
9.4結構指針311
9.5typedef313
9.6結構與函式314
9.7單鍊表315
9.7.1單鍊表的創建316
9.7.2單鍊表的輸出316
9.7.3單鍊表的插入316
9.7.4單鍊表的刪除319
9.7.5鍊表的綜合操作319
9.8聯合321
9.9枚舉324
9.9.1枚舉類型的定義324
9.9.2枚舉變數的定義324
9.9.3對枚舉變數的操作325
9.10套用實例:學生成績管理327
9.10.1用結構數組實現328
9.10.2用單鍊表實現329
練習332
第10章位運算/342
10.1原碼、反碼和補碼342
10.2位運算符343
10.2.1與運算符343
10.2.2或運算符343
10.2.3異或運算符343
10.2.4取反運算符344
10.2.5左移運算符和右移運算符344
10.3位賦值運算符347
10.4位域348
練習349
第11章檔案/352
11.1實例導入353
11.2C語言中檔案的使用354
11.2.1聲明FILE類型的變數355
11.2.2打開檔案355
11.2.3執行I/O操作356
11.2.4關閉檔案356
11.3字元I/O357
11.3.1讀字元函式fgetc()357
11.3.2寫字元函式fputc()357
11.4行I/O360
11.4.1讀字元串函式fgets()360
11.4.2寫字元串函式fputs()360
11.5格式化I/O361
11.5.1格式化輸出函式fprintf()和sprintf()361
11.5.2格式化輸入函式fscanf()和sscanf()361
11.6數據塊讀寫363
11.6.1數據塊讀函式fread()363
11.6.2數據塊寫函式fwrite()363
11.7檔案的定位363
11.7.1fseek()函式363
11.7.2ftell()函式365
11.7.3rewind()函式365
11.8錯誤檢測函式366
11.8.1clearerr()函式366
11.8.2feof()函式366
11.8.3ferror()函式366
11.9套用實例:學生成績管理366
練習371
第12章大串講/376
12.1順序輸出整數的各位數字376
12.2計算階乘之和378
12.3Fibonacci數列380
12.4計算函式的值383
12.5在有序數組中插入一個元素384
附錄A常用字元與ASCII碼對照表/388
附錄B常用的C語言庫函式/390
B.1數學函式390
B.2字元處理函式391
B.3字元串處理函式392
B.4實用函式393
附錄C與具體實現相關的限制/394
參考文獻/395