本書是國家精品課程教材,以任務驅動的方式,通過實例講授程序設計的基本概念和基本方法,把重點放在解題思路上,試圖貫穿以程序編寫帶動語法教學的模式,引導讀者掌握C語言的核心編程方法,提高應用能力。本書共7章,主要內容包括:C語言程序基礎、C語言程序基本結構、模塊化程序設計思想、簡單構造數據類型、復雜構造數據類型、磁盤數據存儲、實用程序設計技巧等。本書配套《C語言程序設計實驗教程(第3版)》,并提供課程網站、電子課件、習題答案及程序源代碼。
適讀人群 :本書可作為高等學校本科生教材,也可作為專科和高職高專教材及計算機等級考試的參考書,還可供相關領域的工程技術人員學習參考。
國家精品課程教材,*家級精品資源共享課教材
蔣彥,男,濟南大學計算機系主任、副教授,十余年來致力于計算機基礎、專業(yè)、競賽課程的教學、教研和科研工作,獲省級教學成果獎3項,校級教學成果獎4項,優(yōu)秀教材獎2項,出版著作13本。
目 錄
第1章 C語言程序基礎 (1)
1.1 C語言程序的基本結構 (1)
1.1.1 認識C語言程序 (1)
1.1.2 基本結構 (3)
1.1.3 程序舉例 (4)
1.2 C語言基本語法成分 (6)
1.3 C語言數據類型 (9)
1.3.1 基本數據類型 (9)
1.3.2 指針類型 (12)
1.3.3 構造數據類型 (13)
1.4 C語言的表達式和語句 (13)
1.5 C語言程序運行過程 (14)
1.5.1 源程序、目標程序和可執(zhí)行程序的概念 (14)
1.5.2 C語言程序的開發(fā)步驟 (15)
1.6 編寫簡單的C語言程序 (16)
1.7 數據的輸入與輸出 (18)
1.7.1 printf函數 (18)
1.7.2 scanf函數 (20)
1.8 C語言中的宏定義 (22)
1.8.1 不帶參數的宏定義 (22)
1.8.2 帶參數的宏定義 (24)
1.9 算法 (26)
1.9.1 算法的概念及特性 (26)
1.9.2 算法的表示方法 (26)
1.10 C語言的產生、發(fā)展及特點 (29)
1.10.1 C語言的產生及發(fā)展 (29)
1.10.2 C語言的特點 (30)
習題 (31)
第2章 程序基本結構 (36)
2.1 分支結構 (36)
2.1.1 單分支結構 (36)
2.1.2 雙分支結構 (37)
2.1.3 多分支結構 (38)
2.1.4 if語句的嵌套 (39)
2.1.5 條件運算符 (41)
2.1.6 switch語句 (43)
2.2 關系運算和邏輯運算 (45)
2.2.1 關系運算符和關系表達式 (45)
2.2.2 邏輯運算符和邏輯表達式 (45)
2.3 循環(huán)結構 (47)
2.3.1 概述 (47)
2.3.2 當型循環(huán)while (48)
2.3.3 直到型循環(huán)do-while (49)
2.3.4 當型循環(huán)for (51)
2.3.5 幾種循環(huán)的比較 (53)
2.3.6 循環(huán)嵌套 (54)
2.4 break語句和continue語句 (55)
2.4.1 break語句 (55)
2.4.2 continue語句 (57)
2.5 goto語句 (58)
2.6 指針程序設計 (59)
2.6.1 指針 (59)
2.6.2 指針變量的使用 (60)
2.7 典型例題 (63)
習題 (68)
第3章 模塊化程序設計 (75)
3.1 模塊化程序設計思想 (75)
3.2 函數定義 (77)
3.3 函數調用 (78)
3.3.1 函數調用的形式 (79)
3.3.2 函數間的參數傳遞 (79)
3.3.3 函數的返回值 (81)
3.4 函數的原型與聲明 (82)
3.5 函數的嵌套與遞歸 (83)
3.5.1 函數的嵌套調用 (83)
3.5.2 函數的遞歸調用 (85)
3.6 庫函數 (86)
3.7 變量的作用域與存儲類型 (87)
3.7.1 變量的作用域 (87)
3.7.2 變量的存儲類型 (90)
3.8 指針與函數 (94)
3.8.1 指針作為函數參數 (94)
3.8.2 返回指針值的函數 (97)
3.8.3 指向函數的指針變量 (98)
3.9 典型例題 (99)
習題 (103)
第4章 簡單構造數據類型 (109)
4.1 一維數組 (109)
4.1.1 一維數組的引出 (109)
4.1.2 一維數組的定義和引用 (110)
4.1.3 一維數組程序舉例 (112)
4.2 二 維 數 組 (114)
4.2.1 二維數組的引出 (114)
4.2.2 二維數組的定義和引用 (115)
4.2.3 二維數組程序舉例 (116)
4.3 字符數組與字符串 (118)
4.3.1 字符數組的引出 (118)
4.3.2 字符數組的定義和引用 (119)
4.3.3 字符串的使用 (120)
4.3.4 字符數組程序舉例 (126)
4.4 數組與指針 (127)
4.4.1 一維數組與指針 (128)
4.4.2 多維數組與指針 (130)
4.4.3 數組作為函數參數 (131)
4.5 字符串與指針 (135)
4.5.1 用字符指針訪問字符串 (135)
4.5.2 字符指針和字符數組的區(qū)別 (137)
4.5.3 字符串作為函數參數 (139)
4.6 典型例題 (141)
習題 (148)
第5章 復雜構造數據類型 (156)
5.1 結構體 (156)
5.1.1 結構體的引出及使用 (157)
5.1.2 結構體數組 (161)
5.1.3 結構體程序舉例 (163)
5.1.4 結構體與指針 (165)
5.2 共用體 (168)
5.2.1 共用體的定義和引用 (168)
5.2.2 共用體類型的特點 (169)
5.2.3 共用體應用舉例 (170)
5.3 枚舉類型 (172)
5.3.1 枚舉類型的定義和引用 (172)
5.3.2 枚舉類型應用舉例 (173)
*5.4 鏈表 (174)
5.4.1 概述 (174)
5.4.2 簡單鏈表 (174)
5.4.3 動態(tài)鏈表 (175)
5.4.4 鏈表的實現及應用 (176)
習題 (180)
第6章 磁盤數據存儲 (184)
6.1 將數據寫入文件 (184)
6.1.1 打開文件函數 (185)
6.1.2 關閉文件函數 (185)
6.2 文件讀寫分類函數 (187)
6.2.1 單字符寫入函數 (187)
6.2.2 單字符讀取函數 (188)
6.2.3 字符串讀取函數 (188)
6.2.4 字符串寫入函數 (189)
6.2.5 格式化讀寫函數 (190)
6.2.6 數據塊讀寫函數 (192)
6.3 文件定位函數 (194)
6.3.1 位置指針復位函數 (194)
6.3.2 位置指針的隨機移動函數 (197)
6.3.3 文件指針當前位置函數 (198)
6.4 其他文件函數 (199)
6.4.1 文件結束檢測函數 (199)
6.4.2 出錯檢測函數 (200)
習題 (201)
第7章 實用程序設計技巧 (205)
7.1 程序的模塊化結構 (205)
7.1.1 軟件工程的思想 (205)
7.1.2 模塊設計 (205)
7.1.3 模塊化的優(yōu)點 (206)
7.2 模塊的組裝 (207)
7.2.1 文件包含與頭文件的使用 (208)
7.2.2 模塊間的連接 (210)
7.2.3 標識符的一致性 (213)
7.2.4 條件編譯 (213)
7.3 模塊設計風格簡述 (215)
7.3.1 數據風格 (215)
7.3.2 標識符風格 (216)
7.3.3 算法風格 (216)
7.3.4 輸入/輸出風格 (217)
7.3.5 書寫風格 (217)
7.4 應用程序設計實例 (218)
習題 (227)
附錄 (229)
附錄A 常用C語言庫函數 (229)
A.1 數學函數 (229)
A.2 輸入/輸出函數 (230)
A.3 字符函數 (232)
A.4 字符串函數 (233)
A.5 動態(tài)存儲分配函數 (234)
A.6 時間函數 (235)
A.7 其他函數 (236)
附錄B ASCII碼表 (237)
附錄C C語言運算符的優(yōu)先級與結合性 (240)
參考文獻 (242)