買這商品的人也買了...
-
$352Android 嵌入式系統程序開發-基於 Cortex-A8
-
$30521 天學通 Java(第3版)
-
$229嵌入式 Linux 開發實用教程
-
$250黑客攻防-Web 安全實戰詳解
相關主題
商品描述
<內容簡介>
《21天學通C語言(附光盤第3版)∕21天學編程系列》是C語言的入門教程,針對沒有程序設計基礎的讀者,詳細介紹了C語言的基本概念和編程技術。本書分為8篇,共21章內容。第一篇為C語言入門篇,該篇介紹了C語言程序的特點及編程的準備。第二篇為C語言基礎篇,該篇介紹了常量與變量、整型、字符型、浮點型,以及表達式與操作符等內容。第三篇為結構編程篇,該篇講解了選擇結構和循環結構兩種常用的程序結構。第四篇為數組和字符串篇,該篇講解了C語言中數組和字符串的應用。第五篇為函數篇,該篇主要內容包括函數、函數與文件、函數中的變量和字符串處理函數等。第六篇為指針篇,該篇介紹了指針的重要概念和應用。第七篇為高級應用篇,該篇內容主要包括堆管理、位運算操作符、結構體、共享體、枚舉和位域,以及預處理等。第八篇為綜合案例篇,該篇以圖書管理系統開發為例,詳細介紹了C語言和文件處理開發的過程。
<目錄>
第一篇 C語言入門篇
第1章 C語言與程序概述( 教學視頻:38分鐘) 1
1.1 C語言的歷史沿革 1
1.1.1 C語言的誕生 1
1.1.2 C語言的發展歷程 2
1.1.3 C語言的特點 2
1.1.4 第一個C程序——Hello, world! 3
1.2 數據結構與演算法 4
1.2.1 什麼是數據結構 4
1.2.2 什麼是演算法 6
1.3 程序設計概述 7
1.3.1 結構化程序設計 7
1.3.2 三種基本結構 8
1.3.3 演算法描述方法 9
1.4 小結 11
1.5 習題 11
第2章 C語言編程準備( 教學視頻:43分鐘) 14
2.1 C程序簡介 14
2.1.1 簡單C程序示例 14
2.1.2 C程序的特點 15
2.1.3 標識符與關鍵字 16
2.1.4 C程序的執行步驟 17
2.2 C程序開發環境 17
2.2.1 Turbo C 18
2.2.2 Visual C++ 2005 20
2.2.3 GCC 3.2.2 21
2.3 小結 22
2.4 習題 22
第二篇 C語言基礎篇
第3章 常量與變量( 教學視頻:39分鐘) 25
3.1 常量和變量概述 25
3.1.1 常量 25
3.1.2 變量 26
3.2 變量的使用 27
3.2.1 聲明變量 27
3.2.2 定義變量 28
3.2.3 使用extern聲明變量 28
3.2.4 變量賦值及初始化 29
3.2.5 地址操作符和指針操作符 30
3.3 格式化輸入/輸出 31
3.3.1 標準輸出函數——printf函數 32
3.3.2 標準輸入函數——scanf函數 32
3.4 數據類型簡介 33
3.5 小結 34
3.6 習題 34
第4章 基本數據類型( 教學視頻:42分鐘) 37
4.1 整型數據類型 37
4.1.1 字節長度 37
4.1.2 符號修飾符 38
4.1.3 整型常量 38
4.1.4 整型變量 39
4.1.5 存儲方式 40
4.1.6 數值範圍 41
4.2 字符型數據類型 44
4.2.1 字節長度 44
4.2.2 字符常量 44
4.2.3 字符變量 46
4.2.4 存儲方式 47
4.3 浮點型數據類型 47
4.3.1 字節長度 47
4.3.2 浮點型常量 48
4.3.3 浮點型變量 48
4.3.4 精度 49
4.3.5 數值範圍 50
4.3.6 存儲方式 51
4.4 用戶自定義類型 53
4.4.1 typedef的標準形式 53
4.4.2 合理使用typedef 54
4.5 限定詞const與volatile 55
4.5.1 使用const 55
4.5.2 使用volatile 56
4.6 小結 57
4.7 習題 57
第5章 表達式與操作符( 教學視頻:47分鐘) 61
5.1 表達式和語句 61
5.1.1 表達式 61
5.1.2 語句 63
5.1.3 複合語句 63
5.1.4 C語言的操作符 65
5.2 賦值操作符與賦值表達式 66
5.2.1 賦值操作符 66
5.2.2 賦值操作符的結合性 66
5.2.3 左值和右值 67
5.2.4 隱式類型轉換 68
5.2.5 強制類型轉換 69
5.3 運算操作符與運算表達式 71
5.3.1 運算操作符 71
5.3.2 符號操作符 72
5.3.3 優先級與結合性 73
5.3.4 數值運算中的類型轉換 75
5.3.5 複合賦值操作符 76
5.4 自增、自減操作符 77
5.4.1 自增操作符 78
5.4.2 自減操作符 79
5.4.3 優先級與結合性 80
5.4.4 自增、自減操作符的編譯過程 81
5.4.5 註意事項 83
5.5 關係操作符與關係表達式 84
5.5.1 關係操作符 84
5.5.2 關係表達式的值 86
5.5.3 優先級與結合性 87
5.6 邏輯操作符與邏輯表達式 88
5.6.1 邏輯操作符 88
5.6.2 邏輯表達式的值 89
5.6.3 優先級和結合性 89
5.6.4 邏輯表達式 90
5.7 逗號操作符與逗號表達式 91
5.7.1 逗號操作符 91
5.7.2 逗號表達式的值 92
5.8 操作符優先級和結合性 92
5.8.1 優先級和結合性 92
5.8.2 優先級的改變 94
5.8.3 註意事項 96
5.9 小結 97
5.10 習題 97
第三篇 結構編程篇
第6章 選擇結構( 教學視頻:40分鐘) 101
6.1 if語句 101
6.1.1 if語句的基本形式 101
6.1.2 else和if的配對使用 104
6.1.3 選擇結構中的不平等分支 105
6.1.4 條件表達式中的=與== 106
6.2 switch語句 107
6.2.1 switch語句的基本形式 107
6.2.2 break語句 108
6.2.3 else if語句和switch語句 110
6.2.4 switch中的標號 111
6.2.5 使用具名常量組成標號 113
6.3 條件操作符與條件表達式 114
6.3.1 條件操作符的基本形式 114
6.3.2 條件表達式與if-else 115
6.3.3 條件表達式中的類型轉換 115
6.3.4 條件表達式的嵌套 116
6.4 邏輯表達式的隱式選擇 116
6.4.1 邏輯表達式的特點 117
6.4.2 隱式選擇的作用 117
6.4.3 巧用隱式選擇 119
6.5 小結 120
6.6 習題 120
第7章 循環結構( 教學視頻:43分鐘) 142
7.1 for語句 124
7.1.1 for語句的基本形式 124
7.1.2 for頭中的三個表達式 124
7.1.3 for頭中的逗號表達式 126
7.1.4 for語句的嵌套 127
7.1.5 for語句示例 127
7.2 while語句 129
7.2.1 while語句的基本形式 129
7.2.2 while語句與for語句 130
7.2.3 while語句示例 131
7.3 do-while語句 133
7.3.1 do-while語句的基本形式 133
7.3.2 do-while語句與while語句 133
7.3.3 do-while語句示例 134
7.4 continue語句與break語句 136
7.4.1 continue語句 136
7.4.2 continue語句與if語句 137
7.4.3 break語句 138
7.4.4 使用break語句終止多層循環 138
7.5 goto語句 140
7.5.1 goto語句的基本形式 140
7.5.2 使用goto語句構成循環 140
7.5.3 註意事項 141
7.6 循環結構與選擇結構的嵌套 144
7.6.1 if-while與while-if 144
7.6.2 使用選擇結構包含循環結構 144
7.7 小結 146
7.8 習題 146
第四篇 數組和字符串篇
第8章 數組( 教學視頻:45分鐘) 149
8.1 一維數組 149
8.1.1 定義一維數組 149
8.1.2 訪問一維數組元素 150
8.1.3 初始化一維數組 151
8.1.4 數組的存儲形式 153
8.1.5 註意事項 154
8.1.6 一維數組示例 156
8.2 二維數組 158
8.2.1 定義二維數組 158
8.2.2 訪問二維數組元素 158
8.2.3 二維數組的存儲方式 160
8.2.4 初始化二維數組 160
8.2.5 二維數組示例 162
8.3 多維數組 164
8.3.1 定義多維數組 164
8.3.2 多維數組示例 164
8.4 小結 165
8.5 習題 166
第9章 字符串( 教學視頻:40分鐘) 170
9.1 字符數組 170
9.1.1 字符數組的定義 170
9.1.2 字符數組的初始化 172
9.1.3 二維字符數組 172
9.1.4 字符數組示例 174
9.2 字符串類型 176
9.2.1 字符串常量 177
9.2.2 字符串變量 178
9.2.3 格式化輸出字符串 179
9.2.4 格式化輸入字符串 180
9.3 字符串應用示例 181
9.3.1 取字符串長度 181
9.3.2 統計單詞數 182
9.3.3 顛倒單詞順序 183
9.3.4 改進的顛倒單詞順序實現 184
9.4 小結 186
9.5 習題 187
第五篇 函數篇
第10章 函數( 教學視頻:40分鐘) 191
10.1 函數概述 191
10.1.1 模塊化編程 191
10.1.2 定義函數 194
10.1.3 調用函數 195
10.1.4 函數使用示例 196
10.1.5 改進的算術運算函數 197
10.2 函數聲明 198
10.2.1 聲明的形式 199
10.2.2 聲明與定義 199
10.3 函數值與形參列表 200
10.3.1 函數值類型 200
10.3.2 形參列表 202
10.3.3 函數返回值 203
10.3.4 const形參 206
10.4 函數體 207
10.4.1 函數體的變量定義 207
10.4.2 檢查形參 208
10.4.3 return語句 209
10.5 main函數 210
10.5.1 main函數的聲明 211
10.5.2 函數值類型 211
10.5.3 帶參數的main函數 212
10.6 小結 214
10.7 習題 214
第11章 函數與文件( 教學視頻:31分鐘) 220
11.1 多文件的程序 220
11.1.1 文件的類型 220
11.1.2 C工程的組織結構 221
11.1.3 一個簡單的多文件工程 222
11.2 實現多文件工程 224
11.2.1 Turbo C下實現多文件工程 224
11.2.2 Visual C++ 2005下實現多文件工程 224
11.2.3 GCC 3.2.2下實現多文件工程 225
11.3 函數的調用 225
11.3.1 嵌套調用 225
11.3.2 遞歸調用 226
11.3.3 遞歸調用示例 228
11.4 外部函數與內部函數 231
11.4.1 外部函數 231
11.4.2 內部函數 232
11.4.3 應用示例 233
11.5 小結 235
11.6 習題 235
第12章 函數中的變量( 教學視頻:35分鐘) 239
12.1 生存期和作用域 239
12.1.1 變量的生存期 239
12.1.2 變量的作用域 240
12.2 局部變量和全局變量 242
12.2.1 局部變量 242
12.2.2 全局變量 244
12.2.3 初始化全局變量 245
12.2.4 合理使用全局變量 246
12.2.5 註意事項 248
12.3 變量的存儲類別 250
12.3.1 內存存儲區 250
12.3.2 auto變量 251
12.3.3 static變量 252
12.3.4 register變量 254
12.3.5 extern變量 254
12.4 小結 255
12.5 習題 256
第13章 字符串處理函數( 教學視頻:36分鐘) 259
13.1 輸入/輸出函數 259
13.1.1 字符輸入/輸出函數 259
13.1.2 字符串輸入/輸出函數 260
13.2 複製和拼接函數 261
13.2.1 字符串複製函數 261
13.2.2 字符串拼接函數 263
13.3 比較和轉換函數 264
13.3.1 字符串比較函數 264
13.3.2 字符串轉換函數 266
13.4 小結 267
13.5 習題 267
第六篇 指針篇
第14章 指針( 教學視頻:42分鐘) 270
14.1 指針概述 270
14.1.1 訪問內存的兩種方式 270
14.1.2 指針的概念 271
14.1.3 指針變量的定義 271
14.2 指針的使用 272
14.2.1 指針變量的賦值 272
14.2.2 將指針變量賦值為整數 275
14.2.3 初始化指針變量 276
14.2.4 const指針 277
14.3 指針與函數 277
14.3.1 指針形參 278
14.3.2 指針型函數 280
14.3.3 函數型指針 281
14.4 void型指針 282
14.5 小結 283
14.6 習題 284
第15章 再論指針( 教學視頻:38分鐘) 287
15.1 指針與數組 287
15.1.1 指向數組元素的指針 287
15.1.2 指針訪問數組 287
15.1.3 數組指針和數組變量 289
15.1.4 數組指針作為函數形參 291
15.1.5 調用含數組形參的函數 292
15.2 指針與二維數組 293
15.2.1 二維數組的地址 293
15.2.2 指針法訪問二維數組 296
15.2.3 二維數組形參 297
15.3 指針與字符 301
15.3.1 字符指針 301
15.3.2 字符指針應用示例 303
15.3.3 字符指針數組 304
15.4 小結 306
15.5 習題 306
第七篇 高級應用篇
第16章 堆管理( 教學視頻:41分鐘) 310
16.1 動態內存管理 310
16.1.1 分配內存空間 310
16.1.2 釋放內存空間 311
16.2 其他分配函數 312
16.2.1 calloc函數 312
16.2.2 realloc函數 313
16.3 動態數組 314
16.4 小結 316
16.5 習題 316
第17章 位運算操作符( 教學視頻:37分鐘) 319
17.1 位運算概述 319
17.2 位運算操作符 320
17.2.1 取反操作符(~) 320
17.2.2 位或操作符(|) 321
17.2.3 位與操作符(&) 323
17.2.4 異或操作符(^) 325
17.2.5 右移操作符(>>) 327
17.2.6 左移操作符(<<) 328
17.2.7 位運算賦值操作符 330
17.3 位運算操作符使用示例 330
17.3.1 循環移位 331
17.3.2 使用子網掩碼 332
17.4 小結 333
17.5 習題 333
第18章 結構體( 教學視頻:46分鐘) 336
18.1 初識結構體 336
18.1.1 聲明結構體類型 336
18.1.2 定義結構體變量 337
18.1.3 結構體的存儲形式 338
18.2 結構體的應用 340
18.2.1 訪問結構體成員 340
18.2.2 初始化結構體變量 341
18.2.3 結構體變量的賦值 342
18.3 結構體數組 344
18.3.1 定義結構體數組 344
18.3.2 初始化結構體數組 345
18.3.3 結構體數組示例 346
18.4 結構體指針 347
18.4.1 指向結構體變量的指針 347
18.4.2 指向堆空間的結構體指針 348
18.4.3 指向結構體數組元素的指針 349
18.5 小結 350
18.6 習題 350
第19章 共享體、枚舉和位域( 教學視頻:37分鐘) 354
19.1 共享體 354
19.1.1 聲明共享體類型 354
19.1.2 定義共享體變量 355
19.2 枚舉 356
19.2.1 聲明枚舉類型 356
19.2.2 使用枚舉變量 358
19.3 位域 360
19.3.1 位域的概念 360
19.3.2 位域的字長 360
19.3.3 位域的存儲形式 362
19.4 小結 363
19.5 習題 364
第20章 預處理( 教學視頻:43分鐘) 367
20.1 宏定義 367
20.2 宏對象 368
20.2.1 定義宏對象 368
20.2.2 替換字符串 369
20.2.3 說明形參屬性 371
20.2.4 宏的作用域 371
20.2.5 標準宏對象 372
20.3 宏函數 372
20.3.1 定義宏函數 372
20.3.2 宏函數與函數 373
20.4 條件編譯 375
20.4.1 #ifdef命令 375
20.4.2 #ifndef命令 377
20.4.3 #if命令 378
20.4.4 defined宏函數 379
20.5 文件包含 380
20.5.1 #include命令 380
20.5.2 註意事項 381
20.6 小結 382
20.7 習題 382
第八篇 綜合案例篇
第21章 圖書管理系統開發實例( 教學視頻:37分鐘) 385
21.1 需求分析 385
21.2 系統設計 385
21.2.1 概要設計 385
21.2.2 數據結構 386
21.3 主程序——main模塊 387
21.4 用戶界面模塊 388
21.4.1 程序流程 388
21.4.2 代碼實現 388
21.4.3 設計主界面 389
21.4.4 設計增加書籍菜單 390
21.4.5 設計刪除書籍菜單 391
21.4.6 設計檢索書籍菜單 392
21.4.7 設計導入書籍菜單 392
21.4.8 退出系統 393
21.5 日誌模塊 393
21.5.1 打開和關閉文件 393
21.5.2 文件的格式化讀寫 393
21.5.3 打開和關閉日誌文件 394
21.5.4 記錄日誌 394
21.6 數據管理模塊 395
21.6.1 處理時間數據 395
21.6.2 處理書籍數據 396
21.6.3 增加書籍 398
21.6.4 刪除書籍 398
21.6.5 查詢書籍 399
21.6.6 導入書籍數據 399
21.7 小結 400