圖書信息
叢書名:軟體開發視頻大講堂
作者:明日科技 編著
出版社:清華大學出版社
出版時間:2012-9-1
ISBN:9787302287520
印次:2-1
裝幀:平裝
印刷日期:2012-7-3
圖書簡介
《C語言從入門到精通(第2版)》從初學者的角度出發,以通俗易懂的語言,豐富多彩的實例,詳細介紹了使用C語言進行程式開發應該掌握的各方面知識。全書共分17章,包括C語言概述、算法、數據類型、運算符與表達式、常用的數據輸入/輸出函式、選擇結構程式設計、循環控制、數組、函式、指針、結構體和共用體、位運算、預處理、檔案、存儲管理、網路套接字編程和學生成績管理系統。書中所有知識都結合具體實例進行介紹,涉及的程式代碼給出了詳細的注釋,可以使讀者輕鬆領會C語言程式開發的精髓,快速提高開發技能。另外,本書除了紙質內容之外,配書光碟中還給出了海量開發資源庫,主要內容如下:
語音視頻講解:總時長30小時,共123段 實例資源庫:881個實例及源碼詳細分析
模組資源庫:15個經典模組開發過程完整展現 項目案例資源庫:15個企業項目開發過程完整展現
測試題庫系統:616道能力測試題目 面試資源庫:371個企業面試真題
PPT電子教案
本書適合作為軟體開發入門者的自學用書,也適合作為高等院校相關專業的教學參考書,也可供開發人員查閱、參考。
圖書前言
叢書說明:“軟體開發視頻大講堂”(第1版)於2008年8月出版以來,因其編寫細膩,易學實用,配備全程視頻等,在軟體開發類圖書市場上產生了很大反響,絕大部分品種在全國軟體開發零售圖書排行榜中名列前茅,2009年多個品種被評為“全國優秀暢銷書”。
“軟體開發視頻大講堂”叢書(第2版)於2010年8月出版,自出版至今,絕大部分品種在全國軟體開發類零售圖書排行榜中,依然持續名列前茅。叢書迄今累計已銷售近40萬冊,被百餘所高校計算機相關專業、軟體學院選為教學參考書,在眾多的軟體開發類圖書中成為一支最耀眼的品牌。
“軟體開發視頻大講堂”叢書(第3版)在前兩版的基礎上,增刪了品種,修正了疏漏,重新錄製了視頻,提供了從入門學習,到實例套用,模組開發,項目開發,能力測試,面試等各個階段的海量開發資源庫。為了方便教學,還提供了教學課件PPT,讀者可登錄清華大學出版社網站直接下載。
C語言是Combined Language(組合語言)的簡稱,它作為一種計算機設計語言,具有高級語言和彙編語言的特點,受到廣大編程人員的喜愛。C語言的套用非常廣泛,既可以用於編寫系統應用程式,也可以作為編寫應用程式的設計語言,還可以具體套用到有關單片機以及嵌入式系統的開發。這就是為什麼大多數學習者學習編寫程式都選擇C語言的原因。
本書內容
本書提供了從入門到編程高手所必備的各類知識,共分4篇,大體結構如下圖所示。
第1篇:基礎知識。本篇講解了C語言基礎知識,只有具備紮實的基礎知識才能更快地掌握更高級的技術內容。通過對C語言的歷史和特性、選擇C語言的開發環境、算法的內容、C語言的數據類型、運算符與表達式、常用的數據輸入/輸出函式、選擇結構程式設計和循環控制等內容的介紹,結合流程圖和實例,並通過視頻的指導講解,可幫助讀者為以後編程奠定堅實的基礎。
第2篇:核心技術。本篇介紹了C語言的數組、函式和指針這三大部分內容,並將前面所學的基礎內容融入其中,是更高級的程式設計內容。讀者學習完這一部分,應能夠編寫一些簡單的C語言應用程式。
第3篇:高級套用。本篇介紹了結構體和共用體、位運算、預處理、檔案、存儲管理和網路套接字編程的內容。讀者學習完這一部分,就能夠設計較大的程式,並且涉及的範圍更廣。
第4篇:項目實戰。本篇通過一個大型的學生成績管理系統,運用軟體工程的設計思想,介紹如何進行軟體項目的開發。書中按照“編寫需求分析→系統設計→功能設計→創建項目→實現項目模組功能→運行項目”的步驟,帶領讀者一步一步地親身體驗開發項目的全過程。
本書特點
* 由淺入深,循序漸進。本書以國中級程式設計師為對象,先從C語言基礎學起,再學習C語言的程式結構,然後學習C語言的高級套用,最後學習開發一個完整的項目。講解步驟詳盡,版式新穎,並且在程式中會給出相應的實例以便於讀者理解所講解的知識。在講解實例時分步驟分析,使讀者在閱讀時一目了然,從而快速把握書中內容。
* 語音視頻,講解詳盡。書中每一章節均提供聲圖並茂的視頻教學錄像,讀者可以根據書中提供的錄像位置在光碟中找到相應的檔案。這些錄像能夠引導初學者快速入門,感受編程的快樂和成就感,增強進一步學習的信心,從而快速成為編程高手。
* 實例典型,輕鬆易學。通過實例學習是最好的學習方式,本書通過“一個知識點、一個例子、一個結果、一段評析、一個綜合套用”的模式,透徹詳盡地講述了實際開發中所需的各類知識。另外,為了便於讀者閱讀程式代碼,快速學習編程技能,書中幾乎為每行代碼都提供了注釋。
* 精彩欄目,貼心提醒。本書根據需要在各章使用了很多“注意”、“說明”、“技巧”等小欄目,讓讀者可以在學習過程中更輕鬆地理解相關知識點及概念,更快地掌握個別技術的套用技巧。
* 套用實踐,隨時練習。書中幾乎每章都提供了“實踐與練習”,讓讀者能夠通過對問題的解答重新回顧、熟悉所學的知識,舉一反三,為進一步學習做好充分的準備。
圖書目錄
第1篇 基 礎 知 識
第1章 C語言概述 3
視頻講解:29分鐘
1.1 C語言的發展史 4
1.1.1 程式語言簡述 4
1.1.2 C語言的歷史 4
1.2 C語言的特點 5
1.3 一個簡單的C程式 6
1.4 一個完整的C程式 8
1.5 C語言程式的格式 12
1.6 開發環境 13
1.6.1 Turbo C 2.0 13
1.6.2 Visual C++ 6.0 17
1.7 小結 22
第2章 算法 23
視頻講解:22分鐘
2.1 算法的基本概念 24
2.1.1 算法的特性 24
2.1.2 算法的優劣 25
2.2 算法的描述 25
2.2.1 自然語言 25
2.2.2 流程圖 26
2.2.3 N-S流程圖 29
2.3 小結 32
第3章 數據類型 33
視頻講解:39分鐘
3.1 編程規範 34
3.2 關鍵字 35
3.3 標識符 35
3.4 數據類型 36
3.5 常量 37
3.5.1 整型常量 38
3.5.2 實型常量 40
3.5.3 字元型常量 41
3.5.4 轉義字元 43
3.5.5 符號常量 44
3.6 變數 45
3.6.1 整型變數 45
3.6.2 實型變數 47
3.6.3 字元型變數 50
3.7 變數的存儲類別 51
3.7.1 動態存儲與靜態存儲 51
3.7.2 auto變數 52
3.7.3 static變數 52
3.7.4 register變數 53
3.7.5 extern變數 54
3.8 混合運算 55
3.9 小結 56
3.10 實踐與練習 56
第4章 運算符與表達式 57
視頻講解:29分鐘
4.1 表達式 58
4.2 賦值運算符與賦值表達式 60
4.2.1 變數賦初值 60
4.2.2 自動類型轉換 62
4.2.3 強制類型轉換 62
4.3 算術運算符與算術表達式 63
4.3.1 算術運算符 63
4.3.2 算術表達式 64
4.3.3 優先權與結合性 65
4.3.4 自增/自減運算符 67
4.4 關係運算符與關係表達式 69
4.4.1 關係運算符 69
4.4.2 關係表達式 69
4.4.3 優先權與結合性 70
4.5 邏輯運算符與邏輯表達式 71
4.5.1 邏輯運算符 72
4.5.2 邏輯表達式 72
4.5.3 優先權與結合性 72
4.6 位邏輯運算符與位邏輯表達式 73
4.6.1 位邏輯運算符 74
4.6.2 位邏輯表達式 74
4.7 逗號運算符與逗號表達式 74
4.8 複合賦值運算符 76
4.9 小結 77
4.10 實踐與練習 77
第5章 常用的數據輸入/輸出函式 79
視頻講解:40分鐘
5.1 語句 80
5.2 字元數據輸入/輸出 80
5.2.1 字元數據輸出 80
5.2.2 字元數據輸入 81
5.3 字元串輸入/輸出 83
5.3.1 字元串輸出函式 83
5.3.2 字元串輸入函式 85
5.4 格式輸出函式 85
5.5 格式輸入函式 88
5.6 順序程式設計套用 92
5.7 小結 93
5.8 實踐與練習 94
第6章 選擇結構程式設計 95
視頻講解:44分鐘
6.1 if語句 96
6.2 if語句的基本形式 96
6.2.1 if語句形式 96
6.2.2 if…else語句形式 99
6.2.3 else if語句形式 103
6.3 if的嵌套形式 106
6.4 條件運算符 109
6.5 switch語句 110
6.5.1 switch語句的基本形式 111
6.5.2 多路開關模式的switch語句 114
6.6 if…else語句和switch語句的區別 116
6.7 選擇結構程式套用 118
6.8 小結 120
6.9 實踐與練習 120
第7章 循環控制 121
視頻講解:41分鐘
7.1 循環語句 122
7.2 while語句 122
7.3 do-while語句 125
7.4 for語句 127
7.4.1 for語句使用 127
7.4.2 for循環的變體 130
7.4.3 for語句中的逗號套用 132
7.5 3種循環語句的比較 133
7.6 循環嵌套 134
7.6.1 循環嵌套的結構 134
7.6.2 循環嵌套實例 135
7.7 轉移語句 137
7.7.1 goto語句 137
7.7.2 break語句 139
7.7.3 continue語句 140
7.8 小結 141
7.9 實踐與練習 141
第2篇 核 心 技 術
第8章 數組 145
視頻講解:1小時7分鐘
8.1 一維數組 146
8.1.1 一維數組的定義和引用 146
8.1.2 一維數組初始化 148
8.1.3 一維數組套用 150
8.2 二維數組 151
8.2.1 二維數組的定義和引用 151
8.2.2 二維數組初始化 152
8.2.3 二維數組套用 155
8.3 字元數組 156
8.3.1 字元數組的定義和引用 157
8.3.2 字元數組初始化 157
8.3.3 字元數組的結束標誌 159
8.3.4 字元數組的輸入和輸出 160
8.3.5 字元數組套用 161
8.4 多維數組 162
8.5 數組的排序算法 163
8.5.1 選擇法排序 163
8.5.2 冒泡法排序 165
8.5.3 交換法排序 167
8.5.4 插入法排序 169
8.5.5 折半法排序 171
8.5.6 排序算法的比較 174
8.6 字元串處理函式 174
8.6.1 字元串複製 174
8.6.2 字元串連線 176
8.6.3 字元串比較 177
8.6.4 字元串大小寫轉換 179
8.6.5 獲得字元串長度 180
8.7 數組套用 181
8.7.1 反轉輸出字元串 181
8.7.2 輸出系統日期和時間 183
8.7.3 字元串的加密和解密 184
8.8 小結 186
8.9 實踐與練習 186
第9章 函式 187
視頻講解:55分鐘
9.1 函式概述 188
9.2 函式的定義 190
9.2.1 函式定義的形式 191
9.2.2 定義與聲明 192
9.3 返回語句 194
9.3.1 從函式返回 194
9.3.2 返回值 195
9.4 函式參數 197
9.4.1 形式參數與實際參數 197
9.4.2 數組作函式參數 199
9.4.3 main函式的參數 205
9.5 函式的調用 206
9.5.1 函式的調用方式 206
9.5.2 嵌套調用 209
9.5.3 遞歸調用 211
9.6 內部函式和外部函式 214
9.6.1 內部函式 214
9.6.2 外部函式 215
9.7 局部變數和全局變數 216
9.7.1 局部變數 217
9.7.2 全局變數 220
9.8 函式套用 221
9.9 小結 227
9.10 實踐與練習 228
第10章 指針 229
視頻講解:1小時2分鐘
10.1 指針相關概念 230
10.1.1 地址與指針 230
10.1.2 變數與指針 231
10.1.3 指針變數 231
10.1.4 指針自加自減運算 235
10.2 數組與指針 237
10.2.1 一維數組與指針 237
10.2.2 二維數組與指針 241
10.2.3 字元串與指針 244
10.2.4 字元串數組 246
10.3 指向指針的指針 247
10.4 指針變數作函式參數 250
10.5 返回指針值的函式 258
10.6 指針數組作main函式的參數 260
10.7 小結 262
10.8 實踐與練習 262
第3篇 高 級 應 用
第11章 結構體和共用體 265
視頻講解:40分鐘
11.1 結構體 266
11.1.1 結構體類型的概念 266
11.1.2 結構體變數的定義 267
11.1.3 結構體變數的引用 269
11.1.4 結構體類型的初始化 271
11.2 結構體數組 273
11.2.1 定義結構體數組 273
11.2.2 初始化結構體數組 275
11.3 結構體指針 277
11.3.1 指向結構體變數的指針 277
11.3.2 指向結構體數組的指針 280
11.3.3 結構體作為函式參數 282
11.4 包含結構的結構 284
11.5 鍊表 286
11.5.1 鍊表概述 286
11.5.2 創建動態鍊表 287
11.5.3 輸出鍊表 290
11.6 鍊表相關操作 292
11.6.1 鍊表的插入操作 292
11.6.2 鍊表的刪除操作 294
11.7 共用體 298
11.7.1 共用體的概念 298
11.7.2 共用體變數的引用 299
11.7.3 共用體變數的初始化 300
11.7.4 共用體類型的數據特點 301
11.8 枚舉類型 301
11.9 小結 302
11.10 實踐與練習 303
第12章 位運算 305
視頻講解:35分鐘
12.1 位與位元組 306
12.2 位運算操作符 306
12.2.1 “與”運算符 306
12.2.2 “或”運算符 308
12.2.3 “取反”運算符 309
12.2.4 “異或”運算符 310
12.2.5 “左移”運算符 312
12.2.6 “右移”運算符 313
12.3 循環移位 315
12.4 位段 317
12.4.1 位段的概念與定義 317
12.4.2 位段相關說明 319
12.5 小結 320
12.6 實踐與練習 320
第13章 預處理 321
視頻講解:39分鐘
13.1 宏定義 322
13.1.1 不帶參數的宏定義 322
13.1.2 帶參數的宏定義 323
13.2 #include指令 325
13.3 條件編譯 327
13.3.1 #if命令 327
13.3.2 #ifdef及#ifndef命令 329
13.3.3 #undef命令 331
13.3.4 #line命令 331
13.3.5 #pragma命令 332
13.4 小結 333
13.5 實踐與練習 333
第14章 檔案 335
視頻講解:55分鐘
14.1 檔案概述 336
14.2 檔案基本操作 336
14.2.1 檔案指針 336
14.2.2 檔案的打開 337
14.2.3 檔案的關閉 338
14.3 檔案的讀寫 338
14.3.1 fputc函式 338
14.3.2 fgetc函式 339
14.3.3 fputs函式 340
14.3.4 fgets函式 341
14.3.5 fprintf函式 342
14.3.6 fscanf函式 343
14.3.7 fread和fwrite函式 344
14.4 檔案的定位 346
14.4.1 fseek函式 346
14.4.2 rewind函式 348
14.4.3 ftell函式 349
14.5 小結 352
14.6 實踐與練習 352
第15章 存儲管理 353
視頻講解:22分鐘
15.1 記憶體組織方式 354
15.1.1 記憶體的組織方式 354
15.1.2 堆與棧 354
15.2 動態管理 356
15.2.1 malloc函式 356
15.2.2 calloc函式 357
15.2.3 realloc函式 358
15.2.4 free函式 359
15.3 記憶體丟失 360
15.4 小結 361
15.5 實踐與練習 361
第16章 網路套接字編程 363
視頻講解:39分鐘
16.1 計算機網路基礎 364
16.1.1 IP位址 364
16.1.2 OSI七層參考模型 364
16.1.3 地址解析 365
16.1.4 域名系統 366
16.1.5 TCP/IP協定 366
16.1.6 連線埠 368
16.1.7 套接字的引入 368
16.1.8 網路位元組順序 369
16.2 套接字概述 369
16.2.1 套接字概述 369
16.2.2 TCP的套接字的socket編程 369
16.2.3 UDP的套接字的socket編程 370
16.3 套接字函式 371
16.3.1 套接字函式介紹 371
16.3.2 基於TCP的網路聊天程式 376
16.4 小結 382
16.5 實踐與練習 382
第4篇 項 目 實 戰
第17章 學生成績管理系統 385
視頻講解:40分鐘
17.1 需求分析 386
17.2 系統設計 386
17.3 功能設計 387
17.3.1 功能選擇界面 387
17.3.2 錄入學生成績信息 388
17.3.3 查詢學生成績信息 391
17.3.4 刪除學生成績信息 392
17.3.5 修改學生成績信息 393
17.3.6 插入學生成績信息 395
17.3.7 統計學生人數 397
17.4 小結 397
附錄A ASCII表 399