共找到75條詞條名為c語言程序設計的結果 展開

c語言程序設計

K. N. King所著書籍

C語言仍然是計算機領域的通用語言之一,本書的目的就是通過一種“現代方法”來介紹 C語言,書中強調標準 C,強調軟體工程,不再強調“手工優化”。

出版信息


C語言程序設計
作者:K. N. King
出版社:人民郵電出版社
副標題:現代方法
譯者:呂秀鋒/黃倩
出版年:2010-4
頁數:600
定價:79.00元
裝幀:平裝
叢書:圖靈程序設計叢書
ISBN:9787115219572

內容簡介


C語言仍然是計算機領域的通用語言之一,但最初的 C語言已經和最初的時候大不相同了。本書最主要的一個目的就是通過一種“現代方法”來介紹 C語言,書中強調標準 C,強調軟體工程,不再強調“手工優化”。這一版中緊密結合了 C99標準,並與 C89標準進行對照,補充了 C99中的最新特性。本書分為 C語言的基礎特性、 C語言的高級特性、 C語言標準庫和參考資料 4個部分。每章末尾都有一個“問與答”小節給出一系列與該章內容相關的問題及答案,此外還包含適量的習題。
本書是為大學本科階段的 C語言課程編寫的教材,同時也非常適合作為其他課程的輔助用書。

作者簡介


K. N. King ,計算機程序設計教育家,現為喬治亞州立大學數學與計算機科學系副教授。他擁有耶魯大學計算機科學碩士學位,加州大學伯克利分校計算機科學博士學位,曾任教於喬治亞理工學院。。
呂秀鋒,亞洲理工大學(AIT)計算機軟體碩士,現為北京理工大學軟體學院教師。多年來一直從事“計算機基礎(雙語)”、“C語言程序設計(雙語)”以及“程序設計開發與實踐”等本科生課程的教學工作,深受學生歡迎。她還譯有《數據結構與演演算法:C#語言描述》一書。
黃倩,中國科學院計算技術研究所工學博士,中國計算機學會會員。研究方向包括視頻處理、視頻監控等,已在知名的國際期刊和國際會議論文集上發表10篇論文。譯有《編程珠璣(第2版)》一書。

目錄


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