C語言程式設計項目教程[段善榮、厲陽春、錢濤、陳博編著圖書]

C語言程式設計項目教程[段善榮、厲陽春、錢濤、陳博編著圖書]

《C語言程式設計項目教程》是2013年3月人民郵電出版社出版的圖書,作者是段善榮、厲陽春、錢濤、陳博。

內容簡介

首先,人類發明了計算機,需要與計算機“交流”,即寫入和讀出,而且硬體需要與軟體相配才能發揮作用,這樣必須發明一中語言讓人類與機器能夠交流,就誕生了機器語言,也就是低級語言。同時因為機器硬體畢竟不如人聰明(耶~),而且二進制也是最貼近硬體的語言,所以發明的語言也是最簡單的二進制,而普通人甚至是科學家也難懂,所以發明了一些高級語言,如同C語言,C++等等。其中VB,VF都是比較低級,簡單的程式化語言,而C語言算是中等語言吧,而C++,JAVA等都算是難的了。總之它們都是用來和計算機“交流”的語言,C只是其中的一種,用它可以來編輯程式,比如用VB可以編輯一些小遊戲什麼的,用C++編輯一些大的程式.

本書共分四部分13章,其中第一部分基礎篇由C語言概述,數據類型、運算符和表達式,順序結構、選擇結構、循環結構程式設計組成;第二部分提高篇由數組、結構體和共用體、函式及編譯預處理組成;第三部分高級篇由指針、鍊表、檔案組成;第四部分擴展篇由算法與數據結構、軟體開發基礎知識組成。全書結合“學生成績管理系統”這個典型項目講解了C語言所有知識點,使讀者能夠較快地掌握C語言程式設計的基礎知識、基本算法和編程思想,同時還提供了內容豐富的、趣味性較強的案例,能有效提高讀者的學習興趣。
本書既可以作為非計算機專業本科學生的計算機C語言教材,也可以作為高等院校計算機專業本科和專科學生的基礎教材,還可以作為自學者和教師的參考教材。

目錄

第1章 C語言概述 1
1.1 C語言的發展及主要特點 1
1.1.1 C語言的發展史 1
1.1.2 C語言的主要特點 2
1.1.3 C語言程式的基本結構 3
1.2 C語言上機過程 5
1.2.1 啟動VC++6.0 5
1.2.2 Visual C++6.0的選單欄 6
1.2.3 Visual C++6.0的工具列 9
1.2.4 Visual C++6.0編輯、編譯、連結和運行程式的步驟 10
本章小結 13
習題1 13

第2章 數據類型、運算符和表達式 15
2.1 標識符與關鍵字 15
2.1.1 標識符 15
2.1.2 關鍵字 16
2.2 數據類型 16
2.2.1 常量 17
2.2.2 變數 21
2.2.3 整型變數 24
2.2.4 實型變數 27
2.2.5 字元變數 28
2.2.6 數據類型轉換 30
2.3 運算符和表達式 32
2.3.1 運算符的優先權和結合性 32
2.3.2 算術運算符及其表達式 33
2.3.3 自增、自減運算符及其表達式 33
2.3.4 賦值運算符與賦值表達式 35
2.3.5 關係運算符及其表達式 35
2.3.6 邏輯運算符及其表達式 36
2.3.7 條件運算符及其表達式 37
2.3.8 逗號運算符及其表達式 38
2.3.9 位運算符及其表達式 39
本章小結 42
習題2 42

第3章 順序結構程式設計 45
3.1 C語言基本語句 45
3.2 字元數據的輸入/輸出 48
3.2.1 字元數據的輸出putchar函式 48
3.2.2 字元數據的輸入getchar函式 49
3.3 格式數據的輸入/輸出 50
3.3.1 標準格式輸出printf函式 50
3.3.2 標準格式輸入scanf函式 55
3.4 順序結構精選案例 58
3.5 項目實例 61
本章小結 62
習題3 63

第4章 選擇結構程式設計 68
4.1 簡單選擇結構 68
4.1.1 單分支if語句 68
4.1.2 雙分支if語句 69
4.2 多分支選擇結構 70
4.2.1 多分支if語句 70
4.2.2 if語句的嵌套 72
4.2.3 多分支switch語句 74
4.3 選擇結構精選案例 75
4.4 項目實例 80
本章小結 82
習題4 82

第5章 循環結構程式設計 89
5.1 用while語句實現循環 89
5.1.1 while語句的一般形式 89
5.1.2 while語句的執行過程 89
5.2 用do…while語句實現循環 91
5.2.1 do…while語句的一般形式 91
5.2.2 do…while語句的執行過程 91
5.3 用for語句實現循環 93
5.3.1 for語句的一般形式 93
5.3.2 for語句的執行過程 93
5.4 循環結構嵌套 96
5.5 三種循環語句的比較 97
5.6 改變循環執行的狀態 97
5.6.1 用break語句提前終止循環 97
5.6.2 用continue語句提前結束本次循環 99
5.6.3 用goto語句提前終止多重循環 100
5.7 循環結構精選案例 101
5.8 項目實例 106
本章小結 108
習題5 108

第6章 數組 116
6.1 一維數組 117
6.1.1 一維數組的定義 117
6.1.2 一維數組的初始化 118
6.1.3 一維數組元素的引用及基本操作 119
6.1.4 一維數組精選案例 120
6.2 二維數組 127
6.2.1 二維數組的定義 127
6.2.2 二維數組的初始化 128
6.2.3 二維數組元素的引用 129
6.2.4 二維數組精選案例 130
6.3 字元數組與字元串 132
6.3.1 字元串的存儲 132
6.3.2 字元數組的定義和初始化 133
6.3.3 字元數組的基本操作 133
6.3.4 字元串處理函式 136
6.3.5 字元數組精選案例 139
6.4 項目實例 142
本章小結 149
習題6 149

第7章 結構體和共用體 154
7.1 結構體類型和變數 154
7.1.1 結構體類型的聲明 155
7.1.2 結構體變數的定義、初始化、引用及基本操作 156
7.1.3 結構體精選案例 161
7.2 結構體數組 163
7.2.1 結構體數組的定義和初始化 163
7.2.2 結構體數組的引用 163
7.2.3 結構體數組精選案例 164
7.3 共用體類型 165
7.3.1 共用體變數的定義 166
7.3.2 共用體變數的引用 167
7.3.3 共用體精選案例 168
7.4 枚舉類型 170
7.4.1 枚舉類型的聲明 170
7.4.2 枚舉變數的定義與引用 170
7.4.3 枚舉精選案例 171
7.5 項目實例 172
本章小結 179
習題7 179

第8章 函式及編譯預處理 184
8.1 函式概述 184
8.1.1 庫函式 184
8.1.2 自定義函式 186
8.1.3 C程式構成 186
8.2 函式的定義 187
8.3 函式的調用和參數傳遞 189
8.3.1 函式調用 189
8.3.2 函式聲明 192
8.3.3 函式間的參數傳遞 193
8.4 函式的嵌套調用和遞歸調用 198
8.4.1 函式的嵌套調用 198
8.4.2 函式的遞歸調用 199
8.5 函式精選案例 202
8.6 變數的作用域和存儲類別 205
8.6.1 變數的作用域 205
8.6.2 變數的存儲類別 209
8.7 編譯預處理 211
8.7.1 宏定義 211
8.7.2 檔案包含 214
8.7.3 條件編譯 216
8.8 項目實例 217
本章小結 224
習題8 226

第9章 指針 231
9.1 地址與指針的概念 231
9.2 指針與指針變數 234
9.2.1 指針變數的定義 234
9.2.2 指針變數的初始化 234
9.2.3 指針變數的引用 235
9.2.4 指針變數的運算 237
9.2.5 多級指針 240
9.3 數組與指針 241
9.3.1 數組元素的指針和指向數組元素的指針變數 241
9.3.2 指向一維數組的指針變數 246
9.3.3 指針數組 248
9.4 字元串與指針 249
9.4.1 指向字元串的指針變數 249
9.4.2 字元串指針作為函式參數 250
9.5 指針與函式 251
9.5.1 指針變數作為函式參數 251
9.5.2 返回值為指針類型的函式 258
9.5.3 函式的指針和指向函式的指針變數 259
9.6 帶參數的main函式 263
9.7 項目實例 264
本章小結 271
習題9 272

第10章 鍊表 276
10.1 動態分配記憶體 276
10.2 鍊表的概述 278
10.3 建立鍊表 279
10.4 鍊表的插入和刪除 281
10.5 鍊表的輸出 283
10.6 項目實例 285
本章小結 292
習題10 293

第11章 檔案 298
11.1 檔案概述 298
11.1.1 數據項、記錄和檔案 298
11.1.2 數據檔案的存儲形式 299
11.1.3 緩衝區 300
11.2 檔案類型指針 300
11.3 檔案操作 301
11.3.1 檔案的操作函式 301
11.3.2 創建檔案 312
11.3.3 顯示檔案 312
11.3.4 追加檔案 313
11.3.5 複製檔案 314
11.3.6 刪除檔案 315
11.4 項目實例 315
本章小結 324
習題11 325

第12章 算法與數據結構 332
12.1 算法 332
12.1.1 算法的基本概念 332
12.1.2 算法設計的基本方法 333
12.1.3 算法的描述 334
12.1.4 算法設計的要求 337
12.1.5 算法的複雜度 338
12.2 數據結構 339
12.2.1 數據結構的定義 339
12.2.2 線性表 340
12.2.3 棧 345
12.2.4 佇列 347
12.2.5 樹與二叉樹 349
12.2.6 圖 353
12.2.7 查找技術 357
12.2.8 排序技術 358
本章小結 359
習題12 359

第13章 軟體開發基礎知識 362
13.1 程式設計基礎 362
13.1.1 程式設計方法與風格 362
13.1.2 結構化程式設計 363
13.1.3 面向對象的程式設計 364
13.2 軟體工程基礎 367
13.2.1 軟體定義 367
13.2.2 軟體危機與軟體工程 367
13.2.3 軟體生命周期 368
13.2.4 軟體開發過程模型 369
13.2.5 軟體開發方法學 370
本章小結 370
習題13 370

附錄Ⅰ ASCII字元編碼一覽表 373
附錄Ⅱ 運算符的優先權和結合性一覽表 374
附錄Ⅲ C庫函式 376
附錄Ⅳ 編譯錯誤指南 388

熱門詞條

聯絡我們