作品介紹

C語(yǔ)言程序設(shè)計(jì)


作者:K.N.King     整理日期:2017-03-01 14:13:59


  時(shí)至今日, C語(yǔ)言仍然是計(jì)算機(jī)領(lǐng)域的通用語(yǔ)言之一,但今天的 C語(yǔ)言已經(jīng)和最初的時(shí)候大不相同了。本書最主要的一個(gè)目的就是通過一種“現(xiàn)代方法”來(lái)介紹 C語(yǔ)言,書中強(qiáng)調(diào)標(biāo)準(zhǔn) C,強(qiáng)調(diào)軟件工程,不再?gòu)?qiáng)調(diào)“手工優(yōu)化”。這一版中緊密結(jié)合了 C99標(biāo)準(zhǔn),并與 C89標(biāo)準(zhǔn)進(jìn)行對(duì)照,補(bǔ)充了 C99中的最新特性。本書分為 C語(yǔ)言的基礎(chǔ)特性、 C語(yǔ)言的高級(jí)特性、 C語(yǔ)言標(biāo)準(zhǔn)庫(kù)和參考資料 4個(gè)部分。每章末尾都有一個(gè)“問與答”小節(jié)給出一系列與該章內(nèi)容相關(guān)的問題及答案,此外還包含適量的習(xí)題。
  本書是為大學(xué)本科階段的 C語(yǔ)言課程編寫的教材,同時(shí)也非常適合作為其他課程的輔助用書。

作者簡(jiǎn)介:
  K. N. King 世界知名的計(jì)算機(jī)程序設(shè)計(jì)教育家,現(xiàn)為佐治亞州立大學(xué)數(shù)學(xué)與計(jì)算機(jī)科學(xué)系副教授。他擁有耶魯大學(xué)計(jì)算機(jī)科學(xué)碩士學(xué)位,加州大學(xué)伯克利分校計(jì)算機(jī)科學(xué)博士學(xué)位,曾任教于佐治亞理工學(xué)院。除本書外,他還撰寫了廣受歡迎的著作Modula-2: A Complete Guide 和Java Programming: From the Beginning,并在Dr.Dobb's Journal等權(quán)威雜志上發(fā)表了許多文章。
  呂秀鋒,亞洲理工大學(xué)(AIT)計(jì)算機(jī)軟件碩士,現(xiàn)為北京理工大學(xué)軟件學(xué)院教師。多年來(lái)一直從事“計(jì)算機(jī)基礎(chǔ)(雙語(yǔ))”、“C語(yǔ)言程序設(shè)計(jì)(雙語(yǔ))”以及“程序設(shè)計(jì)開發(fā)與實(shí)踐”等本科生課程的教學(xué)工作,深受學(xué)生歡迎。她還譯有《數(shù)據(jù)結(jié)構(gòu)與算法:C#語(yǔ)言描述》一書。
  黃倩,中國(guó)科學(xué)院計(jì)算技術(shù)研究所工學(xué)博士,中國(guó)計(jì)算機(jī)學(xué)會(huì)會(huì)員。研究方向包括視頻處理、視頻監(jiān)控等,已在知名的國(guó)際期刊和國(guó)際會(huì)議論文集上發(fā)表10篇論文。譯有《編程珠璣(第2版)》一書,受到讀者歡迎。

目錄:
  第1章 C語(yǔ)言概述1
  1.1 C語(yǔ)言的歷史1
  1.1.1 起源1
  1.1.2 標(biāo)準(zhǔn)化1
  1.1.3 基于C的語(yǔ)言2
  1.2 C語(yǔ)言的優(yōu)缺點(diǎn)3
  1.2.1 C語(yǔ)言的優(yōu)點(diǎn)3
  1.2.2 C語(yǔ)言的缺點(diǎn)3
  1.2.3 高效地使用C語(yǔ)言4
  問與答5
  第2章 C語(yǔ)言基本概念7
  2.1 編寫一個(gè)簡(jiǎn)單的C程序7
  程序顯示雙關(guān)語(yǔ)7
  2.1.1 編譯和鏈接8
  2.1.2 集成開發(fā)環(huán)境8
  2.2 簡(jiǎn)單程序的一般形式9
  2.2.1 指令9
  2.2.2 函數(shù)9
  2.2.3 語(yǔ)句10
  2.2.4 顯示字符串10
  2.3 注釋11
  2.4 變量和賦值12
  2.4.1 類型12
  2.4.2 聲明13
  2.4.3 賦值13
  2.4.4 顯示變量的值14
  程序計(jì)算箱子的空間重量14
  2.4.5 初始化15
  2.4.6 顯示表達(dá)式的值16
  2.5 讀入輸入16
  程序計(jì)算箱子的空間重量(改進(jìn)版)16
  2.6 定義常量的名字17
  程序華氏溫度轉(zhuǎn)換為攝氏溫度17
  2.7 標(biāo)識(shí)符18
  2.8 C程序的書寫規(guī)范19
  問與答21
  練習(xí)題23
  編程題24
  第3章 格式化輸入/輸出26
  3.1 printf函數(shù)26
  3.1.1 轉(zhuǎn)換說(shuō)明27
  程序用printf函數(shù)格式化數(shù)28
  3.1.2 轉(zhuǎn)義序列28
  3.2 scanf函數(shù)29
  3.2.1 scanf函數(shù)的工作方法30
  3.2.2 格式串中的普通字符31
  3.2.3 易混淆的printf函數(shù)和scanf函數(shù)32
  程序分?jǐn)?shù)相加32
  問與答33
  練習(xí)題34
  編程題35
  第4章 表達(dá)式36
  4.1 算術(shù)運(yùn)算符36
  程序計(jì)算通用產(chǎn)品代碼的校驗(yàn)位38
  4.2 賦值運(yùn)算符39
  4.2.1 簡(jiǎn)單賦值40
  4.2.2 左值41
  4.2.3 復(fù)合賦值41
  4.3 自增運(yùn)算符和自減運(yùn)算符42
  4.4 表達(dá)式求值43
  4.5 表達(dá)式語(yǔ)句45
  問與答45
  練習(xí)題47
  編程題49
  第5章 選擇語(yǔ)句50
  5.1 邏輯表達(dá)式50
  5.1.1 關(guān)系運(yùn)算符50
  5.1.2 判等運(yùn)算符51
  5.1.3 邏輯運(yùn)算符51
  5.2 if語(yǔ)句52
  5.2.1 復(fù)合語(yǔ)句53
  5.2.2 else子句53
  5.2.3 級(jí)聯(lián)式if語(yǔ)句54
  程序計(jì)算股票經(jīng)紀(jì)人的傭金55
  5.2.4 “懸空else”的問題56
  5.2.5 條件表達(dá)式57
  5.2.6 C89中的布爾值58
  5.2.7 C99中的布爾值58
  5.3 switch語(yǔ)句59
  程序顯示法定格式的日期61
  問與答62
  練習(xí)題65
  編程題67
  第6章 循環(huán)69
  6.1 while語(yǔ)句69
  程序顯示平方表71
  程序數(shù)列求和71
  6.2 do語(yǔ)句72
  程序計(jì)算整數(shù)的位數(shù)73
  6.3 for語(yǔ)句73
  6.3.1 for語(yǔ)句的慣用法74
  6.3.2 在for語(yǔ)句中省略表達(dá)式75
  6.3.3 C99中的for語(yǔ)句75
  6.3.4 逗號(hào)運(yùn)算符76
  程序顯示平方表(改進(jìn)版)77
  6.4 退出循環(huán)78
  6.4.1 break語(yǔ)句78
  6.4.2 continue語(yǔ)句78
  6.4.3 goto語(yǔ)句79
  程序賬簿結(jié)算80
  6.5 空語(yǔ)句81
  問與答83
  練習(xí)題84
  編程題85
  第7章 基本類型88
  7.1 整數(shù)類型88
  7.1.1 C99中的整數(shù)類型90
  7.1.2 整數(shù)常量90
  7.1.3 C99中的整數(shù)常量91
  7.1.4 整數(shù)溢出91
  7.1.5 讀/寫整數(shù)91
  程序數(shù)列求和(改進(jìn)版)92
  7.2 浮點(diǎn)類型93
  7.2.1 浮點(diǎn)常量94
  7.2.2 讀/寫浮點(diǎn)數(shù)94
  7.3 字符類型94
  7.3.1 字符操作95
  7.3.2 有符號(hào)字符和無(wú)符號(hào)字符95
  7.3.3 算術(shù)類型96
  7.3.4 轉(zhuǎn)義序列96
  7.3.5 字符處理函數(shù)97
  7.3.6 用scanf和printf讀/寫字符98
  7.3.7 用getchar和putchar讀/寫字符98
  程序確定消息的長(zhǎng)度99
  7.4 類型轉(zhuǎn)換100
  7.4.1 常用算術(shù)轉(zhuǎn)換101
  7.4.2 賦值過程中的轉(zhuǎn)換102
  7.4.3 C99中的隱式轉(zhuǎn)換103
  7.4.4 強(qiáng)制類型轉(zhuǎn)換103
  7.5 類型定義105
  7.5.1 類型定義的優(yōu)點(diǎn)105
  7.5.2 類型定義和可移植性105
  7.6 sizeof運(yùn)算符106
  問與答107
  練習(xí)題109
  編程題110
  第8章 數(shù)組113
  8.1 一維數(shù)組113
  8.1.1 數(shù)組下標(biāo)113
  程序數(shù)列反向115
  8.1.2 數(shù)組初始化115
  8.1.3 指定初始化式116
  程序檢查數(shù)中重復(fù)出現(xiàn)的數(shù)字116
  8.1.4 對(duì)數(shù)組使用sizeof運(yùn)算符117
  程序計(jì)算利息118
  8.2 多維數(shù)組119
  8.2.1 多維數(shù)組初始化120
  8.2.2 常量數(shù)組121
  程序發(fā)牌121
  8.3 C99中的變長(zhǎng)數(shù)組122
  問與答123
  練習(xí)題124
  編程題125
  第9章 函數(shù)129
  9.1 函數(shù)的定義和調(diào)用129
  程序計(jì)算平均值129
  程序顯示倒計(jì)數(shù)130
  程序顯示雙關(guān)語(yǔ)(改進(jìn)版)131
  9.1.1 函數(shù)定義132
  9.1.2 函數(shù)調(diào)用133
  程序判定素?cái)?shù)134
  9.2 函數(shù)聲明135
  9.3 實(shí)際參數(shù)136
  9.3.1 實(shí)際參數(shù)的轉(zhuǎn)換137
  9.3.2 數(shù)組型實(shí)際參數(shù)138
  9.3.3 變長(zhǎng)數(shù)組形式參數(shù)140
  9.3.4 在數(shù)組參數(shù)聲明中使用static141
  9.3.5 復(fù)合字面量141
  9.4 return語(yǔ)句142
  9.5 程序終止143
  9.6 遞歸144
  程序快速排序146
  問與答147
  練習(xí)題150
  編程題153
  第10章 程序結(jié)構(gòu)155
  10.1 局部變量155
  10.1.1 靜態(tài)局部變量156
  10.1.2 形式參數(shù)156
  10.2 外部變量156
  10.2.1 示例:用外部變量實(shí)現(xiàn)棧156
  10.2.2 外部變量的利與弊157
  程序猜數(shù)158
  10.3 程序塊161
  10.4 作用域162
  10.5 構(gòu)建C程序163
  程序給一手牌分類163
  問與答169
  練習(xí)題169
  編程題170
  第11章 指針172
  11.1 指針變量172
  11.2 取地址運(yùn)算符和間接尋址運(yùn)算符173
  11.2.1 取地址運(yùn)算符173
  11.2.2 間接尋址運(yùn)算符174
  11.3 指針賦值174
  11.4 指針作為參數(shù)176
  程序找出數(shù)組中的最大元素和最小元素177
  11.5 指針作為返回值179
  問與答180
  練習(xí)題181
  編程題182
  第12章 指針和數(shù)組184
  12.1 指針的算術(shù)運(yùn)算184
  12.1.1 指針加上整數(shù)185
  12.1.2 指針減去整數(shù)185
  12.1.3 兩個(gè)指針相減186
  12.1.4 指針比較186
  12.1.5 指向復(fù)合常量的指針186
  12.2 指針用于數(shù)組處理186
  12.3 用數(shù)組名作為指針188程序數(shù)列反向(改進(jìn)版)189
  12.3.1 數(shù)組型實(shí)際參數(shù)(改進(jìn)版)189
  12.3.2 用指針作為數(shù)組名191
  12.4 指針和多維數(shù)組191
  12.4.1 處理多維數(shù)組的元素191
  12.4.2 處理多維數(shù)組的行192
  12.4.3 處理多維數(shù)組的列192
  12.4.4 用多維數(shù)組名作為指針192
  12.5 C99中的指針和變長(zhǎng)數(shù)組193
  問與答194
  練習(xí)題195
  編程題197
  第13章 字符串198
  13.1 字符串字面量198
  13.1.1 字符串字面量中的轉(zhuǎn)義序列198
  13.1.2 延續(xù)字符串字面量199
  13.1.3 如何存儲(chǔ)字符串字面量199
  13.1.4 字符串字面量的操作200
  13.1.5 字符串字面量與字符常量200
  13.2 字符串變量200
  13.2.1 初始化字符串變量201
  13.2.2 字符數(shù)組與字符指針202
  13.3 字符串的讀和寫203
  13.3.1 用printf函數(shù)和puts函數(shù)寫字符串203
  13.3.2 用scanf函數(shù)和gets函數(shù)讀字符串203
  13.3.3 逐個(gè)字符讀字符串204
  13.4 訪問字符串中的字符205
  13.5 使用C語(yǔ)言的字符串庫(kù)206
  13.5.1 strcpy函數(shù)207
  13.5.2 strlen函數(shù)208
  13.5.3 strcat函數(shù)208
  13.5.4 strcmp函數(shù)209程序顯示一個(gè)月的提醒列表209
  13.6 字符串慣用法211
  13.6.1 搜索字符串的結(jié)尾211
  13.6.2 復(fù)制字符串213
  13.7 字符串?dāng)?shù)組214
  程序核對(duì)行星的名字217
  問與答218
  練習(xí)題220
  編程題222
  第14章 預(yù)處理器225
  14.1 預(yù)處理器的工作原理225
  14.2 預(yù)處理指令227
  14.3 宏定義227
  14.3.1 簡(jiǎn)單的宏227
  14.3.2 帶參數(shù)的宏229
  14.3.3 #運(yùn)算符231
  14.3.4 ##運(yùn)算符231
  14.3.5 宏的通用屬性232
  14.3.6 宏定義中的圓括號(hào)233
  14.3.7 創(chuàng)建較長(zhǎng)的宏233
  14.3.8 預(yù)定義宏234
  14.3.9 C99中新增的預(yù)定義宏235
  14.3.10 空的宏參數(shù)236
  14.3.11 參數(shù)個(gè)數(shù)可變的宏236
  14.3.12 __func__標(biāo)識(shí)符237
  14.4 條件編譯237
  14.4.1 #if指令和#endif指令238
  14.4.2 defined運(yùn)算符238
  14.4.3 #ifdef指令和#ifndef指令239
  14.4.4 #elif指令和#else指令239
  14.4.5 使用條件編譯240
  14.5 其他指令240
  14.5.1 #error指令240
  14.5.2 #line指令241
  14.5.3 #pragma指令242
  14.5.4 _Pragma運(yùn)算符242
  問與答243
  練習(xí)題245
  第15章 編寫大型程序248
  15.1 源文件248
  15.2 頭文件249
  15.2.1 #include指令249
  15.2.2 共享宏定義和類型定義250
  15.2.3 共享函數(shù)原型251
  15.2.4 共享變量聲明252
  15.2.5 嵌套包含253
  15.2.6 保護(hù)頭文件253
  15.2.7 頭文件中的#error指令254
  15.3 把程序劃分成多個(gè)文件254程序文本格式化255
  15.4 構(gòu)建多文件程序260
  15.4.1 makefile260
  15.4.2 鏈接期間的錯(cuò)誤262
  15.4.3 重新構(gòu)建程序262
  15.4.4 在程序外定義宏264
  問與答264
  練習(xí)題265
  編程題266
  第16章 結(jié)構(gòu)、聯(lián)合和枚舉267
  16.1 結(jié)構(gòu)變量267
  16.1.1 結(jié)構(gòu)變量的聲明267
  16.1.2 結(jié)構(gòu)變量的初始化269
  16.1.3 指定初始化269
  16.1.4 對(duì)結(jié)構(gòu)的操作270
  16.2 結(jié)構(gòu)類型270
  16.2.1 結(jié)構(gòu)標(biāo)記的聲明271
  16.2.2 結(jié)構(gòu)類型的定義272
  16.2.3 結(jié)構(gòu)作為參數(shù)和返回值272
  16.2.4 復(fù)合字面量273
  16.3 嵌套的數(shù)組和結(jié)構(gòu)274
  16.3.1 嵌套的結(jié)構(gòu)274
  16.3.2 結(jié)構(gòu)數(shù)組274
  16.3.3 結(jié)構(gòu)數(shù)組的初始化275程序維護(hù)零件數(shù)據(jù)庫(kù)275
  16.4 聯(lián)合281
  16.4.1 用聯(lián)合來(lái)節(jié)省空間282
  16.4.2 用聯(lián)合來(lái)構(gòu)造混合的數(shù)據(jù)結(jié)構(gòu)284
  16.4.3 為聯(lián)合添加“標(biāo)記字段”284
  16.5 枚舉285
  16.5.1 枚舉標(biāo)記和類型名286
  16.5.2 枚舉作為整數(shù)286
  16.5.3 用枚舉聲明“標(biāo)記字段”286
  問與答287
  練習(xí)題289
  編程題293
  第17章 指針的高級(jí)應(yīng)用294
  17.1 動(dòng)態(tài)存儲(chǔ)分配294
  17.1.1 內(nèi)存分配函數(shù)294
  17.1.2 空指針295
  17.2 動(dòng)態(tài)分配字符串296
  ……
  第18章 聲明 327
  第19章 程序設(shè)計(jì) 345
  第20章 底層程序設(shè)計(jì) 363
  第21章 標(biāo)準(zhǔn)庫(kù) 377
  第22章 輸入/輸出 384
  第23章 庫(kù)對(duì)數(shù)值和字符數(shù)據(jù)的支持 419
  第24章 錯(cuò)誤處理 446
  第25章 國(guó)際化特性 456
  第26章 其他庫(kù)函數(shù) 482
  第27章 C99對(duì)數(shù)學(xué)計(jì)算的新增支持 503
  附錄A C語(yǔ)言運(yùn)算符 524
  附錄B C99與C89的比較 525
  附錄C C89與經(jīng)典C的比較 529
  附錄D 標(biāo)準(zhǔn)庫(kù)函數(shù) 532
  附錄E ASCII字符集 569
  參考文獻(xiàn) 570
  索引 573





上一本:新概念英語(yǔ)第一冊(cè) 下一本:伊甸之東

作家文集

下載說(shuō)明
C語(yǔ)言程序設(shè)計(jì)的作者是K.N.King,全書語(yǔ)言優(yōu)美,行文流暢,內(nèi)容豐富生動(dòng)引人入勝。為表示對(duì)作者的支持,建議在閱讀電子書的同時(shí),購(gòu)買紙質(zhì)書。

更多好書