內(nèi)容簡介
本書是《C語言課程設(shè)計案例精編》的第3版,在保持了前兩版風(fēng)格的基礎(chǔ)上,根據(jù)讀者的反饋,對部分內(nèi)容進行了更新。本書內(nèi)容豐富,案例經(jīng)典,涵蓋了游戲開發(fā)、文件操作、網(wǎng)絡(luò)編程、仿Windows應(yīng)用程序開發(fā)等范疇,分為五篇,共16章,涉及14個經(jīng)典案例。
在基礎(chǔ)知識篇中,使用兩章的篇幅,重點介紹了后面章節(jié)中將要涉及的知識點;在游戲開發(fā)篇中,介紹了俄羅斯方塊、推箱子、打字游戲的設(shè)計和實現(xiàn);在文件操作篇中,介紹了目前應(yīng)用十分廣泛的學(xué)生選課管理系統(tǒng)、圖書管理系統(tǒng)、教師人事管理系統(tǒng)的設(shè)計與實現(xiàn);在網(wǎng)絡(luò)編程篇中,介紹了Ping、TCP、UDP三個網(wǎng)絡(luò)協(xié)議的設(shè)計和實現(xiàn);在仿Windows應(yīng)用程序篇中,介紹了進程調(diào)度模擬器、畫圖板、電子時鐘、簡易計算器、文本編輯器這5個小應(yīng)用程序的設(shè)計和實現(xiàn)。
本書從實踐性和應(yīng)用性角度出發(fā),按照軟件開發(fā)的流程,貫徹了從設(shè)計到實現(xiàn)的案例分析模式,內(nèi)容組織合理、分析詳細、通俗易懂。
本書適合本科和高職高專院校計算機、機械、電子、自動化等專業(yè)的學(xué)生作為進行課程設(shè)計的參考教材,也可作為C語言愛好者的參考讀物。
第3版前言
C語言是一種目前國際上十分流行的計算機高級編程語言,因其具有簡潔、使用方便且功能強大的特點,而深受編程人員的喜愛。它既適合作為系統(tǒng)描述語言編寫系統(tǒng)軟件,也適合用來編寫應(yīng)用軟件。
本書是清華大學(xué)出版社全國高等院校應(yīng)用型創(chuàng)新規(guī)劃教材·計算機系列教材之一,前兩版出版至今,已受到讀者的廣泛好評。第3版在保持了前一版風(fēng)格的基礎(chǔ)上,根據(jù)讀者的反饋,對部分內(nèi)容進行了更新和修訂,以達到與時俱進、滿足讀者需求的目的。本書是一本實踐性和應(yīng)用性很強的C語言實用教材,精心選取了14個經(jīng)典案例。通過這些案例,不但可使讀者對C語言的基礎(chǔ)知識和數(shù)據(jù)結(jié)構(gòu)的應(yīng)用有深刻的理解,而且可幫助讀者掌握軟件開發(fā)的方法和技巧。
全書分為五篇,共16章,案例涵蓋了游戲開發(fā)、文件操作、網(wǎng)絡(luò)編程、仿Windows應(yīng)用程序開發(fā)等范疇。
第一篇 基礎(chǔ)知識。將使用兩章的篇幅,來重點介紹后面章節(jié)中會涉及的知識點。這些知識點包括C語言的特點、編譯工具、基本語法、圖形操作、文件操作、網(wǎng)絡(luò)編程、中斷等。
第二篇 游戲編程。將介紹俄羅斯方塊、推箱子、打字游戲的設(shè)計和實現(xiàn),幫助讀者理解游戲開發(fā)的思想和原理、熟悉C語言圖形模式下的編程。
第三篇 文件操作。介紹目前應(yīng)用十分廣泛的學(xué)生選課管理系統(tǒng)、圖書管理系統(tǒng)、教師人事管理系統(tǒng)的設(shè)計與實現(xiàn)。一方面幫助讀者理解管理系統(tǒng)開發(fā)的原理及流程,另一方面,幫助讀者加深對C語言文件操作和數(shù)據(jù)結(jié)構(gòu)等知識的了解。
第四篇 網(wǎng)絡(luò)編程。將通過Ping、TCP、UDP三個網(wǎng)絡(luò)協(xié)議的設(shè)計與實現(xiàn),使讀者明白利用Winsock進行網(wǎng)絡(luò)程序開發(fā)的原理和方法。
第五篇 仿 Windows應(yīng)用程序。將介紹進程調(diào)度模擬器、畫圖板、電子時鐘、簡易計算器、文本編輯器這5個小應(yīng)用程序的設(shè)計與實現(xiàn),幫助讀者對C語言有一個比較全面、深入的綜合理解,掌握鼠標(biāo)編程、菜單制作等較高級知識點。
本書的每個案例程序的開發(fā)都使用了軟件工程的方法,遵循了"分析→設(shè)計→編碼→運行調(diào)試"的路線,內(nèi)容組織合理、分析詳細、通俗易懂,適合本科和高職高專院校計算機、機械、電子、自動化等專業(yè)的學(xué)生作為進行課程設(shè)計的參考教材,也可作為C語言愛好者的讀物。
除了第四篇中的三個程序(都為純C代碼)在VC 6.0中(因為TC中沒有需要的頭文件) 調(diào)試通過以外,其余所有程序都在Turbo C 2.0或Win-TC中測試通過。
本書由吳啟武、張建軍、姜靈芝編寫,書中有些案例借鑒了互聯(lián)網(wǎng)上相關(guān)程序的設(shè)計思想,在此,對http://www.pudn.com網(wǎng)站的源代碼提供者表示衷心的感謝。
由于經(jīng)驗不足等原因,書中難免有疏漏之處,敬請讀者朋友批評指正。作者希望本書能作為一朵美麗的小花開在計算機叢書的百花園中,不求爭芳奪艷,只求增光添彩。
編 者
第2版前言
C語言是目前國際上比較流行的計算機高級編程語言之一,因其簡潔、使用方便且具備強大的功能而受到編程人員的普遍青睞。它既適合作為系統(tǒng)描述語言,也可用來編寫系統(tǒng)軟件,還可用來編寫應(yīng)用軟件。
從使用范圍、功能效率等方面歸納C語言的特點,主要有以下幾點。
(1) C語言功能強大、適用范圍廣。
(2) 用C語言編寫的程序非常簡潔。
(3) C語言可直接操作硬件。
(4) C語言可移植性好,基本上不用修改就可用于其他型號的計算機操作系統(tǒng)。
為了幫助讀者深入理解C語言的各項知識點,熟練掌握利用C語言進行程序設(shè)計的原理和方法,我們特編著了此書。對語言的學(xué)習(xí)應(yīng)重在實踐,因為只有實踐才是檢驗學(xué)習(xí)效果的最好方法;诖,我們精心編制了14個案例,通過這些案例,不但可使讀者對C語言的基礎(chǔ)知識和數(shù)據(jù)結(jié)構(gòu)的應(yīng)用有深刻的理解,而且還可以幫助讀者掌握軟件開發(fā)的方法與技巧。
針對C語言的特點,本書共分為5篇。
第一篇基礎(chǔ)知識。我們使用兩章的篇幅重點介紹了后面章節(jié)中涉及的知識點。這些知識點包括C語言的特點、編譯工具、基本語法、圖形操作、文件操作、網(wǎng)絡(luò)編程和中斷等。
第二篇游戲編程。在本篇中,我們介紹了俄羅斯方塊、推箱子和五子棋等游戲的設(shè)計和實現(xiàn),幫助讀者理解游戲開發(fā)的思想和原理、熟悉C語言圖形模式下的編程。
第三篇文件操作。在本篇中,我們介紹了學(xué)生成績管理系統(tǒng)、工資管理系統(tǒng)和電話簿管理系統(tǒng)的設(shè)計與實現(xiàn),一方面幫助讀者理解管理系統(tǒng)開發(fā)的原理及流程,另一方面幫助讀者加深對C語言文件操作、數(shù)據(jù)結(jié)構(gòu)等知識的了解。
第四篇網(wǎng)絡(luò)編程。在本篇中,我們通過Ping、TCP和UDP這3個網(wǎng)絡(luò)協(xié)議的設(shè)計與實現(xiàn),使讀者掌握利用Winsock進行網(wǎng)絡(luò)程序開發(fā)的原理及方法。
第五篇仿Windows應(yīng)用程序。在本篇中,我們介紹了萬年歷、畫圖板、電子時鐘、簡易計算器和文本編輯器這5個小應(yīng)用程序的設(shè)計與實現(xiàn),使讀者對C語言有一個較全面、深入的綜合理解,掌握鼠標(biāo)編程、菜單制作等較深入的知識點。
在本書中,每個案例程序的開發(fā)都使用了軟件工程的方法,即遵循了"分析→設(shè)計→編碼→運行調(diào)試"的路線。
除了第四篇中的3個程序(都為純C代碼)在Visual C6.0中調(diào)試通過以外(因為TC中沒有需要的頭文件),其余所有程序都在Turbo C 2.0或Win-TC中調(diào)試通過。
本書主要由姜靈芝和余鍵編寫,書中有些案例借鑒了互聯(lián)網(wǎng)上相關(guān)程序的設(shè)計思想,在此對相關(guān)網(wǎng)站的源代碼提供者表示衷心的感謝。
由于時間、經(jīng)驗及水平的原因,書中難免有不足之處,敬請讀者朋友批評指正。
編 者
第1版前言
C語言是一種目前國際上流行的計算機高級編程語言,因其簡潔、使用方便且又不失強大的功能而受到編程人員的普遍青睞。它既適合作為系統(tǒng)描述語言,又可用來編寫系統(tǒng)軟件,還可用來編寫應(yīng)用軟件。
本書是清華大學(xué)出版社高等院校課程設(shè)計案例精編系列教材之一,第一版出版至今已受到讀者的廣泛好評。第二版在保持了前一版風(fēng)格的基礎(chǔ)上,根據(jù)讀者的反饋對部分內(nèi)容進行了更新和修訂,以達到與時俱進、滿足讀者需求的目的。本書是一本實踐性和應(yīng)用性很強的C語言實用教材,通過精心選取的14個經(jīng)典案例,不但可使讀者對C語言的基礎(chǔ)知識和數(shù)據(jù)結(jié)構(gòu)的應(yīng)用有深刻的理解,而且可以幫助讀者掌握軟件開發(fā)的方法與技巧。
全書分為5篇,共16章,案例涵蓋了游戲開發(fā)、文件操作、網(wǎng)絡(luò)編程、仿Windows應(yīng)用程序開發(fā)等范疇。
第一篇:基礎(chǔ)知識。我們使用兩章的篇幅來重點介紹后面章節(jié)中將涉及的知識點。這些知識點包括C語言的特點、編譯工具、基本語法、圖形操作、文件操作、網(wǎng)絡(luò)編程、中斷等。
第二篇:游戲編程。在本篇中,我們將介紹俄羅斯方塊、推箱子、五子棋游戲的設(shè)計和實現(xiàn),幫助讀者理解游戲開發(fā)的思想和原理,熟悉C語言圖形模式下的編程。
第三篇:文件操作。在本篇中,我們介紹了目前應(yīng)用十分廣泛的學(xué)生成績管理系統(tǒng)、圖書管理系統(tǒng)、酒店客房管理系統(tǒng)的設(shè)計與實現(xiàn)。一方面幫助讀者理解管理系統(tǒng)開發(fā)的原理及流程,另一方面幫助讀者加深對C語言文件操作和數(shù)據(jù)結(jié)構(gòu)等知識的了解。
第四篇:網(wǎng)絡(luò)編程。在本篇中,我們將通過Ping、TCP、UDP這3個網(wǎng)絡(luò)協(xié)議的設(shè)計與實現(xiàn),使讀者明白如何利用Winsock進行網(wǎng)絡(luò)程序開發(fā)的原理及方法。
第五篇:仿Windows應(yīng)用程序。在本篇中,我們將介紹進程調(diào)度模擬器、畫圖板、電子時鐘、簡易計算器、文本編輯器這5個小應(yīng)用程序的設(shè)計與實現(xiàn),幫助讀者對C語言有一個較全面、深入的綜合理解,掌握鼠標(biāo)編程、菜單制作等較高級的知識點。
全書每個案例程序的開發(fā)都使用了軟件工程的方法,即遵循了分析→設(shè)計→編碼→運行調(diào)試的路線,內(nèi)容組織合理、分析詳細、通俗易懂,適合作為本科、高職高專院校計算機、機械、電子、自動化等專業(yè)的學(xué)生進行課程設(shè)計的參考教材,也可作為C語言愛好者的讀物。
除了第四篇中的3個程序(都為純C代碼)在VC 6.0中調(diào)試通過以外(因為TC中沒有需要的頭文件),其余所有程序都在Turbo C 2.0或Win-TC中測試通過。
本書由吳啟武、劉勇、王俊峰和薛欣編寫,孫景輝、孫守凱、張坤、武晶晶、張靜、汪梅婷、穆志維參與了本書的程序編寫與調(diào)試工作,書中有些案例借鑒了互聯(lián)網(wǎng)上相關(guān)程序的設(shè)計思想,在此對http://www.programsalon.com網(wǎng)站的源代碼提供者表示衷心的感謝。
由于時間、經(jīng)驗及水平的原因,書中難免有不足之處,敬請讀者朋友批評指正。希望本書能作為一朵美麗的奇葩開在計算機叢書的百花園里,不求爭芳奪艷,只求增光添彩。
編 者
目錄
第一篇 基礎(chǔ)知識第1章 C語言概述 31.1 C語言的出現(xiàn)及發(fā)展 31.2 C語言的特點 31.3 Turbo C集成環(huán)境介紹 41.4 Win-TC集成環(huán)境介紹 81.4.1 Win-TC的特點 81.4.2 Win-TC的使用 91.4.3 Win-TC的面板設(shè)置 111.5 C語言基本語法概述 141.5.1 數(shù)據(jù)類型、運算符和表達式 141.5.2 程序設(shè)計結(jié)構(gòu) 161.5.3 數(shù)組 181.5.4 函數(shù) 191.5.5 編譯預(yù)處理 211.5.6 指針 231.5.7 結(jié)構(gòu)體 261.6 小結(jié) 27第2章 基礎(chǔ)知識回顧 292.1 圖形知識 292.1.1 圖形模式的初始化 292.1.2 屏幕顏色相關(guān)函數(shù) 302.1.3 圖形窗口和圖形屏幕函數(shù) 312.1.4 畫圖函數(shù) 322.1.5 封閉圖形的填充 342.1.6 圖形模式下的文本輸出 352.2 文件操作知識 372.2.1 文件的打開與關(guān)閉 372.2.2 文件的讀寫 382.2.3 文件的狀態(tài) 402.2.4 文件的定位 402.3 Windows網(wǎng)絡(luò)編程知識 412.3.1 常用協(xié)議報頭 412.3.2 Winsock基礎(chǔ) 442.3.3 套接字選項 522.3.4 名字解析 542.4 中斷知識 562.4.1 中斷類型與中斷函數(shù) 562.4.2 鼠標(biāo)編程 592.5 小結(jié) 61第二篇 游戲編程第3章 俄羅斯方塊游戲 653.1 設(shè)計目的 653.2 功能描述 653.3 總體設(shè)計 663.3.1 功能模塊設(shè)計 663.3.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計 683.3.3 函數(shù)功能描述 713.4 程序?qū)崿F(xiàn) 723.4.1 源碼分析 723.4.2 運行結(jié)果 90第4章 推箱子游戲 934.1 設(shè)計目的 934.2 功能描述 934.3 總體設(shè)計 934.3.1 功能模塊設(shè)計 934.3.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計 964.3.3 函數(shù)功能描述 964.4 程序?qū)崿F(xiàn) 994.4.1 源碼分析 994.4.2 運行結(jié)果 119第5章 打字游戲 1215.1 設(shè)計目的 1215.2 功能描述 1215.3 總體設(shè)計 1225.3.1 功能模塊設(shè)計 1225.3.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計 1245.3.3 函數(shù)功能描述 1255.4 程序?qū)崿F(xiàn) 1275.4.1 源碼分析 1275.4.2 運行結(jié)果 135第三篇 文件操作第6章 學(xué)生選課管理系統(tǒng) 1396.1 設(shè)計目的 1396.2 功能描述 1396.3 總體設(shè)計 1406.3.1 功能模塊設(shè)計 1406.3.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計 1456.3.3 函數(shù)功能描述 1466.4 程序?qū)崿F(xiàn) 1496.4.1 源碼分析 1496.4.2 運行結(jié)果 1846.5 小結(jié) 188第7章 圖書管理系統(tǒng) 1897.1 設(shè)計目的 1897.2 功能描述 1897.3 總體設(shè)計 1907.3.1 功能模塊設(shè)計 1907.3.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計 1957.3.3 函數(shù)功能描述 1977.4 程序?qū)崿F(xiàn) 2007.4.1 源碼分析 2007.4.2 運行結(jié)果 2277.5 小結(jié) 234第8章 教師人事管理系統(tǒng) 2358.1 設(shè)計目的 2358.2 功能描述 2358.3 總體設(shè)計 2368.3.1 功能模塊設(shè)計 2368.3.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計 2398.3.3 函數(shù)功能描述 2408.4 程序?qū)崿F(xiàn) 2428.4.1 源碼分析 2428.4.2 運行結(jié)果 2578.5 小結(jié) 261第四篇 網(wǎng)絡(luò)編程第9章 Ping程序設(shè)計 2659.1 設(shè)計目的 2659.2 功能描述 2659.3 總體設(shè)計 2669.3.1 功能模塊設(shè)計 2669.3.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計 2699.3.3 函數(shù)功能描述 2709.4 程序?qū)崿F(xiàn) 2729.4.1 源碼分析 2729.4.2 運行結(jié)果 283第10章 TCP程序設(shè)計 28910.1 設(shè)計目的 28910.2 功能描述 28910.3 總體設(shè)計 29010.3.1 功能模塊設(shè)計 29010.3.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計 29310.3.3 函數(shù)功能描述 29410.4 程序?qū)崿F(xiàn) 29610.4.1 源碼分析 29610.4.2 運行結(jié)果 306第11章 UDP程序設(shè)計 31111.1 設(shè)計目的 31111.2 功能描述 31111.3 總體設(shè)計 31211.3.1 功能模塊設(shè)計 31211.3.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計 31611.3.3 函數(shù)功能描述 31711.4 程序?qū)崿F(xiàn) 31911.4.1 源碼分析 31911.4.2 運行結(jié)果 331第五篇 仿Windows應(yīng)用程序第12章 進程調(diào)度模擬器 33912.1 設(shè)計目的 33912.2 功能描述 34012.3 總體設(shè)計 34112.3.1 功能模塊設(shè)計 34112.3.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計 34312.3.3 函數(shù)功能描述 34412.4 程序?qū)崿F(xiàn) 34512.4.1 源碼分析 34512.4.2 運行結(jié)果 355第13章 畫圖板 35913.1 設(shè)計目的 35913.2 功能描述 35913.3 總體設(shè)計 36013.3.1 功能模塊設(shè)計 36013.3.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計 36213.3.3 函數(shù)功能描述 36213.4 程序?qū)崿F(xiàn) 36413.4.1 源碼分析 36413.4.2 運行結(jié)果 392第14章 電子時鐘 39714.1 設(shè)計目的 39714.2 功能描述 39714.3 總體設(shè)計 39814.3.1 功能模塊設(shè)計 39814.3.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計 40114.3.3 函數(shù)功能描述 40114.4 程序?qū)崿F(xiàn) 40214.4.1 源碼分析 40214.4.2 運行結(jié)果 409第15章 簡易計算器 41115.1 設(shè)計目的 41115.2 功能描述 41115.3 總體設(shè)計 41215.3.1 功能模塊設(shè)計 41215.3.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計 41415.3.3 函數(shù)功能描述 41515.4 程序?qū)崿F(xiàn) 41715.4.1 源碼分析 41715.4.2 運行結(jié)果 433第16章 文本編輯器 43516.1 設(shè)計目的 43516.2 功能描述 43516.3 總體設(shè)計 43716.3.1 功能模塊設(shè)計 43716.3.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計 44416.3.3 函數(shù)功能描述 44516.4 程序?qū)崿F(xiàn) 44716.4.1 源碼分析 44716.4.2 運行結(jié)果 471附錄 477參考文獻 483