C語言繼續(xù)發(fā)展,在1982年,很多有識(shí)之士和美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)為了使這個(gè)語言健康地發(fā)展下去,決定成立C標(biāo)準(zhǔn)委員會(huì),建立C語言的標(biāo)準(zhǔn)。
c語言參考手冊(cè)第五版的語言簡(jiǎn)潔易懂,示例非常豐富且具有很強(qiáng)的實(shí)際指導(dǎo)意義,是一本很好的C程序設(shè)計(jì)的教材。
本書的前面版本被印度的很多學(xué)院和大學(xué)用作教材。在過去的幾年中,本書還被一些重要的軟件培訓(xùn)與開發(fā)公司用作培訓(xùn)教材。
由于本書的獨(dú)特性、與眾不同的學(xué)習(xí)方法以及簡(jiǎn)明的寫作風(fēng)格,本書第3版和第4版在國(guó)內(nèi)出版已受到國(guó)內(nèi)學(xué)生和老師的歡迎。
c語言參考手冊(cè)第五版目錄摘要
第1章 C語言概述 1
1.1 C語言的歷史 1
1.2 C語言的主要特性 2
1.3 示例程序1:顯示一條消息 3
1.4 示例程序2:兩個(gè)數(shù)相加 6
1.5 示例程序3:利息計(jì)算 7
1.6 示例程序4:子例程的使用 9
1.7 示例程序5:數(shù)學(xué)函數(shù)的使用 10
1.8 C程序的基本結(jié)構(gòu) 12
1.9 編程風(fēng)格 13
1.10 運(yùn)行一個(gè)程序 13
1.11 UNIX系統(tǒng)環(huán)境下 14
1.11.1 創(chuàng)建程序 14
1.11.2 編譯與鏈接 15
1.11.3 運(yùn)行程序 15
1.11.4 創(chuàng)建自己的可運(yùn)行文件 16
1.11.5 多個(gè)源文件問題 16
1.12 MS-DOS系統(tǒng)環(huán)境下 17
第2章 常量、變量及數(shù)據(jù)類型 22
2.1 概述 22
2.2 字符集 22
三元字符 23
2.3 C標(biāo)記符 23
2.4 關(guān)鍵字與標(biāo)識(shí)符 24
2.5 常量 24
2.5.1 整型常量 24
2.5.2 實(shí)數(shù)常量 25
2.5.3 單字符常量 27
2.5.4 字符串常量 27
2.5.5 反斜杠字符常量 27
2.6 變量 28
2.7 數(shù)據(jù)類型 29
2.7.1 整數(shù)型 30
2.7.2 浮點(diǎn)數(shù)類型 30
2.7.3 void類型 31
2.7.4 字符類型 31
2.8 變量的聲明 31
2.8.1 基本類型的聲明 31
2.8.2 自定義類型的聲明 33
2.9 存儲(chǔ)類的聲明 34
2.10 變量的賦值 35
2.10.1 賦值語句 36
2.10.2 從鍵盤讀取數(shù)據(jù) 38
2.11 符號(hào)常量的定義 40
2.11.1 可修改性 40
2.11.2 可理解性 41
2.12 將變量聲明為常量 42
2.13 將變量聲明為可變的 42
2.14 數(shù)據(jù)的溢出 42
2.15 案例學(xué)習(xí) 43
2.15.1 平均數(shù)計(jì)算 43
2.15.2 溫度轉(zhuǎn)換問題 44
第3章 運(yùn)算符與表達(dá)式 49
3.1 概述 49
3.2 算術(shù)運(yùn)算符 49
3.2.1 整數(shù)算術(shù)運(yùn)算 50
3.2.2 實(shí)數(shù)算術(shù)運(yùn)算 50
3.2.3 混合算術(shù)運(yùn)算 51
3.3 關(guān)系運(yùn)算符 51
3.4 邏輯運(yùn)算符 53
3.5 賦值運(yùn)算符 54
3.6 遞增和遞減運(yùn)算符 55
3.7 條件運(yùn)算符 56
3.8 逐位運(yùn)算符 57
3.9 特殊運(yùn)算符 57
3.9.1 逗號(hào)運(yùn)算符 57
3.9.2 sizeof運(yùn)算符 58
3.10 算術(shù)表達(dá)式 59
3.11 表達(dá)式的計(jì)算 60
3.12 算術(shù)表達(dá)式的優(yōu)先級(jí) 61
3.13 一些可計(jì)算性問題 62
3.14 表達(dá)式中的類型轉(zhuǎn)換 63
3.14.1 隱式類型轉(zhuǎn)換 63
3.14.2 顯式類型轉(zhuǎn)換 65
3.15 運(yùn)算符的優(yōu)先級(jí)及其關(guān)聯(lián) 67
3.16 數(shù)學(xué)函數(shù) 68
3.17 案例學(xué)習(xí) 69
3.17.1 銷售人員的工資 69
3.17.2 二次方程的求解 70
第4章 輸入輸出操作管理 78
4.1 概述 78
4.2 讀取一個(gè)字符 78
4.3 寫字符 81
4.4 格式化輸入 82
4.4.1 整數(shù)輸入 83
4.4.2 實(shí)數(shù)輸入 85
4.4.3 字符串輸入 86
4.4.4 混合數(shù)據(jù)類型的讀取 88
4.4.5 錯(cuò)誤輸入的檢測(cè) 88
4.4.6 使用scanf函數(shù)時(shí)應(yīng)記住的
幾個(gè)要點(diǎn) 90
4.5 格式化輸出 91
4.5.1 整數(shù)的輸出 91
4.5.2 實(shí)數(shù)的輸出 92
4.5.3 單個(gè)字符的顯示 94
4.5.4 字符串的顯示 95
4.5.5 混合數(shù)據(jù)的輸出 96
4.5.6 提高輸出的可讀性 97
4.6 案例學(xué)習(xí) 98
4.6.1 庫存報(bào)告 98
4.6.2 可靠性圖形 100
第5章 判斷與分支 106
5.1 概述 106
5.2 if判斷語句 106
5.3 簡(jiǎn)單if語句 107
5.4 if...else語句 110
5.5 嵌套if...else語句 113
5.6 階梯式else if語句 116
5.7 switch語句 119
5.8 : 運(yùn)算符 122
5.9 goto語句 125
5.10 案例學(xué)習(xí) 128
5.10.1 數(shù)值的分布范圍 128
5.10.2 賬單計(jì)算 129
第6章 判斷與循環(huán) 140
6.1 概述 140
6.2 while語句 142
6.3 do語句 144
6.4 for語句 146
6.4.1 簡(jiǎn)單的for循環(huán)語句 146
6.4.2 for循環(huán)的其他特性 149
6.4.3 for循環(huán)的嵌套 150
6.5 循環(huán)中的跳轉(zhuǎn) 153
6.5.1 跳出循環(huán) 153
6.5.2 跳過循環(huán)的一部分 157
6.5.3 避免使用goto語句 159
6.5.4 跳出程序 159
6.6 簡(jiǎn)潔的測(cè)試表達(dá)式 160
6.7 案例學(xué)習(xí) 161
6.7.1 二項(xiàng)式系數(shù)表 161
6.7.2 柱狀圖 162
6.7.3 最小成本 164
6.7.4 描繪兩函數(shù)的曲線圖 165
第7章 數(shù)組 175
7.1 概述 175
7.2 一維數(shù)組 176
7.3 一維數(shù)組的聲明 177
7.4 一維數(shù)組的初始化 179
7.4.1 編譯時(shí)初始化 180
7.4.2 運(yùn)行時(shí)初始化 181
7.5 二維數(shù)組 183
7.6 二維數(shù)組的初始化 187
7.7 多維數(shù)組 191
7.8 動(dòng)態(tài)數(shù)組 192
7.9 與數(shù)組相關(guān)的其他內(nèi)容 192
7.10 案例學(xué)習(xí) 193
7.10.1 數(shù)列的中值問題 193
7.10.2 標(biāo)準(zhǔn)偏差的計(jì)算 196
7.10.3 測(cè)試評(píng)分 197
7.10.4 產(chǎn)品與銷售分析 200
第8章 字符數(shù)組與字符串 212
8.1 概述 212
8.2 字符串變量的聲明與初始化 212
8.3 使用scanf函數(shù)從終端讀取
字符串 214
8.3.1 讀取一行文本 216
8.3.2 使用getchar和gets函數(shù) 216
8.4 在屏幕上顯示字符串 218
8.4.1 使用printf函數(shù) 218
8.4.2 使用putchar和puts函數(shù) 222
8.5 字符的算術(shù)運(yùn)算 222
8.6 將字符串組合在一起 224
8.7 兩個(gè)字符串的比較 225
8.8 字符串處理函數(shù) 226
8.8.1 strcat( )函數(shù) 226
8.8.2 strcmp( )函數(shù) 227
8.8.3 strcpy( )函數(shù) 228
8.8.4 strlen( )函數(shù) 228
8.8.5 其他字符串函數(shù) 229
8.9 字符串表 231
8.10 字符串的其他特性 233
8.11 案例學(xué)習(xí) 234
8.11.1 計(jì)算文本中的字?jǐn)?shù) 234
8.11.2 客戶列表處理程序 236
第9章 用戶自定義函數(shù) 243
9.1 概述 243
9.2 為什么需要自定義函數(shù) 243
9.3 多函數(shù)程序 244
9.4 自定義函數(shù)的元素 246
9.5 函數(shù)的定義 246
9.5.1 函數(shù)頭 247
9.5.2 函數(shù)名與類型 247
9.5.3 形參列表 247
9.5.4 函數(shù)體 248
9.6 返回值及其類型 249
9.7 函數(shù)調(diào)用 250
9.8 函數(shù)聲明 252
9.9 函數(shù)的類型 254
9.10 無參數(shù)無返回值的函數(shù) 254
9.11 有參數(shù)無返回值的函數(shù) 256
9.12 有參數(shù)有返回值的函數(shù) 259
返回浮點(diǎn)值 261
9.13 無參數(shù)但有一個(gè)返回值的函數(shù) 262
9.14 返回多個(gè)值的函數(shù) 263
9.15 函數(shù)的嵌套 264
9.16 函數(shù)的迭代 265
9.17 將數(shù)組傳遞給函數(shù) 266
9.17.1 一維數(shù)組 266
9.17.2 二維數(shù)組 270
9.18 將字符串傳遞給函數(shù) 270
9.19 變量的作用域、可見性和生存期 271
9.19.1 自動(dòng)變量 272
9.19.2 外部變量 273
9.19.3 外部聲明 276
9.19.4 靜態(tài)變量 277
9.19.5 寄存器變量 278
9.19.6 嵌套代碼塊 279
9.20 多文件程序 280
9.21 案例學(xué)習(xí) 283
曲線下的面積計(jì)算 283
第10章 結(jié)構(gòu)體與共用體 292
10.1 概述 292
10.2 結(jié)構(gòu)體的定義 292
10.3 聲明結(jié)構(gòu)體變量 293
10.4 訪問結(jié)構(gòu)體成員 295
10.5 結(jié)構(gòu)體的初始化 296
10.6 結(jié)構(gòu)體變量的復(fù)制與比較 298
10.7 單個(gè)成員的運(yùn)算 299
10.8 結(jié)構(gòu)數(shù)組 300
10.9 結(jié)構(gòu)體中的數(shù)組 302
10.10 結(jié)構(gòu)體中的結(jié)構(gòu)體 303
10.11 結(jié)構(gòu)體與函數(shù) 305
10.12 共用體 308
10.13 結(jié)構(gòu)體的大小 309
10.14 位域 309
10.15 案例學(xué)習(xí) 312
書店庫存 312
第11章 指針 322
11.1 概述 322
11.2 理解指針 322
11.3 訪問變量的地址 324
11.4 指針變量的聲明 325
11.5 指針變量的初始化 326
11.6 通過指針訪問變量 328
11.7 指針鏈 330
11.8 指針表達(dá)式 330
11.9 指針的遞增與比例因子 332
11.10 指針與數(shù)組 333
11.11 指針與字符串 336
11.12 指針數(shù)組 338
11.13 指針作為函數(shù)的參數(shù) 339
11.14 函數(shù)返回指針 342
11.15 指向函數(shù)的指針 342
11.16 指針與結(jié)構(gòu)體 345
11.17 案例學(xué)習(xí) 348
11.17.1 考試成績(jī)處理程序 348
11.17.2 庫存更新程序 351
第12章 文件管理 357
12.1 概述 357
12.2 定義并打開文件 358
12.3 關(guān)閉文件 359
12.4 文件的輸入輸出操作 360
12.4.1 getc與putc函數(shù) 360
12.4.2 getw和putw函數(shù) 361
12.4.3 fprintf與fscanf函數(shù) 363
12.5 I/O操作的錯(cuò)誤處理 365
12.6 隨機(jī)訪問文件 367
12.7 命令行參數(shù) 372
第13章 動(dòng)態(tài)內(nèi)存分配與鏈表 377
13.1 概述 377
13.2 動(dòng)態(tài)內(nèi)存分配 377
內(nèi)存分配過程 377
13.3 用malloc函數(shù)分配一塊內(nèi)存 378
13.4 用calloc函數(shù)分配多個(gè)內(nèi)存塊 380
13.5 用free函數(shù)釋放已用的空間 380
13.6 用realloc函數(shù)改變內(nèi)存塊的
大小 381
13.7 鏈表的概念 382
13.8 鏈表的優(yōu)點(diǎn) 385
13.9 鏈表的種類 386
13.10 再論指針 386
13.11 創(chuàng)建鏈表 388
13.12 插入一個(gè)數(shù)據(jù)項(xiàng) 391
13.13 刪除一個(gè)數(shù)據(jù)項(xiàng) 394
13.14 鏈表的應(yīng)用 396
13.15 案例學(xué)習(xí) 397
13.15.1 在已排序鏈表中插入
數(shù)據(jù) 397
13.15.2 構(gòu)建一個(gè)已排序的
鏈表 401
第14章 預(yù)處理器 407
14.1 概述 407
14.2 宏替換指令 407
14.2.1 簡(jiǎn)單宏替換 408
14.2.2 含參數(shù)的宏 410
14.2.3 宏嵌套 411
14.2.4 取消宏定義 411
14.3 文件包含 412
14.4 編譯器控制指令 412
14.4.1 情形1 413
14.4.2 情形2 414
14.4.3 情形3 414
14.4.4 情形4 414
14.5 ANSI C的其他預(yù)處理器指令 415
14.5.1 #elif指令 416
14.5.2 #pragma指令 416
14.5.3 #error指令 416
14.5.4 字符串化運(yùn)算符# 417
14.5.5 標(biāo)記符粘貼運(yùn)算符## 417
第15章 C程序開發(fā)指導(dǎo)原則 420
15.1 概述 420
15.2 程序設(shè)計(jì) 420
15.2.1 問題分析 420
15.2.2 勾勒程序結(jié)構(gòu) 420
15.2.3 算法開發(fā) 421
15.2.4 控制結(jié)構(gòu) 421
15.3 程序編碼 422
15.3.1 自身文檔化 422
15.3.2 語句構(gòu)造 423
15.3.3 輸入/輸出格式 423
15.3.4 程序的通用性 423
15.4 常見的程序錯(cuò)誤 424
15.4.1 丟失分號(hào) 424
15.4.2 誤用分號(hào) 424
15.4.3 丟失括號(hào) 425
15.4.4 丟失引號(hào) 426
15.4.5 誤用引號(hào) 426
15.4.6 使用不正確的注釋字符 426
15.4.7 未定義變量 427
15.4.8 忽視了運(yùn)算符的優(yōu)先級(jí) 427
15.4.9 忽視了遞增遞減運(yùn)算符的
計(jì)算順序 428
15.4.10 忽視了函數(shù)參數(shù)的說明 428
15.4.11 在函數(shù)調(diào)用中實(shí)參和
形參類型不匹配 428
15.4.12 函數(shù)未聲明 428
15.4.13 在scanf的參數(shù)中丟失了
&運(yùn)算符 429
15.4.14 超出了數(shù)組的邊界 429
15.4.15 忘記了給字符串的空字符
留出空間 430
15.4.16 使用未初始化的指針 430
15.4.17 丟失了間接運(yùn)算符和
地址運(yùn)算符 430
15.4.18 在指針表達(dá)式中
丟失括號(hào) 431
15.4.19 在宏定義語句中參數(shù)
遺漏了括號(hào) 431
15.5 程序測(cè)試與調(diào)試 431
15.5.1 錯(cuò)誤的類型 432
15.5.2 程序測(cè)試 432
15.5.3 程序調(diào)試 433
15.6 程序的效率 434
15.6.1 運(yùn)行時(shí)間 434
15.6.2 內(nèi)存需求 434
附錄Ⅰ 位級(jí)程序設(shè)計(jì) 436
Ⅰ.1 概述 436
Ⅰ.2 逐位邏輯運(yùn)算符 436
Ⅰ.2.1 逐位與操作 436
Ⅰ.2.2 逐位或操作 438
Ⅰ.2.3 逐位非或操作 438
Ⅰ.3 逐位移位運(yùn)算符 438
Ⅰ.4 逐位求反運(yùn)算符 439
Ⅰ.5 掩碼計(jì)算 440
附錄Ⅱ 字符的ASCII值 441
附錄Ⅲ 標(biāo)準(zhǔn)C的庫函數(shù) 442
附錄Ⅳ 項(xiàng)目設(shè)計(jì) 445
Ⅳ.1 庫存管理系統(tǒng) 445
Ⅳ.2 登錄記錄系統(tǒng) 467
Ⅳ.3 鏈表 487
Ⅳ.4 矩陣相乘 495
附錄Ⅴ C99的特性 498
Ⅴ.1 概述 498
Ⅴ.2 新關(guān)鍵字 498
Ⅴ.3 新注釋 498
Ⅴ.4 新數(shù)據(jù)類型 499
Ⅴ.4.1 _Bool類型 499
Ⅴ.4.2 _Complex和_Imaginary
類型 499
Ⅴ.4.3 long long類型 499
Ⅴ.5 變量聲明 500
Ⅴ.6 I/O格式化的變化 500
Ⅴ.7 數(shù)組處理 500
Ⅴ.7.1 可變長(zhǎng)度數(shù)組 501
Ⅴ.7.2 數(shù)組聲明中的類型說明 501
Ⅴ.7.3 結(jié)構(gòu)的靈活數(shù)組成員 501
Ⅴ.8 函數(shù)實(shí)現(xiàn) 501
Ⅴ.8.1 默認(rèn)為inline類型的
規(guī)則 502
Ⅴ.8.2 顯式函數(shù)定義 502
Ⅴ.8.3 return語句的限制 502
Ⅴ.8.4 聲明函數(shù)為inline 503
Ⅴ.9 受限指針 503
Ⅴ.10 編譯器限制的變化 504
Ⅴ.11 其他改進(jìn) 504
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版