本書是國家精品課程“大學計算機”系列課程“C語言程序設計”的主教材。本教材與傳統C語言教材以語法介紹為主的編寫方式不同,以快速掌握程序設計為主線,采用“核心語法為先導、實踐應用為目的、知識擴展為提升,疑難辨析以解惑”的內容組織方式,突出知識點與技術點的關聯性,注重內容在應用上的層次性,兼顧整體在理論上的系統性。全書內容主要包括:程序設計概述,基本數據類型與運算,簡單程序設計,循環程序設計,數組,指針與鏈表,模塊化程序設計,數據文件的處理。
本書體系完整、結構嚴謹、注重應用、強調實踐,在編寫時兼顧了計算機等級考試的要求。為方便教學,本書還配有電子課件,任課教師可登錄華信教育資源網(www.hxedu.com.cn)免費注冊下載。
國家精品課程,突出知識點與技術點的關聯性,注重內容在應用上的層次性,兼顧整體在理論上的系統性。
索琦,西北大學計算機學院教授,負責大學計算機基礎教學工作,一直從事C語言課程教學工作,有豐富的教學經驗。
第1章 程序設計概述1
1.1 程序設計語言1
1.1.1 語言1
1.1.2 分類1
1.2 程序與程序設計3
1.2.1 程序3
1.2.2 程序設計3
1.3 C語言的發展和特點3
1.3.1 C語言的發展4
1.3.2 C語言的特點5
1.4 C語言的程序結構6
習題18
第2章 基本數據類型與運算11
2.1 基本數據類型11
2.1.1 數據類型的概念11
2.1.2 基本數據類型組成11
2.2 基本概念12
2.2.1 標志符12
2.2.2 常量13
2.2.3 變量16
2.3 基本運算18
2.3.1 變量賦值19
2.3.2 算術運算21
2.3.3 關系運算符和關系表達式25
2.3.4 邏輯運算符26
2.4 數據的輸入與輸出28
2.4.1 格式化輸出函數28
2.4.2 格式化輸入函數31
2.4.3 字符輸入與輸出函數33
2.5 知識擴展34
2.5.1 條件運算符和條件表達式34
2.5.2 逗號運算符和逗號表達式35
2.5.3 數據類型長度運算符36
2.5.4 算術自反賦值運算符37
2.5.5 位運算38
2.5.6 運算符的結合性和優先級43
2.6 疑難辨析43
習題247
第3章 簡單程序設計52
3.1 順序結構52
3.1.1 順序語句52
3.1.2 順序程序設計54
3.2 選擇結構55
3.2.1 選擇性問題55
3.2.2 if語句55
3.2.3 switch開關語句57
3.2.4 選擇程序設計58
3.3 知識擴展59
3.4 應用舉例60
3.5 疑難辨析65
習題366
第4章 循環程序設計68
4.1 循環問題的引入68
4.2 循環控制語句68
4.2.1 While語句68
4.2.2 for語句69
4.2.3 循環程序設計72
4.3 多重循環74
4.3.1 多重循環的引入74
4.3.2 多重循環程序設計75
4.4 知識擴展78
4.4.1 do…while語句78
4.4.2 break和continue語句79
4.4.3 goto語句和標號80
4.5 應用舉例81
4.6 疑難辨析83
習題484
第5章 數組89
5.1 一維數組的使用89
5.1.1 一維數組概述90
5.1.2 一維數組應用舉例92
5.2 二維數組的使用97
5.2.1 二維數組概述97
5.2.2 二維數組應用舉例99
5.3 知識擴展101
5.3.1 字符串的存儲與處理101
5.3.2 多維數的使用105
5.4 應用舉例108
5.5 疑難辨析110
習題5113
第6章 指針與鏈表118
6.1 指針118
6.1.1 指針的使用118
6.1.2 指針與一維數組122
6.2 鏈表122
6.2.1 動態空間的申請122
6.2.2 動態空間的釋放123
6.2.3 鏈表的基本操作124
6.3 知識擴展129
6.3.1 指針與二維數組129
6.3.2 指向一維數組的指針變量131
6.3.3 指針數組132
6.3.4 指向指針的指針134
6.3.5 對指針的幾點說明135
6.4 應用舉例136
6.5 疑難辨析141
習題6147
第7章 模塊化程序設計153
7.1 模塊化程序設計概述153
7.1.1 結構化程序設計的基本思想153
7.1.2 函數簡介154
7.2 函數的使用155
7.2.1 自定義函數的定義155
7.2.2 自定義函數的說明157
7.2.3 函數調用158
7.2.4 函數使用舉例159
7.3 復雜數據的描述163
7.3.1 結構體163
7.3.2 結構體應用舉例167
7.4 知識擴展169
7.4.1 共用體169
7.4.2 枚舉類型170
7.4.3 用typedef定義類型171
7.4.4 變量的存儲類別172
7.4.5 變量的生存期174
7.4.6 變量的作用域175
7.4.7 函數的遞歸調用176
7.4.8 函數指針177
7.4.9 編譯預處理178
7.4.10 工程化程序設計184
7.5 應用舉例189
7.6 疑難解析198
習題7206
第8章 數據文件的處理217
8.1 文件的基本概念217
8.1.1 C語言支持的文件格式217
8.1.2 文件操作的基本思路218
8.2 文件的基本操作219
8.2.1 文件指針219
8.2.2 文件的打開與關閉220
8.2.3 字節級的文件的讀/寫221
8.2.4 字符串文件讀/寫223
8.2.5 文件結束判斷函數224
8.3 知識擴展227
8.3.1 數據的格式化讀/寫227
8.3.2 記錄級的文件讀/寫229
8.3.3 文件位置指針的移動231
8.4 應用舉例233
8.5 疑難辨析235
習題8237
附錄A Visual C++集成環境使用指南241
附錄B 常用運算符及其優先級
和結合性245
附錄C 標準C語言頭文件246
附錄D C語言系統關鍵字247
附錄E ASCII碼表248
參考文獻249