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