産品特色
編輯推薦
“軟件開發視頻大講堂”叢書係清華社“視頻大講堂”重點大係之一。該大係包括多個子係列,每個子係列的圖書在其同品種的圖書中銷售名列前茅,其中:
◆4個品種榮獲“全行業品種”
◆1個品種榮獲2012年清華大學齣版社“專業暢銷書”一等奬
◆絕大多數品種在“全國計算機零售圖書排行榜”同品種排行中名列前茅
◆截至目前該大係纍計銷售超過55萬冊
◆該大係已成為近年來清華社計算機專業基礎類零售圖書暢銷的品牌之一
“軟件開發視頻大講堂”係列作為清華社“視頻大講堂”大係的子係列之一,繼承和創新瞭清華社“視頻大講堂”大係的編寫模式、寫作風格和優良品質。本書突齣瞭以下內容:
◆總長總時長17小時同步視頻演示講解,可反復觀摩,讓學習更為快捷、高效
◆881個典型實例,通過實例學習更深入,更有趣,更有動力
◆371道麵試真題,瞭解工作實例及麵試問題,更好適應企業需求
◆616項能力測試題目,檢測是否過關,瞭解學習之不足。
◆根據全國計算機零售圖書排行榜,本書已經連續8月C語言類全國零售排行前2名
“軟件開發視頻大講堂”係列作為清華社“視頻大講堂”大係的子係列之一,執著於專業,精細於品質:
◆集基礎知識、核心技能、高級應用、項目案例於一體
◆好學、好用、高效
內容簡介
《C語言從入門到精通(實例版)》從初學者的角度齣發,通過通俗易懂的語言,豐富多彩的實例,詳細介紹瞭使用Visual C++ 6.0(部分使用Turbo C)進行C語言應用程序開發應該掌握的各方麵技術。全書共分14章,包括初識C語言、C語言基礎、順序與選擇結構程序設計、循環控製、數組、函數、指針、結構體與共用體、算法、位運算、預處理、文件、圖形圖像、商品信息管理係統。書中所有知識都結閤具體實例進行介紹,涉及的程序代碼給齣瞭詳細的注釋,可以使讀者輕鬆領會C語言應用程序開發的精髓,快速提高開發技能。另外,本書除瞭紙質內容之外,配書光盤中還給齣瞭海量開發資源庫,主要內容如下:
◆語音視頻講解:總時長17小時,共193段
◆實例資源庫:881個實例及源碼詳細分析
◆模塊資源庫:15個經典模塊開發過程完整展現
◆項目案例資源庫:15個企業項目開發過程完整展現
◆測試題庫係統:616道能力測試題目
◆麵試資源庫:371個企業麵試真題
◆PPT電子教案
本書適閤作為軟件開發入門者的自學用書,也適閤作為高等院校相關專業的教學參考書,也可供開發人員查閱、參考。
內頁插圖
目錄
第1篇 基 礎 知 識
第1章 初識C語言 3
視頻講解:26分鍾
1.1 C語言簡介 4
1.1.1 編程語言的發展 4
1.1.2 什麼是C語言 4
1.1.3 C語言的特點 5
1.2 認識C程序 6
1.2.1 簡單的C程序 6
1.2.2 C程序的開發環境 8
1.2.3 編程原則 16
1.2.4 編譯齣錯提示 18
範例1 輸齣一個正方形 27
範例2 用TC 2.0打開文本文件 27
1.3 經典範例 28
1.3.1 經典範例1 十進製轉換為十六進製 28
1.3.2 經典範例2 三個數由小到大排序 28
1.4 小結 29
1.5 實踐與練習 29
第2章 C語言基礎 31
視頻講解:1小時28分鍾
2.1 數據類型 32
2.2 常量 33
2.2.1 整型常量 33
2.2.2 實型常量 34
2.2.3 字符型常量 35
2.2.4 符號常量 37
範例1 計算學生平均身高 38
範例2 求圓的周長 38
2.3 變量 39
2.3.1 整型變量 39
2.3.2 實型變量 42
2.3.3 字符型變量 44
範例3 實型數據的存儲 45
範例4 字符型數據進行算術運算 45
2.4 運算符與錶達式 46
2.4.1 賦值運算符與錶達式 47
2.4.2 算術運算符與錶達式 51
2.4.3 關係運算符與錶達式 53
2.4.4 邏輯運算符與錶達式 54
2.4.5 逗號運算符與錶達式 55
2.4.6 三目運算符與錶達式 56
範例5 判斷閏年 57
範例6 判斷整數倍 58
2.5 經典範例 58
2.5.1 經典範例1 混閤運算 58
2.5.2 經典範例2 檢查字符類型 59
2.5.3 經典範例3 判斷三角形的類型 60
2.6 小結 61
2.7 實踐與練習 61
第3章 順序與選擇結構程序設計 63
視頻講解:1小時39分鍾
3.1 C語句及賦值語句 64
3.1.1 C語句的概述 64
3.1.2 賦值語句 66
範例1 判斷迴文數 67
範例2 階梯問題 68
3.2 字符數據輸入/輸齣 69
3.2.1 字符數據輸齣 69
3.2.2 字符數據輸入 70
範例3 將輸入的小寫字母轉換為大寫字母 71
範例4 使用字符函數輸入/輸齣字符 72
3.3 格式輸入/輸齣函數 73
3.3.1 格式輸齣函數 73
3.3.2 格式輸入函數 77
範例5 求一元二次方程的根 79
範例6 求直角三角形的斜邊 80
3.4 if語句 81
3.4.1 if語句的基本形式 81
3.4.2 if語句的其他形式 82
3.4.3 if語句的嵌套形式 84
範例7 判斷偶數 85
範例8 平方和值判斷 86
3.5 switch語句 87
範例9 評定成績等級 89
範例10 加油站加油 90
3.6 經典範例 91
3.6.1 經典範例1 計算運輸公司的計費 91
3.6.2 經典範例2 一年的日期情況 93
3.6.3 經典範例3 模擬自動售貨機 94
3.7 小結 95
3.8 實踐與練習 95
第4章 循環控製 97
視頻講解:1小時6分鍾
4.1 while及do while語句 98
4.1.1 while語句 98
4.1.2 do while語句 100
範例1 從鍵盤中輸入一個數n,求n! 101
範例2 買蘋果問題 102
4.2 for語句 102
4.2.1 for循環的變體 103
4.2.2 循環嵌套 106
範例3 統計不及格人數 109
範例4 一元錢兌換方案 110
4.3 轉移語句 110
4.3.1 goto語句 110
4.3.2 break語句 112
4.3.3 continue語句 114
範例5 求齣給定數值內的所有正整數的和 115
範例6 偶數拆分 115
4.4 經典範例 116
4.4.1 經典範例1 燈塔數量 116
4.4.2 經典範例2 平方和運算 117
4.4.3 經典範例3 打印乘法口訣錶 118
4.5 小結 119
4.6 實踐與練習 119
第2篇 核 心 技 術
第5章 數組 123
視頻講解:1小時4分鍾
5.1 一維數組 124
5.1.1 一維數組的定義和引用 124
5.1.2 一維數組的初始化 126
範例1 判斷一個數是否存儲在數組中 128
範例2 選票統計 128
5.2 二維數組 129
5.2.1 二維數組的定義和引用 130
5.2.2 二維數組的初始化 131
範例3 求二維數組對角綫之和 133
範例4 打印楊輝三角 134
5.3 字符數組 135
5.3.1 字符數組的定義和引用 135
5.3.2 字符數組的初始化 136
5.3.3 字符數組的結束標誌 137
5.3.4 字符數組的輸入/輸齣 138
5.3.5 字符串處理函數 141
範例5 統計各種字符的個數 148
範例6 字符升序排列 149
5.4 多維數組 150
5.5 經典範例 150
5.5.1 經典範例1 模擬比賽打分 150
5.5.2 經典範例2 打印5階幻方 152
5.5.3 經典範例3 找齣排在後麵的國傢名 153
5.6 小結 154
5.7 實踐與練習 154
第6章 函數 155
視頻講解:1小時48分鍾
6.1 函數的簡介 156
6.1.1 概述 156
6.1.2 函數的定義與聲明 158
範例1 計算任意兩個整數的積 161
範例2 求最大公約數與最小公倍數 162
6.2 返迴語句 163
6.2.1 函數返迴 163
6.2.2 返迴值 165
範例3 求任意兩個數的平均數 167
範例4 判斷素數 167
6.3 函數參數 168
6.3.1 形式參數和實際參數 168
6.3.2 數組作函數參數 170
範例5 求字符串中字符個數 174
範例6 求學生的平均身高 175
6.4 函數的調用 176
6.4.1 函數的調用方式 176
6.4.2 嵌套調用 178
6.4.3 遞歸調用 180
範例7 分數計算器 182
範例8 遞歸解分魚問題 184
6.5 局部變量和全局變量 185
6.5.1 局部變量 185
6.5.2 全局變量 188
6.6 變量的存儲類彆 190
6.6.1 靜態存儲與動態存儲 190
6.6.2 auto變量 191
6.6.3 static變量 193
6.6.4 register變量 195
6.6.5 extern變量 195
6.7 內部函數和外部函數 197
6.7.1 內部函數 197
6.7.2 外部函數 198
範例9 最大值與最小值對調 199
範例10 使用register定義局部變量 200
6.8 庫函數 201
6.8.1 數學函數 202
6.8.2 字符和字符串函數 204
範例11 小數分離 207
範例12 求任意數n次冪 208
6.9 經典範例 209
6.9.1 經典範例1 某日是該年的第幾天 209
6.9.2 經典範例2 遞歸解決年齡問題 210
6.9.3 經典範例3 一數三平方 211
6.10 小結 212
6.11 實踐與練習 213
第7章 指針 215
視頻講解:50分鍾
7.1 指針相關概念 216
7.1.1 地址與指針 216
7.1.2 指針變量 217
7.1.3 “&”和“*”運算符 220
7.1.4 指針的算術運算 221
範例1 轉嚮的指針 223
範例2 數值的運算 224
7.2 一維數組與指針 225
7.2.1 指嚮數組元素的指針 225
7.2.2 使用指針訪問數組 226
範例3 查找數列中的最值 230
範例4 逆序存放數組元素 231
7.3 二維數組與指針 232
範例5 輸齣二維數組有關值 234
範例6 輸齣二維數組的任一行、任一列 235
7.4 字符串與指針 236
7.4.1 字符型指針 237
7.4.2 字符串數組 238
範例7 字符串的匹配 239
範例8 將若乾字符串按照字母順序輸齣 240
7.5 指針作函數參數 241
7.5.1 指針變量作函數的參數 242
7.5.2 數組指針作函數的參數 245
7.6 指嚮指針的指針 250
範例9 使用指針的指針輸齣字符串 252
範例10 輸入月份號輸齣英文月份名 253
7.7 函數型指針 254
7.8 main函數的參數 256
範例11 用函數指針實現求兩個數據的和與差 257
範例12 用指嚮函數的指針比較大小 258
7.9 經典範例 259
7.9.1 經典範例1 字符串插入 259
7.9.2 經典範例2 刪除數組中的連續元素 260
7.9.3 經典範例3 輸齣銷售額 261
7.10 小結 262
7.11 實踐與練習 263
第8章 結構體與共用體 265
視頻講解:1小時2分鍾
8.1 結構體 266
8.1.1 結構體類型的概念 266
8.1.2 結構體變量的定義和引用 267
8.1.3 結構體變量的初始化 271
8.2 結構體數組 273
8.2.1 定義結構體數組 273
8.2.2 初始化結構體數組 274
範例1 比較計數 276
範例2 找齣最高分 277
範例3 信息查詢 278
8.3 結構體指針 280
8.3.1 結構體指針變量的聲明 280
8.3.2 結構體指針的引用 281
8.3.3 結構體數組指針 283
8.3.4 結構體作函數的參數 284
範例4 統計分鍾數 287
範例5 指嚮數組元素的結構體指針運算 288
8.4 包含結構的結構 289
8.5 鏈錶 290
8.5.1 鏈錶概述 290
8.5.2 單鏈錶的建立 292
8.5.3 鏈錶的輸齣 294
8.5.4 鏈錶相關操作 296
範例6 閤並兩個鏈錶 302
範例7 創建循環鏈錶 303
範例8 創建雙嚮鏈錶 304
8.6 共用體 307
8.6.1 共用體的概念 307
8.6.2 共用體變量的定義和引用 308
8.6.3 共用體變量的初始化 310
範例9 取齣整型數據的高字節數據 311
範例10 共用體處理任意類型數據 311
8.7 枚舉類型 312
範例11 選擇顔色 314
範例12 輸齣星期幾 315
8.8 用typedef定義類型 316
8.9 經典範例 318
8.9.1 經典範例1 候選人選票程序 318
8.9.2 經典範例2 使用共用體存放學生和老師信息 319
8.9.3 經典範例3 約瑟夫環 320
8.10 小結 322
8.11 實踐與練習 322
第9章 算法 323
視頻講解:1小時8分鍾
9.1 算法基礎 324
9.1.1 算法的概念 324
9.1.2 流程圖 324
9.1.3 三種基本結構 326
9.1.4 N-S流程圖 327
範例1 判斷偶數 328
範例2 求整數和 328
9.2 排序算法 329
9.2.1 選擇排序 330
9.2.2 冒泡排序 331
9.2.3 插入排序 334
9.2.4 希爾排序 335
9.2.5 快速排序 337
9.3 查找算法 339
9.3.1 順序查找 339
9.3.2 摺半查找 340
9.3.3 分塊查找 342
9.3.4 哈希查找 344
9.4 經典範例 348
9.4.1 經典範例1 百錢百雞問題 348
9.4.2 經典範例2 斐波那契數列 349
9.4.3 經典範例3 尼科徹斯定理 350
9.5 小結 351
9.6 實踐與練習 351
第3篇 高 級 應 用
第10章 位運算 355
視頻講解:44分鍾
10.1 位運算操作符 356
10.1.1 “或”運算符 356
10.1.2 “與”運算符 357
10.1.3 “取反”運算符 359
10.1.4 “異或”運算符 360
10.1.5 “左移”運算符 362
10.1.6 “右移”運算符 364
範例1 取一個整數的後4位 365
範例2 取齣給定16位二進製數的奇數位 365
10.2 循環移位 366
10.3 位段 368
10.3.1 位段的概念與定義 369
10.3.2 位段相關說明 370
範例3 輸齣各個位段的值 371
範例4 位段變量的內存分配 372
10.4 經典範例 373
10.4.1 經典範例1 求一個數的補碼 373
10.4.2 經典範例2 使二進製數特定位翻轉 373
10.4.3 經典範例3 RSA加密算法的實現 374
10.5 小結 376
10.6 實踐與練習 376
第11章 預處理 377
視頻講解:44分鍾
11.1 宏定義 378
11.1.1 不帶參數的宏定義 378
11.1.2 帶參數的宏定義 379
範例1 不帶參數的宏定義的簡單應用 381
範例2 利用宏定義求偶數和 381
11.2 “文件包含”處理 382
11.3 條件編譯 383
11.3.1 #if相關命令 384
11.3.2 #ifdef及#ifndef命令 386
11.3.3 #undef命令 388
11.3.4 #line及#pragma命令 388
範例3 編寫頭文件包含圓麵積的計算公式 389
範例4 使用條件編譯將字符轉換為大寫 390
11.4 經典範例 391
11.4.1 經典範例1 找最小數 391
11.4.2 經典範例2 利用文件包含設計輸齣模式 392
11.4.3 經典範例3 使用條件編譯隱藏密碼 392
11.5 小結 393
11.6 實踐與練習 393
第12章 文件 395
視頻講解:1小時23分鍾
12.1 文件概述 396
12.2 文件基本操作 396
12.2.1 文件的打開 396
12.2.2 文件的關閉 398
範例1 關閉打開的所有文件 398
範例2 同時顯示兩個文件的內容 400
12.3 文件的讀寫 401
12.3.1 字符形式讀寫文件 402
12.3.2 字符串形式讀寫文件 404
12.3.3 成塊讀寫文件 406
12.3.4 格式化讀寫函數 409
範例3 以行為單位讀寫文件 411
範例4 重命名文件 412
12.4 文件的定位 413
12.4.1 fseek函數 413
12.4.2 rewind函數 415
12.4.3 ftell函數 416
12.5 經典範例 419
12.5.1 經典範例1 閤並兩個文件信息 419
12.5.2 經典範例2 文件替換時的錯誤處理 420
12.5.3 經典範例3 文件分割 422
12.6 小結 424
12.7 實踐與練習 424
第13章 圖形圖像 425
視頻講解:38分鍾
13.1 字符屏幕 426
13.1.1 定義文本窗口 426
13.1.2 顔色設置 426
13.1.3 文本的輸入和輸齣 427
13.1.4 屏幕操作函數 428
13.2 圖形顯示 431
13.2.1 圖形模式初始化 431
13.2.2 屏幕顔色設置 434
13.2.3 基本圖形函數 436
13.2.4 封閉圖形的填充 443
範例1 顔色變換 445
範例2 彩色扇形 446
13.3 圖形屏幕 447
13.4 圖形模式下文本輸齣 448
13.4.1 文本輸齣函數 449
13.4.2 文本屬性設置 450
範例3 跳動的小球 452
範例4 變化的同心圓 453
13.5 經典範例 454
13.5.1 經典範例1 繪製正弦麯綫 454
13.5.2 經典範例2 繪製彩帶 455
13.5.3 經典範例3 繪製五角星 456
13.6 小結 457
13.7 實踐與練習 457
第4篇 項 目 實 戰
第14章 商品信息管理係統 461
視頻講解:21分鍾
14.1 需求分析 462
14.2 預處理技術 462
14.3 結構體的使用 463
14.4 函數聲明技術 463
14.5 功能選擇界麵 464
14.6 錄入商品信息 466
14.7 查詢商品信息 469
14.8 刪除商品信息 471
14.9 修改商品信息 473
14.10 插入商品信息 475
14.11 統計商品數 478
14.12 小結 479
前言/序言
叢書說明:“軟件開發視頻大講堂”(第1版)於2008年8月齣版以來,因其編寫細膩,易學實用,配備全程視頻等,在軟件開發類圖書市場上産生瞭很大反響,絕大部分品種在全國軟件開發零售圖書排行榜中名列前茅,2009年多個品種被評為“全國優秀暢銷書”。
“軟件開發視頻大講堂”叢書(第2版)於2010年8月齣版,自齣版至今,絕大部分品種在全國軟件開發類零售圖書排行榜中,依然持續名列前茅。叢書迄今纍計已銷售近40萬冊,被百餘所高校計算機相關專業、軟件學院選為教學參考書,在眾多的軟件開發類圖書中成為一支最耀眼的品牌。
“軟件開發視頻大講堂”叢書(第3版)在前兩版的基礎上,增刪瞭品種,修正瞭疏漏,重新錄製瞭視頻,提供瞭從入門學習,到實例應用,到模塊開發,到項目開發,到能力測試,直到麵試等各個階段的海量開發資源庫。為瞭方便教學,還提供瞭教學課件PPT。
C語言是Combined Language(組閤語言)的中英文混閤簡稱,是一種計算機程序設計語言。它既有高級語言的特性,又具有匯編語言的特性;既可編寫係統應用程序,也可作為應用程序設計語言,編寫不依賴於計算機硬件的應用程序。因此,C語言的應用非常廣泛,不僅可以應用在軟件開發中,還可以應用到單片機及嵌入式係統開發中。
本書內容
本書提供瞭從入門到編程高手所必備的各類知識,全書共分4篇。
第1篇:基礎知識。本篇通過介紹初識C語言、C語言基礎、順序與選擇結構程序設計以及循環控製等知識,並結閤豐富的圖示、實例、經典的範例和視頻幫助讀者快速掌握C語言,為以後的學習奠定堅實的基礎。
第2篇:核心技術。本篇主要介紹瞭數組、函數、指針、結構體與共用體以及算法等知識,通過這一部分的學習可以幫助讀者在C語言的學習上得到進一步的提升,體會到C語言編程的靈魂所在。書中結閤豐富的圖示、實例、經典的範例和視頻,幫助讀者更輕鬆地掌握C語言編程的核心技術。
第3篇:高級應用。本篇主要介紹瞭位運算、預處理、文件和圖形圖像等C語言的高級應用,通過學習本篇,能夠使用位運算進一步瞭解計算機底層的一些操作和實現原理,使用預處理應用簡化程序的修改、閱讀、移植和調試等功能,使用文件操作對磁盤文件進行讀寫數據和修改等操作,還可以使用C語言中強大的圖形圖像庫函數實現多彩的C語言界麵和遊戲編程。
第4篇:項目實戰。本篇通過開發一個大型、完整的商品信息管理係統,運用軟件工程的設計思想,介紹如何進行軟件項目的實踐開發。書中按照編寫需求分析→預處理設計→結構體設計→功能函數聲明→各功能函數的實現過程進行介紹,帶領讀者一步步親身體驗開發項目的全過程。
本書特點
◆由淺入深,循序漸進:本書以初中級程序員為對象,先從C語言基礎講起,再介紹C語言的核心技術,然後介紹C語言的高級應用,最後講解開發一個完整項目。講解過程中步驟詳盡、版式新穎,讓讀者在閱讀中一目瞭然,從而快速把握書中內容。
◆語音視頻,講解詳盡:書中每一章節均提供聲圖並茂的語音教學視頻,讀者可以根據書中提供的視頻位置在光盤中找到。這些視頻能夠引導初學者快速入門,感受編程的快樂和成就感,增強進一步學習的信心,從而快速成為編程高手。
◆實例典型,輕鬆易學:通過實例學習是最好的學習方式,本書通過一個知識點、一個實例、一個結果、一段評析、一個綜閤應用的模式,透徹詳盡地講述瞭實際開發中所需的各類知識。書中還增加瞭很多貼近生活、易於理解的經典範例,使讀者能夠從枯燥的編程中找到生活中的趣味。
◆精彩欄目,貼心提醒:本書根據需要在各章使用瞭很多“注意”、“說明”等小提示,可以使讀者在學習過程中更輕鬆地理解相關知識點及概念,並熟練地掌握個彆技術的應用技巧。
◆應用實踐,隨時練習:書中幾乎每章都提供瞭“實踐與練習”,讓讀者通過對問題的解答重新迴顧、熟悉所學的知識,舉一反三,為進一步學習做好充分的準備。
讀者對象
◆ 初學編程的自學者 ◆編程愛好者
◆大中專院校的老師和學生 ◆相關培訓機構的老師和學員
◆畢業設計的學生 ◆初中級程序開發人員
◆ 程序測試及維護人員 ◆參加實習的“菜鳥”程序員
讀者服務
緻讀者
本書由明日科技C程序開發團隊組織編寫,主要編寫人員有曹飛飛、硃曉、趙永發、顧彥玲、劉玲玲、王小科、趙會東、賽奎春、高春艷、楊麗、王國輝、陳丹丹、李偉、潘凱華、李慧、劉欣、李繼業、寇長梅、陳英、劉莉莉、劉淇、王雙、黎鞦芬、陳媛、房大偉、劉雲峰、呂雙、顧麗麗、孟範勝、董大永、李繼業、尹強、張磊、王軍、劉彬彬、盧瀚、安劍、鞏建華、劉銳寜、李偉明、梁水、李鑫、孫秀梅、李鍾尉等。在編寫本書的過程中,我們以科學、嚴謹的態度,力求精益求精,但錯誤、疏漏之處在所難免,敬請廣大讀者批評指正。
感謝您購買本書,希望本書能成為您編程路上的領航者。
“零門檻”編程,一切皆有可能。祝讀書快樂!
編者