內容簡介
全書以Visual C++ 6.0開發環境為基礎,分3篇18章講解了C語言編程中的各種技術。其中,第1篇為入門篇,主要包括初識C語言、一個簡單的C語言程式、算法入門、常用數據類型、運算符與表達式、數據輸入/輸出函式、選擇及分支結構程式設計、循環結構、數組、函式編程基礎、指針解析等內容;第2篇為提高篇,主要包括常用數據結構、位運算、存儲管理、預處理和函式類型、檔案的讀寫操作、圖形圖像處理等內容;第3篇為套用篇,主要利用所學知識開發一個圖書管理系統。 本書提供了大量的自學視頻、源程式、素材,提供了相關的模組庫、案例庫、素材庫、題庫等多種形式輔助學習資料。 本書內容詳盡、實例豐富,非常適合作為零基礎學習人員的學習用書和大中專院校師生的學習教材,也適合作為相關培訓機構的師生和軟體開發人員的參考資料。
圖書目錄
第1篇 入門篇
第1章 初識C語言
( 自學視頻、源程式:
配套資源\mr\1\) 2
1.1 程式語言的發展 3
1.1.1 機器語言 3
1.1.2 彙編語言 3
1.1.3 高級語言 4
1.2 C語言的歷史 5
1.2.1 C語言的產生 5
1.2.2 C程式的特點 6
1.2.3 C語言的發展趨勢 6
1.2.4 C語言的套用領域 7
1.2.5 如何學好C語言 7
1.3 本章小結 8
1.4 技能專項測試 8
1.5 實戰模擬 10
第2章 一個簡單的C語言程式
( 自學視頻、源程式:
配套資源\mr\2\) 11
2.1 一個簡單的例子 12
上機演練 15
2.2 認識C語言程式 16
2.2.1 認識C語言程式的開發
環境 16
上機演練 23
2.2.2 認識標識符 23
2.2.3 認識關鍵字 25
2.2.4 認識注釋 26
2.2.5 認識變數 27
2.3 編譯錯誤信息 27
2.3.1 嚴重錯誤信息及分析 27
2.3.2 一般錯誤信息及分析 27
2.3.3 警告信息及分析 34
2.4 提高程式的可讀性 35
2.5 本章小結 36
2.6 技能專項測試 36
2.7 實戰模擬 38
第3章 算法入門
( 自學視頻、源程式:
配套資源\mr\3\) 39
3.1 算法 40
3.1.1 什麼是算法 40
3.1.2 算法的特性 40
3.1.3 算法的好壞 41
3.2 算法的描述 42
3.2.1 自然語言 42
3.2.2 流程圖 42
3.2.3 3種基本結構 43
3.2.4 N-S流程圖 46
3.2.5 偽代碼 50
3.3 本章小結 50
3.4 技能專項測試 51
3.5 實戰模擬 52
第4章 常用數據類型
( 自學視頻、源程式:
配套資源\mr\4\) 53
4.1 數據類型 54
4.1.1 什麼是數據類型 54
4.1.2 數據類型的分類 54
4.2 常量 55
4.2.1 整型常量 55
4.2.2 實型常量 57
4.2.3 字元型常量 58
4.2.4 符號常量 64
上機演練 65
4.3 變數 66
4.3.1 整型變數 66
4.3.2 實型變數 69
4.3.3 字元型變數 72
上機演練 74
4.4 變數的存儲類別 74
4.4.1 動態存儲與靜態存儲 74
4.4.2 auto變數 75
4.4.3 static變數 76
4.4.4 register變數 78
4.4.5 extern變數 79
4.5 混合運算 79
4.6 本章小結 81
4.7 技能專項測試 81
4.8 實戰模擬 83
第5章 運算符與表達式
( 自學視頻、源程式:
配套資源\mr\5\) 84
5.1 表達式 85
5.2 賦值運算符與賦值表達式 87
5.2.1 變數賦初值 87
5.2.2 自動類型轉換 88
5.2.3 強制類型轉換 89
5.3 算術運算符與表達式 90
5.3.1 算術運算符 91
5.3.2 算術表達式 91
5.3.3 優先權與結合性 92
5.3.4 自增自減運算符 94
上機演練 96
5.4 關係運算符與表達式 96
5.4.1 關係運算符 96
5.4.2 關係表達式 97
5.4.3 優先權與結合性 97
5.5 邏輯運算符與表達式 99
5.5.1 邏輯運算符 99
5.5.2 邏輯表達式 99
5.5.3 優先權與結合性 101
上機演練 101
5.6 位邏輯運算符與表達式 102
5.6.1 位邏輯運算符 102
5.6.2 位邏輯表達式 102
5.7 逗號運算符與表達式 103
5.8 條件運算符與表達式 104
5.9 複合賦值運算符 105
5.10 本章小結 106
5.11 技能專項測試 107
5.12 實戰模擬 109
第6章 數據輸入/輸出函式
( 自學視頻、源程式:
配套資源\mr\6\) 110
6.1 語句 111
6.1.1 表達式語句 111
6.1.2 函式調用語句 111
6.1.3 空語句 112
6.1.4 控制語句 113
6.1.5 複合語句 113
6.2 字元數據輸入/輸出 114
6.2.1 字元數據輸出 114
6.2.2 字元數據輸入 115
6.3 字元串輸入/輸出 117
6.3.1 字元串輸出函式 117
6.3.2 字元串輸入函式 118
6.4 格式輸出函式 119
6.5 格式輸入函式 123
6.6 順序程式設計套用 126
上機演練 128
6.7 本章小結 128
6.8 技能專項測試 129
6.9 實戰模擬 131
第7章 選擇及分支結構程式設計
( 自學視頻、源程式:
配套資源\mr\7\) 132
7.1 if語句 133
7.2 if語句的基本形式 133
7.2.1 if語句形式 133
7.2.2 if…else語句形式 136
7.2.3 else if語句形式 139
上機演練 142
7.3 if的嵌套形式 142
7.4 switch語句 145
7.4.1 switch語句的基本形式 145
7.4.2 多路開關模式的switch
語句 149
7.5 if…else語句和switch語句的
區別 151
7.6 選擇結構程式套用 153
7.7 本章小結 154
7.8 技能專項測試 155
7.9 實戰模擬 158
第8章 循環結構
( 自學視頻、源程式:
配套資源\mr\8\) 159
8.1 循環語句 160
8.2 while型循環 160
8.2.1 while語句的一般形式 161
8.2.2 while語句的死循環 164
8.2.3 while語句的空循環體 165
8.2.4 while循環語句的常見
錯誤 165
上機演練 166
8.3 do…while型循環 167
8.4 for型循環 169
8.4.1 for循環語句的一般形式 169
8.4.2 靈活多變的for循環語句 172
8.4.3 套用for語句中的逗號 174
上機演練 175
8.5 比較3種循環 176
8.6 運用循環嵌套 176
8.6.1 各種結構的循環嵌套 176
8.6.2 循環嵌套實例 178
上機演練 179
8.7 轉移語句 179
8.7.1 goto語句 180
8.7.2 break語句 182
8.7.3 continue語句 183
上機演練 183
8.7.4 區別3種跳轉語句 184
8.8 本章小結 184
8.9 技能專項測試 185
8.10 實戰模擬 188
第9章 數組
( 自學視頻、源程式:
配套資源\mr\9\) 189
9.1 數組的概念 190
9.1.1 數組的分類 190
9.1.2 數組的維數 191
9.2 一維數組 191
9.2.1 一維數組的定義 191
9.2.2 一維數組的引用 193
9.2.3 一維數組的初始化 194
9.2.4 一維數組的套用 196
9.2.5 一維數組的注意事項 198
9.3 二維數組 198
9.3.1 二維數組的定義 199
9.3.2 二維數組的引用 200
9.3.3 二維數組的初始化 200
9.3.4 二維數組的套用 202
上機演練 203
9.4 多維數組 204
9.5 字元數組 204
9.5.1 字元數組的定義 204
9.5.2 字元數組的引用 204
9.5.3 字元數組的初始化 205
9.5.4 字元數組的結束標誌 206
9.5.5 字元數組的輸出 207
9.5.6 字元數組的輸入 208
9.5.7 字元數組的套用 209
上機演練 210
9.6 字元串處理函式 210
9.6.1 字元串複製 211
9.6.2 字元串連線 212
9.6.3 字元串比較 213
9.6.4 字元串大小寫轉換 215
9.6.5 獲得字元串長度 216
9.7 熟練套用數組 217
9.7.1 實現字元匹配 217
9.7.2 反轉輸出字元串 218
9.8 本章小結 219
9.9 技能專項測試 219
9.10 實戰模擬 221
第10章 函式編程基礎
( 自學視頻、源程式:
配套資源\mr\10\) 222
10.1 函式概述 223
10.2 函式的定義 225
10.2.1 函式定義的形式 225
10.2.2 定義與聲明 228
上機演練 229
10.3 了解返回語句 230
10.3.1 從函式返回 230
10.3.2 返回值 234
10.4 傳遞函式參數 236
10.4.1 形式參數與實際參數 236
10.4.2 數組做函式參數 238
10.4.3 了解main()函式的參數 242
10.5 調用函式 242
10.5.1 函式調用方式 243
10.5.2 嵌套調用 245
10.5.3 遞歸調用 247
上機演練 249
10.6 靈活套用函式 249
10.7 本章小結 255
10.8 技能專項測試 256
10.9 實戰模擬 258
第11章 指針解析
( 自學視頻、源程式:
配套資源\mr\11\) 259
11.1 指針概述 260
11.1.1 地址與指針 260
11.1.2 解讀變數與指針 261
11.1.3 使用指針變數 261
11.1.4 指針自加自減運算 265
上機演練 266
11.2 數組與指針 266
11.2.1 一維數組與指針 266
11.2.2 二維數組與指針 271
11.2.3 字元串與指針 273
11.2.4 字元串數組 274
上機演練 276
11.3 指向指針的指針 276
上機演練 278
11.4 函式參數的指針變數 278
上機演練 286
11.5 返回指針值的函式 286
11.6 指針數組作main()函式的
參數 288
11.7 本章小結 289
11.8 技能專項測試 289
11.9 實戰模擬 292
第2篇 提高篇
第12章 常用數據結構
( 自學視頻、源程式:
配套資源\mr\12\) 294
12.1 結構體 295
12.1.1 結構體類型的概念 295
12.1.2 結構體變數的定義 296
12.1.3 結構體變數的引用 298
12.1.4 結構體類型的初始化 300
12.2 結構體數組 301
12.2.1 定義結構體數組 301
12.2.2 初始化結構體數組 302
上機演練 304
12.3 結構體指針 304
12.3.1 指向結構體變數的指針 304
12.3.2 指向結構體數組的指針 307
12.3.3 結構體作函式參數 308
12.4 包含結構的結構 311
12.5 鍊表 312
12.5.1 鍊表概述 312
12.5.2 創建動態鍊表 313
12.5.3 輸出鍊表 315
12.6 鍊表相關操作 318
12.6.1 鍊表的插入操作 318
12.6.2 鍊表的刪除操作 319
12.7 共用體 322
12.7.1 共用體的概念 323
12.7.2 共用體變數的引用 323
12.7.3 共用體變數的初始化 324
12.7.4 共用體類型的數據特點 325
上機演練 325
12.8 枚舉類型 326
12.9 本章小結 327
12.10 技能專項測試 327
12.11 實戰模擬 329
第13章 位運算
( 自學視頻、源程式:
配套資源\mr\13\) 330
13.1 位與位元組 331
13.2 位運算操作符 331
13.2.1 “與”運算符 332
13.2.2 “或”運算符 333
13.2.3 “取反”運算符 335
13.2.4 “異或”運算符 336
13.2.5 “左移”運算符 338
13.2.6 “右移”運算符 339
13.2.7 位運算複合賦值運算符 340
13.2.8 長度不同的數據進行位
運算 341
上機演練 341
13.3 循環移位 341
上機演練 343
13.4 位段 343
13.4.1 位段的概念與定義 343
13.4.2 位段相關說明 345
13.5 本章小結 346
13.6 技能專項測試 346
13.7 實戰模擬 348
第14章 存儲管理
( 自學視頻、源程式:
配套資源\mr\14\) 349
14.1 記憶體組織方式 350
14.1.1 記憶體組織方式概述 350
14.1.2 堆與棧 350
14.2 動態管理 352
14.2.1 malloc()函式 353
14.2.2 calloc()函式 353
14.2.3 realloc()函式 354
14.2.4 free()函式 355
上機演練 356
14.3 記憶體丟失 356
14.4 本章小結 357
14.5 技能專項測試 357
14.6 實戰模擬 359
第15章 預處理和函式類型
( 自學視頻、源程式:
配套資源\mr\15\) 360
15.1 宏定義 361
15.1.1 不帶參數的宏定義 361
15.1.2 帶參數的宏定義 362
上機演練 363
15.2 #include指令 364
15.3 條件編譯 365
15.3.1 #if命令、#else命令和#elif
命令 366
15.3.2 #ifdef及#ifndef命令 368
15.3.3 #undef命令 369
15.3.4 #line命令 369
15.3.5 #pragma命令 370
15.4 內部函式和外部函式 371
15.4.1 內部函式 371
15.4.2 外部函式 372
15.5 本章小結 373
15.6 技能專項測試 373
15.7 實戰模擬 376
第16章 檔案的讀寫操作
( 自學視頻、源程式:
配套資源\mr\16\) 377
16.1 檔案概述 378
16.2 檔案基本操作 379
16.2.1 檔案指針 379
16.2.2 檔案的打開 380
16.2.3 檔案的關閉 382
16.3 讀寫檔案 382
16.3.1 寫字元函式——fputc()
函式 382
16.3.2 讀字元函式——fgetc()
函式 383
16.3.3 寫字元串函式——fputs()
函式 384
16.3.4 讀字元串函式——fgets()
函式 385
16.3.5 格式化寫入函式——fprintf()
函式 387
16.3.6 格式化讀取函式——fscanf()
函式 388
16.3.7 數據塊讀寫函式——fread()
函式和fwrite()函式 389
上機演練 391
16.4 定位檔案 392
16.4.1 隨機讀寫操作——fseek()
函式 392
16.4.2 返回位置指針——rewind()
函式 394
16.4.3 得到檔案位置——ftell()
函式 395
16.5 本章小結 397
16.6 技能專項測試 397
16.7 實戰模擬 399
第17章 圖形圖像處理
( 自學視頻、源程式:
配套資源\mr\17\) 400
17.1 字元螢幕 401
17.1.1 定義文本視窗 401
17.1.2 顏色設定 401
17.1.3 文本的輸入和輸出 402
17.1.4 螢幕操作函式 403
上機演練 405
17.2 圖形顯示 406
17.2.1 圖形模式初始化 406
17.2.2 螢幕顏色設定 408
17.2.3 基本圖形函式 410
17.2.4 封閉圖形的填充 417
上機演練 419
17.3 圖形螢幕 419
17.4 圖形模式下文本輸出 421
17.4.1 文本輸出函式 421
17.4.2 文本屬性設定 422
上機演練 424
17.5 本章小結 424
17.6 技能專項測試 424
17.7 實戰模擬 426
第3篇 套用篇
第18章 圖書管理系統
( 自學視頻、源程式:
配套資源\mr\18\) 428
18.1 概述 429
18.1.1 需求分析 429
18.1.2 開發工具選擇 429
18.2 系統設計 429
18.2.1 系統目標 429
18.2.2 系統功能結構 429
18.2.3 系統預覽 429
18.2.4 開發及運行環境 430
18.3 資料庫設計 431
18.3.1 安裝MySQL資料庫 431
18.3.2 啟動MySQL資料庫 434
18.3.3 創建資料庫 435
18.3.4 數據表結構 436
18.4 C語言開發資料庫程式的
流程 436
18.5 C語言操作MySQL資料庫 438
18.5.1 MySQL常用資料庫操作
函式 438
18.5.2 連線MySQL數據 440
18.5.3 查詢圖書表記錄 440
18.5.4 插入圖書表記錄 442
18.5.5 修改圖書表記錄 443
18.5.6 刪除圖書表記錄 444
18.6 檔案引用 445
18.7 變數和函式定義 446
18.8 主要功能模組設計 446
18.8.1 顯示主選單信息 446
18.8.2 顯示所有圖書信息 448
18.8.3 添加圖書信息 450
18.8.4 修改圖書信息 454
18.8.5 刪除圖書信息 459
18.8.6 查詢圖書信息 463
18.9 本章小結 464