C語言程序設計教程(第2版)
游洪躍、羅佳、丁曉峰、劉群、楊菊英、彭勇
相關主題
商品描述
目錄大綱
目錄
第1章C語言程序設計基礎1
1.1C語言的發展和主要特點1
1.1.1C語言的發展1
1.1.2C語言的主要特點1
1.2第一個C語言程序以及C語言程序開發過程2
1.2.1第一個C語言程序2
1.2.2C語言程序開發過程5
1.3數制及十進制數與R進制數之間的轉換5
1.3.1數制5
1.3.2十進制數與R進制數之間的轉換6
1.4程序陷阱7
習題17
第2章數據類型及其運算10
2.1標識符與關鍵字10
2.2C語言的數據類型11
2.3常量與變量15
2.3.1整型量15
2.3.2實型量18
2.3.3字符型量19
2.3.4符號常量21
2.3.5類型轉換22
2.4基本運算符和表達式24
2.4.1運算符的種類、優先級和結合性概述24
2.4.2優先級和結合性25
2.5程序陷阱30
習題231
第3章C語言程序結構及相關語句35
3.1相關知識35
3.1.1算法描述方法35
3.1.2結構化程序35
3.1.3模塊化結構36
3.2順序語句36
3.2.1C程序的語句36
3.2.2數據輸出語句38
3.2.3數據輸入語句42
3.3分支結構程序48
3.3.1關系運算符和表達式48
3.3.2邏輯運算符和表達式49
3.3.3if語句51
3.3.4條件運算符和條件表達式58
3.3.5switch語句59
3.3.6程序舉例62
3.4循環結構程序64
3.4.1while語句64
3.4.2do…while語句66
3.4.3for語句67
3.4.4轉移語句69
3.4.5程序舉例73
3.5實例研究:利用電腦破案74
3.6程序陷阱76
習題377
第4章函數86
4.1函數的定義與調用86
4.1.1函數定義的一般形式86
4.1.2函數調用的一般形式88
4.1.3函數的聲明和函數原型89
4.2函數的參數和函數的值92
4.2.1函數的參數92
4.2.2函數的值93
4.3函數的嵌套調用94
4.4遞歸函數95
4.5變量的作用域97
4.5.1局部變量98
4.5.2全局變量100
4.6變量的存儲類型和生存期103
4.6.1自動變量103
4.6.2外部變量106
4.6.3靜態變量107
4.6.4寄存器變量108
4.7內部函數和外部函數109
4.7.1內部函數109
4.7.2外部函數110
4.8實例研究: 漢諾塔問題111
4.9程序陷阱112
習題4114
第5章數組和指針121
5.1一維數組的定義和引用121
5.1.1定義一維數組121
5.1.2引用一維數組的元素122
5.2二維數組125
5.2.1定義二維數組125
5.2.2引用二維數組的元素125
5.2.3二維數組的初始化127
5.3用數組作為函數的參數129
5.3.1用數組元素作為函數的參數129
5.3.2用一維數組名作為函數的參數130
5.3.3用多維數組作為函數的參數133
5.4字符數組與字符串134
5.4.1字符數組134
5.4.2字符串135
5.4.3字符串常用函數137
5.5數組程序舉例141
5.6指針變量的定義143
5.7指針運算符143
5.8指向void的指針145
5.9函數參數的引用傳遞145
5.10指針變量和數組148
5.10.1指針變量與一維數組148
5.10.2指針變量與二維數組152
5.11字符指針、字符數組和字符串158
5.11.1字符指針與字符數組的區別158
5.11.2字符指針數組和字符串數組159
5.12實例研究: 冒泡程序161
5.13程序陷阱162
習題5163
第6章用戶定製數據類型及位運算170
6.1結構170
6.1.1概述170
6.1.2結構的定義170
6.1.3結構變量成員的引用173
6.1.4結構變量的初始化175
6.1.5結構數組176
6.1.6指向結構變量的指針181
6.2聯合184
6.2.1聯合的概念184
6.2.2聯合類型的定義185
6.2.3聯合變量的定義185
6.2.4聯合變量的賦值和使用186
6.3枚舉類型188
6.4類型定義: typedef193
6.5位運算符195
6.5.1位運算符介紹195
6.5.2位運算綜合舉例200
6.6位段結構203
6.6.1位段結構的定義和位段結構變量的定義203
6.6.2位段成員的使用205
6.7程序陷阱206
習題6206
第7章預處理命令210
7.1概述210
7.2文件包含210
7.3宏定義211
7.3.1無參宏定義211
7.3.2帶參宏定義213
7.3.3取消宏#undef220
7.4條件編譯220
7.5宏assert(斷言)224
7.6程序陷阱224
習題7225
第8章文件228
8.1文件概念228
8.2文件指針229
8.3文件的打開與關閉229
8.3.1文件打開函數fopen()229
8.3.2文件關閉函數fclose()231
8.4文件檢測函數231
8.5對文本文件的操作232
8.5.1採用格式化讀寫函數fscanf()和fprintf()讀寫數據232
8.5.2採用字符讀寫函數fgetc()和fputc()讀寫字符234
8.5.3採用字符串讀寫函數fgets()和fputs()讀寫字符串237
8.6對二進制文件的操作239
8.6.1採用數據塊讀寫函數fread()和write()讀寫二進制文件239
8.6.2隨機讀寫二進制文件241
8.7實例研究: 人事管理系統244
8.7.1需求分析244
8.7.2功能描述244
8.7.3總體設計245
8.7.4系統實現246
8.8程序陷阱254
習題8255
第9章高級主題259
9.1變長參數表259
9.2命令行參數261
9.3動態內存分配與釋放263
9.3.1動態內存分配函數malloc()263
9.3.2動態內存釋放函數free()264
9.3.3動態內存處理實例: 線性鏈表264
9.4指針的深入討論268
9.4.1指向函數的指針變量268
9.4.2返回指針的函數269
9.5程序陷阱270
習題9271
參考文獻274
附錄A常用C編譯器使用方法275
附錄B常用字符ASCII碼對照表276
附錄CC運算符與優先級277
附錄DC常用庫函數278