C語言程序設計案例課堂 版權信息
- ISBN:9787302495420
- 條形碼:9787302495420 ; 978-7-302-49542-0
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
C語言程序設計案例課堂 本書特色
《C語言程序設計案例課堂》以零基礎講解為宗旨,用實例引導讀者深入學習,采取“基礎入門→核心技術→高級應用→項目開發實戰”的講解模式,深入淺出地講解C語言的各項技術及實戰技能。
《C語言程序設計案例課堂》第Ⅰ篇“基礎入門”主要講解走進C語言的世界、常量與變量、數據類型、輸入和輸出、運算符和表達式、程序流程控制結構等;第Ⅱ篇“核心技術”主要講解數組、算法與流程圖、函數與函數中變量、指針、操作文件、編譯與預處理指令、使用庫函數等;第Ⅲ篇“高級應用”主要講解位運算,結構體、共用體和枚舉,動態數據結構,數據結構進階,排序等;第Ⅳ篇“項目開發實戰”主要講解開發日歷查閱系統、開發員工信息管理系統、開發迷宮小游戲。
《C語言程序設計案例課堂》適合任何想學習C語言編程的人員,無論您是否從事計算機相關行業,無論您是否接觸過C語言,通過學習本書均可快速掌握C語言在項目開發中的知識和技巧。
C語言程序設計案例課堂 內容簡介
《C語言程序設計案例課堂》以零基礎講解為宗旨,用實例引導讀者深入學習,采取“基礎入門→核心技術→不錯應用→項目開發實戰”的講解模式,深入淺出地講解C語言的各項技術及實戰技能。《C語言程序設計案例課堂》第Ⅰ篇“基礎入門”主要講解走進C語言的世界、常量與變量、數據類型、輸入和輸出、運算符和表達式、程序流程控制結構等;第Ⅱ篇“核心技術”主要講解數組、算法與流程圖、函數與函數中變量、指針、操作文件、編譯與預處理指令、使用庫函數等;第Ⅲ篇“不錯應用”主要講解位運算,結構體、共用體和枚舉,動態數據結構,數據結構進階,排序等;第Ⅳ篇“項目開發實戰”主要講解開發日歷查閱系統、開發員工信息管理系統、開發迷宮小游戲。《C語言程序設計案例課堂》適合任何想學習C語言編程的人員,無論您是否從事計算機相關行業,無論您是否接觸過C語言,通過學習本書均可快速掌握C語言在項目開發中的知識和技巧。
C語言程序設計案例課堂 目錄
目 錄
第I篇 基礎入門
第1章 初識廬山真面目——
走進C語言的世界 3
1.1
C語言概述 4
1.1.1
C語言的發展史 4
1.1.2
C語言的特點 5
1.1.3
C語言的應用 6
1.2
C語言的常用開發環境 6
1.2.1
Visual C 6.0開發環境 7
1.2.2
Turbo C 2.0開發環境 11
1.3 編寫**個C語言程序 13
1.3.1
C語言編譯機制 13
1.3.2
在Visual C 6.0中開發C程序 13
1.3.3
在Turbo C中開發C程序 17
1.4
C語言程序的組成 19
1.4.1
C語言程序整體風貌 19
1.4.2
#include的秘密 19
1.4.3
程序的出入口——main函數 20
1.4.4
數據集裝箱——常量和變量 21
1.4.5
如何輸出程序結果——輸出函數 21
1.4.6
注釋 21
1.4.7
代碼書寫規范 22
1.5 大神解惑 23
1.6 跟我學上機 23
第2章 程序中的變與不變——常量與變量 25
2.1 標識符和關鍵字 26
2.1.1
標識符 26
2.1.2
關鍵字 26
2.2 常量 27
2.2.1
整數常量 27
2.2.2
浮點常量 28
2.2.3
字符常量 28
2.2.4
字符串常量 30
2.2.5
符號常量 30
2.3 變量 31
2.3.1
變量的定義 32
2.3.2
變量的聲明 32
2.3.3
變量的初始化與賦值 33
2.3.4
變量的分類 34
2.4 綜合案例——處理學生的期末成績 38
2.5 大神解惑 40
2.6 跟我學上機 40
第3章 程序中的數據種類——數據類型 41
3.1 數制 42
3.1.1
二進制 42
3.1.2
八進制 42
3.1.3
十六進制 42
3.1.4
數制間的轉換 42
3.2 整型數據 45
3.2.1
整型數據的存放形式 46
3.2.2
整型變量的溢出 47
3.3 浮點型數據 48
3.3.1
浮點型數據的存放形式 48
3.3.2
有效數字 49
3.4 字符型數據 50
3.5 數據類型的轉換 50
3.5.1
隱式轉換 50
3.5.2
顯式轉換 52
3.6 綜合案例——各種進制的轉換 53
3.7 大神解惑 55
3.8 跟我學上機 55
第4章 用戶與計算機的交互——輸入和輸出 57
4.1 標準輸入輸出 58
4.2 格式化輸入輸出 58
4.2.1
格式化輸出函數 59
4.2.2
格式化輸入函數 62
4.3 字符輸入輸出 65
4.3.1
字符的輸出函數 65
4.3.2
字符的輸入函數 66
4.4 字符串的輸入輸出 67
4.4.1
字符串的輸出函數 67
4.4.2
字符串的輸入函數 68
4.5 綜合案例——輸入和輸出的綜合應用 69
4.6 大神解惑 70
4.7 跟我學上機 70
第5章 誰來操作數據——運算符和表達式 71
5.1 運算符 72
5.1.1
運算符的分類 72
5.1.2
運算符的優先級和結合性 72
5.2 表達式 73
5.3 運算符與表達式 74
5.3.1
算術運算符與算術表達式 74
5.3.2
賦值運算符與賦值表達式 77
5.3.3
關系運算符與關系表達式 79
5.3.4
邏輯運算符與邏輯表達式 81
5.3.5
位運算符與位運算表達式 83
5.3.6
條件運算符與條件表達式 85
5.3.7
逗號運算符與逗號表達式 86
5.4 語句 87
5.4.1
表達式語句 87
5.4.2
函數調用語句 87
5.4.3
控制語句 88
5.4.4
復合語句 88
5.4.5
空語句 88
5.5 綜合案例——關系運算符的應用 89
5.6 大神解惑 89
5.7 跟我學上機 90
第6章 程序的執行方向——程序流程控制結構 91
6.1 順序結構 92
6.2 選擇結構 93
6.2.1
if語句 93
6.2.2
if…else語句 94
6.2.3
選擇嵌套語句 95
6.2.4
switch分支結構語句 99
6.3 循環結構 101
6.3.1
while語句 101
6.3.2
do…while語句 102
6.3.3
for語句 103
6.3.4
循環語句的嵌套 105
6.4 跳轉語句 106
6.4.1
break語句 106
6.4.2
continue語句 107
6.4.3
goto語句 108
6.5 綜合案例——制作簡易計算器 109
6.6 大神解惑 111
6.7 跟我學上機 112
第Ⅱ篇 核心技術
第7章 特殊的元素集合——數組 115
7.1 數組概述 116
7.2 一維數組 116
7.2.1
一維數組的定義 116
7.2.2
一維數組的引用 118
7.2.3
一維數組的初始化 119
7.2.4
程序實例 121
7.3 二維數組 123
7.3.1
二維數組的定義 123
7.3.2
二維數組的引用 124
7.3.3
二維數組的初始化 125
7.3.4
多維數組 127
7.3.5
程序實例 128
7.4 字符數組 131
7.4.1
字符數組的定義和初始化 131
7.4.2
字符串和字符數組 133
7.4.3
字符數組的輸出與輸入 134
7.4.4
字符串處理函數 137
7.5 綜合案例——矩陣的乘法 141
7.6 大神解惑 143
7.7 跟我學上機 143
第8章 程序描述——算法與流程圖 145
8.1 算法概述 146
8.1.1
算法的概念 146
8.1.2
算法的特性 146
8.1.3
算法的優劣 147
8.2 流程圖簡介 148
8.2.1
傳統流程圖 148
8.2.2
N-S流程圖 150
8.3 算法的表示 150
8.3.1
自然語言表示法 150
8.3.2
流程圖表示法 152
8.3.3
N-S流程圖表示法 156
8.3.4
偽代碼表示法 159
8.3.5
計算機語言表示法 162
8.4 結構化程序設計方法 163
8.5 綜合案例——求解一元二次方程的根 163
8.6 大神解惑 166
8.7 跟我學上機 166
第9章 C語言靈魂——函數與函數中變量 167
9.1 函數概述 168
9.1.1
函數的概念 168
9.1.2
函數的分類 169
9.1.3
函數的聲明與定義 171
9.2 函數的返回語句 174
9.2.1
函數的返回值 175
9.2.2
函數的結束標志 176
9.2.3
函數的返回值類型 177
9.3 函數的參數 178
9.3.1
形式參數與實際參數 178
9.3.2
參數的傳遞方式 179
9.4 函數的調用 182
9.4.1
函數調用的方式 182
9.4.2
函數的嵌套調用 185
9.4.3
函數的遞歸調用 188
9.5 內部函數與外部函數 192
9.5.1
內部函數 192
9.5.2
外部函數 193
9.6
main()函數的參數 195
9.7 局部變量和全局變量 196
9.7.1
局部變量 196
9.7.2
全局變量 198
9.8 變量的存儲類別 202
9.8.1
動態存儲與靜態存儲 203
9.8.2
自動變量 203
9.8.3
靜態變量 205
9.8.4
寄存器變量 209
9.8.5
外部變量 210
9.9 綜合案例——求解非線性方程 212
9.10
大神解惑 215
9.11
跟我學上機 217
第10章 靈活調用內存地址——指針 219
10.1
指針概述 220
10.1.1
地址與指針 220
10.1.2
指針變量 221
10.1.3
指針變量的引用 223
10.2
指針與函數 226
10.2.1
指針變量作為函數參數 226
10.2.2
函數返回指針 229
10.2.3
指向函數的指針 231
10.3
指針與數組 233
10.3.1
數組元素的指針 234
10.3.2
指針的運算 234
10.3.3
通過指針引用數組元素 235
10.3.4
指向數組的指針變量作為函數參數 238
10.3.5
通過指針對多維數組進行引用 244
10.4
指針與字符串 250
10.4.1
字符指針 250
10.4.2
使用字符指針作函數參數 253
10.4.3
字符數組與字符指針變量的區別 256
10.5
指針數組和多重指針 258
10.5.1
指針數組 258
10.5.2
指向指針的指針 262
10.6
綜合案例——使用指針操作數組 267
10.7
大神解惑 272
10.8
跟我學上機 275
第11章 數據存儲——操作文件 277
11.1
文件概述 278
11.1.1
文件類型 278
11.1.2
文件指針 279
11.1.3
文件的緩沖區 280
11.2
文件的打開與關閉 281
11.2.1
文件的打開 281
11.2.2
文件的關閉 282
11.3
文件的讀寫 283
11.3.1
字符的讀寫 283
11.3.2
字符串的讀寫 287
11.3.3
數據塊的讀寫 291
11.3.4
格式化讀寫函數 295
11.4
文件定位與文件的隨機讀寫 298
11.4.1
文件頭定位函數rewind() 299
11.4.2
當前讀寫位置函數ftell() 300
11.4.3
隨機定位函數fseek() 301
11.5
文件檢測函數 304
11.5.1
文件結束判斷函數feof() 304
11.5.2
文件讀寫錯誤檢測函數ferror() 305
11.5.3
文件錯誤標志清除函數clearerr() 307
11.6
綜合案例——文件的綜合操作 308
11.7
大神解惑 316
11.8
跟我學上機 316
第12章 未雨綢繆——編譯與預處理指令 317
12.1
預處理指令 318
12.2
宏定義 318
12.2.1
變量式宏定義 318
12.2.2
宏定義的嵌套 321
12.2.3
宏定義的作用范圍 322
12.2.4
帶參數的宏定義 323
12.2.5
宏定義的多行表示 327
12.3
文件包含 327
12.4
條件編譯 329
12.4.1
條件編譯命令 329
12.4.2
調試中使用DEBUG宏 332
12.4.3
文件的嵌套包含與條件編譯 333
12.5
綜合案例——求解圓、矩形以及三角形的面積 334
12.6
大神解惑 335
12.7
跟我學上機 335
第13章 提高開發效率——使用庫函數 337
13.1
標準C庫函數 338
13.2
數學函數“math.h” 338
13.2.1
求冪函數與開平方函數 338
13.2.2
指數函數與對數函數 339
13.2.3
三角函數 340
13.2.4
絕對值函數 341
13.2.5
取整函數與取余函數 342
13.3
字符串函數“string.h” 343
13.3.1
字符串長度函數 343
13.3.2
字符串連接函數 344
13.3.3
字符串復制函數 345
13.3.4
字符串大小寫轉換函數 346
13.3.5
字符串查找函數 347
13.3.6
字符串比較函數 348
13.4
字符函數“ctype.h” 349
13.4.1
字符的類型判斷函數 349
13.4.2
字符大小寫轉換函數 351
13.5
其他函數 352
13.5.1
隨機函數 352
13.5.2
日期時間函數 353
13.5.3
結束程序函數 354
13.6
綜合案例——創建報數游戲 355
13.7
大神解惑 356
13.8
跟我學上機 357
第III篇 高級應用
第14章 內部數據操作——位運算 361
14.1
位(bit)與字節(byte)的關系 362
14.2
位運算符 362
14.2.1
按位與運算符(&) 362
14.2.2
按位或運算符(|) 363
14.2.3
按位異或運算符(^) 364
14.2.4
按位取反運算符(~) 365
14.2.5
左移運算符(
14.2.6
右移運算符(>>) 367
14.2.7
位復合賦值運算符 368
14.3
循環移位 368
14.3.1
循環左移 369
14.3.2
循環右移 370
14.4
位段 371
14.4.1
位段的定義 371
14.4.2
位段中數據的引用 371
14.5
綜合案例——將十進制數轉換為二進制數 373
14.6
大神解惑 374
14.7
跟我學上機 375
第15章 靈活定義數據類型——結構體、共用體和枚舉 377
15.1
結構體概述 378
15.1.1
結構體類型 378
15.1.2
定義結構體變量 379
15.1.3
初始化結構體變量 381
15.1.4
結構體變量的引用 381
15.2
結構體數組 383
15.2.1
定義結構體數組 383
15.2.2
結構體數組的初始化 384
15.2.3
結構體數組元素的引用 385
15.2.4
結構體數組應用實例 386
15.3
結構體指針 388
15.3.1
指向結構體變量的指針 388
15.3.2
指向結構體數組的指針 390
15.3.3
結構體變量作為函數參數 391
15.3.4
指向結構體變量的指針作為函數參數 393
15.3.5
結構體作為函數的返回值 394
15.4
共用體 395
15.4.1
共用體的定義 395
15.4.2
共用體變量的定義 396
15.4.3
共用體變量的初始化以及引用 397
15.5
枚舉 399
15.5.1
定義枚舉類型 400
15.5.2
定義枚舉類型變量 400
15.6
綜合案例——創建學生信息結構體 402
15.7
大神解惑 403
15.8
跟我學上機 404
第16章 動態存儲分配——
動態數據結構 405
16.1
動態存儲分配概述 406
16.1.1
malloc()函數 406
16.1.2
calloc()函數 407
16.1.3
realloc()函數 408
16.1.4
free()函數 409
16.2
鏈表概述 410
16.2.1
鏈表結點的定義 411
16.2.2
鏈表的建立 411
16.2.3
鏈表的遍歷 412
16.2.4
鏈表結點的插入 413
16.2.5
鏈表結點的刪除 417
16.3
綜合案例——綜合應用鏈表 420
16.4
大神解惑 421
16.5
跟我學上機 422
第17章 邏輯結構——
數據結構進階 423
17.1
數據結構概述 424
17.2
線性表 425
17.3
棧 426
17.3.1
棧的基本操作 427
17.3.2
順序棧 427
17.3.3
鏈式棧 429
17.4
隊列 431
17.4.1
隊列的基本運算 432
17.4.2
順序隊列 432
17.4.3
鏈式隊列 436
17.5
二叉樹 441
17.5.1
二叉樹的定義 441
17.5.2
二叉樹的遍歷 442
17.6
查找 442
17.6.1
順序查找 442
17.6.2
折半查找 444
17.7
綜合案例——使用棧轉換數據的進制 446
17.8
大神解惑 447
17.9
跟我學上機 448
第18章 整理數據的妙招——排序 449
18.1
排序概述 450
18.2
插入排序 450
18.2.1
直接插入排序 450
18.2.2
希爾排序 452
18.3
選擇排序 453
18.3.1
簡單選擇排序 453
18.3.2
堆排序 455
18.4
交換排序 457
18.4.1
冒泡排序 457
18.4.2
快速排序 458
18.5
歸并排序 460
18.6
基數排序 462
18.7
大神解惑 464
18.8
跟我學上機 465
第IV篇 項目開發實戰
第19章 項目實訓1——開發日歷查閱系統 469
19.1
需求分析 470
19.2
功能分析 470
19.3
開發前準備工作 472
19.4
系統代碼編寫 476
19.4.1
查詢年歷函數showCalendarOfYear() 476
19.4.2
查詢月歷函數showCalendarOfMonth() 477
19.4.3
日期查詢模塊 478
19.5
系統運行 485
19.6
項目總結 486
第20章 項目實訓2—— 開發員工信息管理系統 487
20.1
需求分析 488
20.2
功能分析 489
20.3
開發前準備工作 490
20.4
系統代碼編寫 491
20.4.1
main.c文件 491
20.4.2
employee.c文件 495
20.5
系統運行 499
20.6
項目總結 500
第21章 項目實訓3——開發迷宮小游戲 501
21.1
需求分析 502
21.2
功能分析 502
21.3
開發前準備工作 504
21.4
系統代碼編寫 505
21.4.1
main.c文件 505
21.4.2
mazeGame.c文件 507
21.5
系統運行 513
21.6
項目總結 514
展開全部
C語言程序設計案例課堂 作者簡介
劉春茂,本科畢業于上海復旦大學,碩士畢業于清華大學。曾在美國IBM公司移動產品開發組從事Android平臺應用的開發。
擅長的核心技術
媒體和教育領域個性化信息推薦,網站用戶行為數據挖掘,健康領域非結構化數據處理。
擅長的其他技術
熟悉各種網站和手機(Andorid和iOS)app的開發等,精通Java, C/C , PHP, Python等流行語言并對Hadoop, MapReduce等大數據框架有深入研究。