本書是一本實(shí)踐型教材,書中從實(shí)用的角度出發(fā),結(jié)合具體的應(yīng)用實(shí)例,將C語言程序設(shè)計中使用的基本數(shù)據(jù)結(jié)構(gòu)、算法和技巧進(jìn)行了綜合,并對如何運(yùn)用C語言進(jìn)行繪圖做了介紹,有助于進(jìn)一步提高學(xué)生程序設(shè)計能力。全書共分三個部分: 基本數(shù)據(jù)結(jié)構(gòu)應(yīng)用,綜合應(yīng)用,圖形界面部分;共有12個訓(xùn)練題目。
本書適合作為普通高等院;?qū)Τ绦蛟O(shè)計要求較高的高職高專院校C語言課程設(shè)計、實(shí)訓(xùn)或?qū)嵙?xí)的指導(dǎo)書,也可作為C語言程序設(shè)計綜合性實(shí)驗(yàn)的參考書。
"C語言程序設(shè)計”是一門十分重要的基礎(chǔ)課程,但作為第一語言講授時,主要講解的是語言本身的語句、語法規(guī)定和程序設(shè)計最基本的算法(如數(shù)據(jù)單元交換、迭代法求方程的根、常用的幾種排序法等),大多數(shù)學(xué)生僅能使用高級語言的基本結(jié)構(gòu)編寫幾十行的程序代碼,而對如何分析問題、解決問題以及編程思想掌握得非常有限,學(xué)生的編程能力、上機(jī)調(diào)試程序的能力訓(xùn)練得較少。這樣就不能夠滿足后續(xù)課程的編程能力需求,雖然學(xué)習(xí)了程序設(shè)計語言,卻不能解決問題。
目前許多院校都在做教學(xué)模式、課程體系的改革,在實(shí)踐課程中增加了C語言程序設(shè)計實(shí)習(xí)/實(shí)訓(xùn)或C語言課程設(shè)計,或在課程的教學(xué)中增大上機(jī)實(shí)踐學(xué)時,而這類教材和參考書較少,正因如此,作者在總結(jié)多年授課經(jīng)驗(yàn)的基礎(chǔ)上編寫了這本教材。
本書分為三部分,共12個訓(xùn)練題目,從項(xiàng)目的概述、主要功能、主要知識點(diǎn)、主要算法、設(shè)計思想等方面進(jìn)行描述。第一部分主要是對C語言的基本數(shù)據(jù)結(jié)構(gòu)和基本算法進(jìn)行訓(xùn)練,介紹了萬年歷、雙向鏈表、完全二叉樹以及簡單的計算機(jī)游戲程序?qū)崿F(xiàn)的基本算法,同時重點(diǎn)訓(xùn)練有關(guān)函數(shù)、結(jié)構(gòu)體、鏈表的基本操作;第二部分主要是針對C語言中結(jié)構(gòu)體與文件數(shù)據(jù)結(jié)構(gòu)的綜合應(yīng)用,用其實(shí)現(xiàn)一些小型的信息管理系統(tǒng),如通訊錄、學(xué)生成績管理系統(tǒng)、學(xué)生檔案管理系統(tǒng)等;第三部分主要介紹了C語言在Turbo C環(huán)境下繪制圖形界面的操作方法和常用函數(shù),這部分內(nèi)容一般在C語言的課堂教學(xué)中沒有涉及,并且編程代碼與具體的開發(fā)環(huán)境密切相關(guān),但對于同學(xué)了解圖形界面的程序開發(fā)很有幫助,書中以窗口圖形界面設(shè)計、具體圖形的繪制、五子棋游戲和俄羅斯方塊游戲的實(shí)現(xiàn)為例,講解圖形界面繪制程序的基本流程。
本書由多年從事計算機(jī)教育的一線教師編寫,內(nèi)容已在我校C語言課程設(shè)計教學(xué)中使用過,在教學(xué)實(shí)踐中得到了很好的應(yīng)用,同時也得到任課教師趙建輝、范江波和部分同學(xué)很好的修改建議,此外研究生胡家興、趙蕊、黃海和吳秀也做了大量的書稿整理工作,在此一并感謝他們所付出的勞動。
由于作者的水平有限,書中難免有不妥之處,歡迎讀者多提寶貴意見。
作 者 2009年5月
第1部分 基本數(shù)據(jù)結(jié)構(gòu)應(yīng)用
實(shí)訓(xùn)1 萬年歷2 1.1 系統(tǒng)概要2
1.2 基本功能要求2
1.3 主要知識點(diǎn)2
1.4 系統(tǒng)設(shè)計思路3
1.5 部分程序代碼5
實(shí)訓(xùn)2 雙向鏈表功能應(yīng)用10
2.1 系統(tǒng)概要10
2.2 基本功能要求10
2.3 主要知識點(diǎn)10
2.3.1 基本概念10
2.3.2 建立動態(tài)鏈表11
2.3.3 鏈表的輸出12
2.3.4 鏈表的刪除操作13
2.3.5 鏈表的插入操作14
2.3.6 雙向鏈表15
2.4 系統(tǒng)設(shè)計思路15
2.5 部分程序代碼16
實(shí)訓(xùn)3 完全二叉樹19
3.1 系統(tǒng)概要19
3.2 基本功能要求19
3.3 主要知識點(diǎn)19
3.4 系統(tǒng)設(shè)計思路21
3.5 部分程序代碼23
實(shí)訓(xùn)4 龜兔賽跑30
4.1 系統(tǒng)概要30
4.2 基本功能要求30
4.3 主要知識點(diǎn)30
4.4 系統(tǒng)設(shè)計思路32
4.5 部分程序代碼33
實(shí)訓(xùn)5 人機(jī)蘋果大戰(zhàn)36
5.1 系統(tǒng)概要36
5.2 基本功能要求36
5.3 主要知識點(diǎn)36
5.4 系統(tǒng)設(shè)計思路37
5.5 部分程序代碼37
第2部分 綜 合 應(yīng) 用
實(shí)訓(xùn)6 通訊錄44 6.1 系統(tǒng)概要44
6.2 基本功能要求44
6.3 主要知識點(diǎn)44
6.4 系統(tǒng)設(shè)計思路50
6.5 部分程序代碼50
實(shí)訓(xùn)7 學(xué)生成績管理系統(tǒng)57
7.1 系統(tǒng)概述57
7.2 基本功能要求57
7.3 主要知識點(diǎn)57
7.4 系統(tǒng)程序結(jié)構(gòu)58
7.5 部分程序代碼58
實(shí)訓(xùn)8 學(xué)生檔案管理系統(tǒng)70
8.1 系統(tǒng)概要70
8.2 基本功能要求70
8.3 主要知識點(diǎn)70
8.4 系統(tǒng)設(shè)計思路71
8.4.1 系統(tǒng)模塊劃分71
8.4.2 系統(tǒng)數(shù)據(jù)結(jié)構(gòu)73
8.4.3 函數(shù)設(shè)計73
8.5 部分程序代碼74
第3部分 圖形界面部分
實(shí)訓(xùn)9 簡單的C語言圖形編程86 9.1 系統(tǒng)概要86
9.2 基本功能要求86
9.3 主要知識點(diǎn)86
9.3.1 字符屏幕函數(shù)86
9.3.2 圖形函數(shù)92
9.4 系統(tǒng)程序結(jié)構(gòu)及主要算法103
9.5 系統(tǒng)主要函數(shù)源程序代碼103
實(shí)訓(xùn)10 C語言圖形界面編程110
10.1 系統(tǒng)概要110
10.2 基本功能要求110
10.3 主要知識點(diǎn)110
10.4 系統(tǒng)設(shè)計思路112
10.4.1 系統(tǒng)運(yùn)行流程圖112
10.4.2 數(shù)據(jù)結(jié)構(gòu)和函數(shù)的設(shè)計112
10.5 主要函數(shù)代碼113
實(shí)訓(xùn)11 五子棋游戲121
11.1 系統(tǒng)概要121
11.2 基本功能要求121
11.2.1 功能121
11.2.2 基本功能模塊描述121
11.3 主要知識點(diǎn)124
11.4 系統(tǒng)設(shè)計思路125
11.5 程序偽代碼126
實(shí)訓(xùn)12 俄羅斯方塊游戲程序136
12.1 系統(tǒng)概要136
12.2 基本功能要求136
12.3 主要知識點(diǎn)136
12.4 系統(tǒng)設(shè)計思想138
12.5 部分程序代碼140
參考文獻(xiàn)144