C語言標準教程

C語言標準教程

《C語言標準教程》是2011年出版的圖書,作者是王浩。本書本著零基礎學習C語言的精神,分4篇介紹了C語言和程式設計的相關知識。

基本介紹

  • 書名:C語言標準教程
  • 作者:王浩
  • 出版時間:2011年1月 
  • 開本:16
圖書簡介,內容簡介,前 言,目 錄,

圖書簡介

作者:王浩 等編著
叢書名:C語言標準教程
出版日期:2011年1月 書號:978-7-122-09837-5
開本:16
裝幀:平
版次:1版1次
頁數:364頁

內容簡介

C語言是基礎的通用程式設計語言,許多語言都是從C語言基礎上發展起來的,所以掌握C語言是軟體設計的基礎。
第1篇是前置知識,介紹程式設計概念及C語言的歷史和發展,讓讀者建立起程式設計的思想。第2篇是基礎知識,詳細介紹C語言的語法規則和如何利用C語言進行程式設計的方法。第3篇是能力提高,通過大量實例將函式、數組、指針、結構體、檔案操作等知識介紹給讀者。第4篇是高級實踐,通過對數據結構、算法的介紹和一個項目案例,詳細介紹了C語言中的開發技巧和項目開發過程,提高讀者的編程水平。
本書配合了大量的圖例及代碼說明,隨書光碟中包含配套的視頻講解,適合希望掌握有關C語言程式開發相關技術的讀者閱讀。

前 言

很多讀者朋友認為,C語言是一門過期的程式語言,因為其不支持類、面向對象等編程方法。其實不然,C語言仍然是目前世界上流行、使用最廣泛的面向過程的高級程式設計語言。對作業系統、應用程式以及需要對硬體進行操作的場合,用C語言明顯優於其他高級語言。正因為其具有強大的功能,許多著名的系統軟體,如DBASE Ⅲ PLUS、DBASE Ⅳ都是由C語言編寫的。用C語言加上一些彙編語言子程式,就更能顯示C語言的優勢了,像PC-DOS、WORDSTAR等就是用這種方法編寫的。
對於一些初學者而言,應記住學習C語言程式設計的過程是互動式的。不實際編寫程式就無法學會C。因此,本書給出了許多實際操作,以幫助讀者更好、更快地掌握C語言。
本書特點
本書全面講解了C語言各方面的知識,包括基本控制語句、變數、函式、指針、數組、結構體及算法等,由淺入深、從易到難,是一本學習C語言的不可多得的好書。
本書的主要特點如下。
1.零基礎開始學習
本書儘可能少地限定讀者需要知道的基礎編程知識,使讀者能夠做到從零基礎開始學習。
2.全面而深入的內容
本書在介紹各種基礎知識時,採用了淺顯易懂的例子,使用了大量代碼示例和圖解,方便讀者自己進行實踐和演練,讀者可對其直接使用,或者根據自己的實際情況進行調整。本書的所有例子、原始碼工程都附在隨書光碟中,方便讀者使用。
3.較高的實用價值
本書給出了大量的經典實例,這些實例都可以在C語言編譯器上調試成功;並且給出了代碼的詳細注釋與分析,讀者只需對某些代碼稍加修改,便可以套用於實際開發中。
4.清晰透徹的講解
本書主要讀者對象為初、中級程式開發人員,在知識點的講解過程中儘量做到通俗易懂,簡潔明了。在保證闡述嚴謹的同時,力求做到容易理解,不鑽牛角尖,不使用過於專業的、晦澀艱深的術語,不使用有歧義的表達方式,使讀者在閱讀時迅速掌握關鍵知識點。
5.注重技巧和實際
本書結合筆者多年的C語言程式項目開發經驗,在每個重要的知識點上都給出了一些編程技巧,從而幫助讀者快速積累編程經驗。
本書內容
本書共分為4篇17章,主要內容如下。
第1篇(第1章)前置知識
對程式和程式設計相關的知識做了概念性的描述,且介紹了程式生成的工具;同時對於C語言的發展、特點、構成及開發過程進行了詳細的描述;最後用一個示例來分析和說明C語言程式,完成整個前置知識的統一。
第2篇(第2章~第5章)基礎知識
對C語言中所有的基礎知識進行介紹,包括標識符、變數、常量、基本數據類型以及運算符、表達式等基本概念,同時通過實例介紹如何用C語言實現程式設計中的3種基本結構。
第3篇(第6章~第15章)能力提高篇
採用圖片、表格和實例講解等方法,系統地介紹C語言中函式、數組、字元串處理函式、指針、結構體、共用體、引用、程式的預處理、編程規範、記憶體管理、檔案操作及C語言中庫函式的使用,讓讀者熟悉並掌握好C語言程式設計的細支末節。
第4篇(第16章~第17章)高級實戰篇
詳細介紹數據結構及常用算法,並加入了一個學生管理系統的項目開發實例,通過文檔和代碼的介紹,讓讀者體會到真實的項目開發過程。
本書由淺入深,由理論到實踐,尤其適合初級讀者逐步學習和完善自己的知識結構。
本書讀者
沒有基礎,希望學習程式設計的新手。
想學習C語言編程知識的各大院校計算機專業和非計算機專業的學生。
具備一定的編程理論知識但是缺乏實踐操作的初級程式人員。
從其他語言轉向學習C語言程式設計的中級編程人員。
本書編者
本書由王浩主筆編寫。其他參與編寫的人員有劉成、馬臣雲、潘娜、阮履學、陶則熙、王大強、王磊、徐琦、許少峰、顏盟盟、楊娟、楊瑞萍、于海波、俞菲、曾苗苗、趙瑩、朱存等。由於編者水平有限,書中難免有不足和疏忽之處,懇請廣大讀者批評指正。

目 錄

第1篇 前置知識
第1章 C語言初步認識 2
1.1 了解程式及其設計 2
1.1.1 程式是什麼 2
1.1.2 程式設計與程式設計語言 3
1.2 結構化程式設計 3
1.3 C語言的初步知識 4
1.3.1 C語言的歷史 4
1.3.2 C語言程式的特點 5
1.3.3 C語言程式的構成 6
1.3.4 C語言程式的開發過程 7
1.4 程式生成的工具 7
1.4.1 編譯器的概念 8
1.4.2 連線器的概念 8
1.5 一個簡單的C語言程式 8
1.5.1 學習寫第一個C語言程式 9
1.5.2 分析C語言程式的組成部分 9
1.5.3 運行這個程式 10
1.5.4 牛刀小試 10
1.6 本章小結 11
第2篇 基礎知識
第2章 C語言基礎 14
2.1 了解電腦記憶體的運行方式 14
2.2 認識和使用標識符 15
2.2.1 標識符的命名規則 15
2.2.2 標識符的分類 16
2.3 什麼是變數 17
2.3.1 了解變數 17
2.3.2 聲明變數 17
2.3.3 初始化變數 18
2.4 什麼是常量 19
2.4.1 認識常量 19
2.4.2 整型常量 19
2.4.3 浮點型常量 20
2.4.4 字元常量 21
2.4.5 字元串常量 21
2.4.6 符號常量 22
2.5 數據存儲的基本類型 23
2.5.1 存儲整型數據 23
2.5.2 存儲實型數據 26
2.5.3 存儲字元型數據 27
2.6 運算符和表達式 30
2.6.1 在C語句中使用算術運算符 30
2.6.2 賦值運算符 32
2.6.3 自增、自減運算符 34
2.6.4 逗號運算符 35
2.6.5 sizeof運算符 36
2.6.6 關係運算符 37
2.6.7 運算符的優先權和括弧 39
2.7 數據類型的轉換 41
2.7.1 隱式自動轉換 41
2.7.2 顯式強制轉換 45
2.8 本章小結 45
2.9 本章習題 46
第3章 使用順序結構設計C語言程式 47
3.1 語句與表達式 47
3.1.1 表達式語句與空語句 47
3.1.2 複合語句 48
3.2 控制螢幕列印 48
3.2.1 putchar()函式 48
3.2.2 printf()函式 49
3.2.3 標準錯誤流 51
3.3 讀取鍵盤輸入 51
3.3.1 getchar()函式 51
3.3.2 getch()函式和getche()函式 52
3.3.3 scanf()函式 53
3.4 綜合示例 56
3.5 本章小結 57
3.6 本章習題 57
第4章 使用選擇結構設計C語言程式 59
4.1 用邏輯運算符實現選擇結構 59
4.1.1 邏輯運算符的使用 59
4.1.2 邏輯運算符的優先權與結合性 60
4.1.3 使用邏輯運算符的程式示例 61
4.2 用if語句實現選擇結構 62
4.2.1 if語句的使用方法 62
4.2.2 使用if語句的程式示例 63
4.2.3 使用if…else結構實現多項選擇 63
4.2.4 使用if…else結構的程式示例 64
4.2.5 if語句的嵌套使用 66
4.2.6 使用if語句嵌套的程式示例 69
4.3 用條件運算符實現簡單的選擇結構 72
4.4 用多分支條件選擇語句switch實現選擇結構 73
4.4.1 switch語句的結構 74
4.4.2 break語句在switch語句中的使用 74
4.4.3 多個執行結果共用一個條件 77
4.4.4 使用switch語句的程式示例 78
4.5 本章小結 79
4.6 本章習題 79
第5章 使用循環結構設計C語言程式 81
5.1 while循環語句 81
5.1.1 while循環語句的結構和功能 81
5.1.2 while循環語句的程式示例 82
5.2 do-while循環語句 84
5.2.1 比較do-while循環語句與while循環語句的差異 84
5.2.2 do-while循環語句的程式示例 85
5.3 for循環語句 86
5.3.1 for循環語句的結構和功能 86
5.3.2 for循環語句的程式示例 87
5.3.3 for循環語句的幾種不同格式 88
5.3.4 在for循環語句中添加逗號運算符 90
5.4 高級流程控制語句 91
5.4.1 用goto語句在程式中任意跳轉 92
5.4.2 用break語句中斷循環 93
5.4.3 用continue語句跳出當前循環 94
5.5 各種循環語句的嵌套使用 96
5.6 本章小結 99
5.7 本章習題 99
第3篇 能力提高篇
第6章 用函式把程式分塊 102
6.1 函式的概念 102
6.1.1 什麼是函式 102
6.1.2 函式的優點 102
6.1.3 main函式的概念及用途 103
6.2 函式的定義 103
6.2.1 定義一個無參函式 103
6.2.2 定義一個有參函式 105
6.2.3 函式的參數 106
6.2.4 函式的返回值 107
6.2.5 空函式 109
6.3 函式的調用原理和聲明 109
6.3.1 函式的聲明 109
6.3.2 函式調用表達式 111
6.3.3 函式調用的方式 111
6.3.4 嵌套調用 112
6.4 遞歸函式 113
6.5 變數的作用域和存儲類別 117
6.5.1 什麼是變數的作用域 117
6.5.2 塊結構 117
6.5.3 局部變數和局部變數的作用域 118
6.5.4 全局變數和全局變數的作用域 118
6.5.5 變數的存儲類別 119
6.5.6 靜態型變數存儲 120
6.5.7 自動型變數存儲 122
6.6 內部函式與外部函式 123
6.6.1 內部函式 124
6.6.2 外部函式 125
6.7 本章小結 127
6.8 本章習題 127
第7章 數組 129
7.1 數組的概念及記憶體占用 129
7.1.1 數組的概念 129
7.1.2 數組在記憶體中的存儲 129
7.2 一維數組 130
7.2.1 一維數組的定義 131
7.2.2 一維數組的初始化 131
7.2.3 一維數組元素的引用 132
7.2.4 一維數組的套用 133
7.3 二維數組 134
7.3.1 二維數組的定義 134
7.3.2 二維數組的初始化 136
7.3.3 二維數組元素的引用 137
7.3.4 二維數組的套用 137
7.4 字元數組 139
7.4.1 字元數組的定義 139
7.4.2 字元串與字元數組 139
7.4.3 字元數組的初始化 139
7.4.4 字元數組的輸入和輸出 140
7.4.5 使用scanf()函式接收字元串 141
7.4.6 字元數組的套用 142
7.5 字元數組元素作為函式參數 143
7.6 綜合示例 144
7.7 本章小結 147
7.8 本章習題 147
第8章 字元串 149
8.1 字元串的長度 149
8.2 字元串拷貝函式 150
8.2.1 strcpy()函式 150
8.2.2 strncpy()函式 151
8.3 字元串連線函式 152
8.3.1 strcat()函式 152
8.3.2 strncat()函式 152
8.4 字元串比較函式 153
8.4.1 Strcmp()函式兩個完整的字元串之間的比較 153
8.4.2 Strncmp()函式 154
8.4.3 Strcmpi()函式 155
8.5 字元串查找函式 157
8.5.1 strchr()函式 157
8.5.2 strrchr()函式 158
8.5.3 strcspn()函式 158
8.5.4 strspn()函式 158
8.5.5 strpbrk()函式 159
8.5.6 strstr()函式 160
8.6 其他的字元串處理函式 161
8.6.1 strrev()函式 162
8.6.2 strset()函式和strnset()函式 162
8.7 字元檢查函式 163
8.7.1 isdigit()函式 163
8.7.2 isalpha()函式 164
8.7.3 檢查函式的使用 164
8.8 將字元串轉換成數字 165
8.9 本章小結 166
8.10 本章習題 166
第9章 指針 167
9.1 指針與地址 167
9.1.1 變數的地址 167
9.1.2 指針概述 168
9.2 存放地址的指針變數 168
9.2.1 定義指針變數 169
9.2.2 用變數的地址初始化指針 170
9.2.3 置“空”指針變數 171
9.2.4 指針變數的引用 171
9.3 指針變數進行算數運算 172
9.3.1 指針變數的加減運算 172
9.3.2 指針變數的關係運算 175
9.4 指針與函式 175
9.4.1 指針作為參數 175
9.4.2 指針作為返回值 178
9.4.3 函式指針 179
9.5 數組與指針 181
9.5.1 指針數組的定義和引用 181
9.5.2 一維數組中元素的指針表示法 182
9.5.3 二維數組中元素的指針表示法 183
9.5.4 指針與字元串結合使用 184
9.5.5 命令行參數 186
9.6 指向指針的指針變數 188
9.7 本章小結 189
9.8 本章習題 189
第10章 結構體、共同體與枚舉型 191
10.1 結構體的定義與引用 191
10.1.1 結構體類型的定義 191
10.1.2 結構體類型變數的定義 193
10.1.3 結構體類型變數的初始化 195
10.1.4 結構體類型變數的引用 196
10.1.5 結構體類型的指針 197
10.1.6 結構體數組 199
10.1.7 在結構體中包含其他結構 202
10.1.8 結構體與函式的關係 205
10.2 共用體的定義與引用 207
10.2.1 共用體類型的定義 207
10.2.2 共用體類型變數的定義 208
10.2.3 共用體類型變數的引用 209
10.2.4 共用體類型數據的特點 211
10.3 用typedef定義一個引用變數 211
10.4 枚舉型數據類型 212
10.4.1 枚舉型的定義 212
10.4.2 枚舉變數的定義與賦值 213
10.5 綜合示例 215
10.6 本章小結 217
10.7 本章習題 217
第11章 預處理命令 219
11.1 認識預處理命令 219
11.2 包含其他檔案的命令 219
11.3 宏定義 222
11.3.1 不帶參數的宏 222
11.3.2 帶參數的宏 223
11.3.3 宏的取消 225
11.3.4 使用宏定義的優缺點 226
11.4 條件編譯 228
11.5 頭檔案的編寫 230
11.6 本章小結 231
11.7 本章習題 232
第12章 C語言的編程規範 233
12.1 命名規範 233
12.2 格式規範 235
12.3 函式規範 236
12.4 其他規範 238
第13章 使用代碼管理計算機記憶體 239
13.1 分配記憶體的存儲空間 239
13.1.1 malloc()函式 239
13.1.2 calloc()函式 241
13.1.3 realloc()函式 243
13.1.4 malloc()函式和calloc()函式的區別 244
13.1.5 free()函式 245
13.2 將數據按位運算 246
13.2.1 位運算符 246
13.2.2 將數據進行移位運算 247
13.2.3 將數據進行按位邏輯運算 249
13.3 本章小結 256
13.4 本章習題 256
第14章 檔案操作 258
14.1 打開、關閉和檢測檔案 258
14.1.1 打開檔案 258
14.1.2 檔案檢查函式 262
14.1.3 讀寫檔案數據 262
14.1.4 關閉檔案 274
14.2 檔案定位函式 274
14.2.1 fseek()函式 274
14.2.2 ftell()函式 277
14.2.3 rewind()函式 278
14.3 檔案管理函式的套用 280
14.3.1 刪除檔案 280
14.3.2 重命名檔案 281
14.4 使用臨時檔案 282
14.5 非緩衝檔案系統 284
14.5.1 open()函式 284
14.5.2 close()函式 284
14.5.3 create()函式 284
14.5.4 read()函式 285
14.5.5 write()函式 285
14.5.6 lseek()函式 285
14.6 本章小結 286
14.7 本章習題 287
第15章 C語言中的庫函式 288
15.1 處理數學問題的函式 288
15.1.1 三角函式 288
15.1.2 指數函式和對數函式 291
15.1.3 雙曲線函式 292
15.1.4 其他數學函式 293
15.2 處理時間的函式 295
15.2.1 C語言程式中時間的表示 295
15.2.2 使用時間函式 295
15.3 查找和排序函式 304
15.3.1 bsearch()函式 304
15.3.2 qsort()函式 305
15.3.3 程式示例 305
15.4 隨機數生成函式 309
15.4.1 隨機數產生的過程 309
15.4.2 隨機數相關的函式 309
15.5 本章小結 312
15.6 本章習題 313
第4篇 高級實戰篇
第16章 簡單的數據結構介紹 316
16.1 單鍊表 316
16.1.1 單鍊表的概念 316
16.1.2 單鍊表的創建 317
16.1.3 單鍊表的使用 320
16.2 棧 326
16.2.1 棧的概念 326
16.2.2 棧的基本運算 326
16.2.3 鏈棧 327
16.3 佇列 329
16.3.1 佇列的概念 329
16.3.2 佇列的基本運算 330
16.3.3 鏈佇列 330
16.4 快速排序函式 333
16.5 本章小結 335
16.6 本章習題 335
第17章 學生管理系統的開發 336
17.1 學生管理系統需求分析 336
17.2 學生管理系統界面設計 337
17.3 學生管理系統功能設計 338
17.3.1 學生管理系統概要設計 339
17.3.2 用戶登錄管理模組的設計 341
17.3.3 檔案讀寫模組的設計 342
17.3.4 學生信息顯示模組的設計 345
17.3.5 學生人員增加模組的設計 345
17.3.6 學生人員刪除模組的設計 346
17.3.7 學生信息修改模組的設計 348
17.3.8 學生信息查詢模組的設計 350
17.3.9 主選單模組的設計 350
17.3.10 主函式及錯誤處理模組的設計 352
17.3.11 結構體及宏定義 354
17.4 學生管理系統測試用例編寫 355
17.5 學生管理系統整合測試 360
17.5.1 主選單和界面顯示功能測試的演示 360
17.5.2 用戶登錄功能測試的演示 361
17.5.3 用戶修改密碼功能測試的演示 361
17.5.4 學生人員增加功能測試的演示 362
17.5.5 學生人員刪除功能測試的演示 362
17.5.6 學生信息查詢功能測試的演示 363
17.5.7 學生信息修改功能測試的演示 363
17.5.8 檔案讀寫功能測試的演示 363
17.6 本章小結 364

相關詞條

熱門詞條

聯絡我們