C語言大學(xué)實用教程學(xué)習(xí)指導(dǎo)(第4版)
定 價:45 元
- 作者:蘇小紅 編著
- 出版時間:2017/3/1
- ISBN:9787121309236
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP312
- 頁碼:312
- 紙張:膠版紙
- 版次:4
- 開本:16開
本書是十二五普通高等教育本科*規(guī)劃教材,是《C語言大學(xué)實用教程(第4版)》配套教材,也是國家精品課教材、國家精品資源共享課教材。全書包括習(xí)題解答、上機實驗指導(dǎo)和案例分析三章內(nèi)容。第1章習(xí)題解答,包括主教材中全部習(xí)題及解答,涵蓋全國計算機等級考試各種題型。第2章上機實驗指導(dǎo),包括程序調(diào)試技術(shù)、上機實驗題目及其參考答案、程序在線評判和利用在線評判編程的注意事項等。本章*后給出的貫穿全書內(nèi)容的綜合應(yīng)用實例(學(xué)生成績管理系統(tǒng)),可作為課程設(shè)計內(nèi)容。第3章為案例分析,包括錯誤案例分析、趣味經(jīng)典實例分析和程序優(yōu)化三部分。主、輔教材均為任課老師免費提供電子課件及例題源代碼。本書可作為高校各專業(yè)C語言程序設(shè)計課程教材、ACM程序設(shè)計大賽和全國計算機等級考試參考書。
本書為暢銷書《C語言大學(xué)實用教程(第4版)》ISBN 9787121300059 配套輔導(dǎo)書。
第4版前言
讓學(xué)生在學(xué)習(xí)程序設(shè)計的過程中,養(yǎng)成良好的編程風(fēng)格,在上機調(diào)試程序時,不再感到枯燥乏味,而是其樂融融,這一直是作者多年來無論是教學(xué)還是著書都孜孜以求的目標。多年C語言的學(xué)習(xí)和教學(xué)經(jīng)歷,給了我們很多熱情與靈感,來自讀者與用戶的無數(shù)反饋,無論是贊揚還是批評,無論是鼓勵還是意見,都增加了我們的激情,激勵我們一次次地去修訂它。
不求經(jīng)典,但求精心,是我們的原則。因為我們知道,只有精心,才可能造就經(jīng)典。知識要準確、文字要親切、示例要有趣、內(nèi)容要實用,是我們的目標。因為我們知道,準確才有價值,親切才被喜歡,有趣才留印象,實用才會對讀者有真正的幫助。我們衷心希望以本書為媒介,架起作者與讀者溝通和交流的橋梁,讓讀者跟隨我們一起去欣賞C語言之美,理解C語言之妙,體會學(xué)習(xí)C語言之無窮樂趣,不僅要學(xué)習(xí)或者學(xué)會C語言,更讓學(xué)習(xí)C語言的過程變成一件無比輕松快樂的事情。
本書是《C語言大學(xué)實用教程學(xué)習(xí)指導(dǎo)》的第4版,是十二五普通高等教育本科國家級規(guī)劃教材,是《C語言大學(xué)實用教程(第4版)》(ISBN 978-7-121-30005-9)的配套教材。全書包括習(xí)題解答、上機實驗指導(dǎo)和案例分析三章內(nèi)容。
第1章為習(xí)題解答,包括主教材中全部習(xí)題及解答,涵蓋全國計算機等級考試各種題型(選擇題、程序填空題、程序改錯題、閱讀程序?qū)懗鲞\行結(jié)果題、編程題等),其中部分習(xí)題還給出了多種解答方法。
第2章為上機實驗指導(dǎo),包括程序調(diào)試技術(shù)、課內(nèi)和課外上機實驗題目及其參考答案、Online Judge程序在線評判、利用Online Judge編程的注意事項、綜合應(yīng)用實例以及C語言編程題考試自動評分系統(tǒng)簡介等內(nèi)容。程序調(diào)試技術(shù)主要介紹Visual C 6.0和Code::Blocks gcc gdb集成開發(fā)環(huán)境下標準C程序調(diào)試方法,并對二者進行了比較。實驗指導(dǎo)部分以知識點為主線設(shè)計的實驗題目,將趣味性和實用性融為一體,以循序漸進的任務(wù)驅(qū)動方式,指導(dǎo)讀者完成實驗程序設(shè)計。程序在線評判主要介紹Online Judge的使用方法,為讀者進行編程自測提供方便。本章最后給出了一個貫穿全書內(nèi)容的綜合應(yīng)用實例(學(xué)生成績管理系統(tǒng)),可作為課程設(shè)計內(nèi)容。
第3章為案例分析,主要包括錯誤案例分析、趣味經(jīng)典實例分析、程序優(yōu)化及解決方案、C99簡介等內(nèi)容。錯誤案例分析主要介紹含有隱蔽錯誤的程序的排錯方法,幫助讀者了解錯誤發(fā)生的原因、實質(zhì)、排錯方法及解決對策;趣味經(jīng)典實例分析主要介紹了騎士游歷和八皇后等經(jīng)典問題的程序設(shè)計;程序優(yōu)化及解決方案主要介紹程序性能優(yōu)化的一些基本原則。
?
主教材、輔教材均為任課教師免費提供電子課件,并提供例題和習(xí)題源程序。本書可作為高校各專業(yè)C語言教輔教材、ACM程序設(shè)計大賽和全國計算機等級考試參考書。
本書在第3版的基礎(chǔ)上增加了基于B/S結(jié)構(gòu)的C語言編程題考試自動評分系統(tǒng)、試卷和題庫管理系統(tǒng)以及面向?qū)W生自主學(xué)習(xí)的作業(yè)和實驗在線測試系統(tǒng)的簡介等內(nèi)容,并增加了10個課外實驗題目以及部分習(xí)題,還修改并完善了習(xí)題解答。
本課程于2007年被評為國家精品課,2016年被評為國家精品資源共享課。多媒體教學(xué)課件、全部例題、習(xí)題、實驗和案例分析的源代碼都可在教材網(wǎng)站(http://book.sunner.cn)或華信教育資源網(wǎng)站(http://www.hxedu.com.cn)免費下載。我們研制的基于C/S架構(gòu)的C語言編程題考試自動評分系統(tǒng)(已獲軟件著作權(quán)登記)也將免費提供給使用本教材的教學(xué)單位,有需要者可直接與作者聯(lián)系(sxh@hit.edu.cn)。該系統(tǒng)可以根據(jù)程序的結(jié)構(gòu)和語義以及程序運行結(jié)果對C語言編程題自動評分,對于有語法錯誤的編程題也能評分。此外,配合本教材習(xí)題,我們還研制了基于B/S架構(gòu)的C語言編程題考試自動評分系統(tǒng)、面向?qū)W生自主學(xué)習(xí)的作業(yè)和實驗在線測試系統(tǒng),以及C語言試卷和題庫管理系統(tǒng),有需要者請直接與作者聯(lián)系和咨詢。
全書統(tǒng)稿和全部修訂工作由蘇小紅教授負責(zé)。實驗題目設(shè)計和實驗程序答案、錯誤案例分析、程序優(yōu)化與解決方案、趣味經(jīng)典實例分析、程序調(diào)試技術(shù)中的常見編譯錯誤信息的英漢對照及學(xué)生成績管理綜合應(yīng)用實例、C99簡介、C語言編程題考試自動評分系統(tǒng)簡介等內(nèi)容的編寫由蘇小紅完成;習(xí)題1、習(xí)題5、習(xí)題9答案,以及程序調(diào)試技術(shù)和程序在線評判由孫志崗編寫;習(xí)題4、習(xí)題7答案由李秀坤編寫;習(xí)題8答案由陳惠鵬編寫;習(xí)題6答案由王慶北編寫;習(xí)題2、習(xí)題3答案由溫東新編寫;利用Online Judge編程的注意事項由孫大烈和車萬翔編寫。
在本書的寫作與修訂過程中,王宇穎教授在百忙之中審閱了全部初稿。在書稿的錄入、校對、修訂及習(xí)題、實驗題程序的調(diào)試過程中,太原理工大學(xué)的馬建芬、哈爾濱工業(yè)大學(xué)的王甜甜、趙玲玲、傅忠傳、趙巍、車萬翔、張衛(wèi)、郭萍、溫東新、侯俊英、李希然、張洪志、李秀坤、張彥航、黃虎杰、秦兵、劉勁鋒、王慶北、孫大烈、張羽、單麗莉、劉國軍、劉秉權(quán)、徐志明、李漾、張冬雨、婁久等做了大量工作。
因編者水平有限,書中錯誤在所難免,懇請批評指正,我們將在教材網(wǎng)站(http://book.sunner.cn)上及時發(fā)布勘誤信息,以求對讀者負責(zé)。有索取教材相關(guān)資料者,請直接與作者聯(lián)系(sxh@hit.edu.cn)。歡迎讀者給我們發(fā)送電子郵件或在網(wǎng)站上留言,對教材提出寶貴意見。
作 者
于哈爾濱工業(yè)大學(xué)計算機科學(xué)與技術(shù)學(xué)院
致本書讀者
在Java,C#等充滿面向?qū)ο、快速開發(fā)和穩(wěn)定可靠這樣溢美之詞的語言大行其道的今天,還如此耗費心力寫一本關(guān)于已經(jīng)落伍了的C語言的書,著實讓人匪夷所思。雖然C語言在教育界還舉足輕重,在系統(tǒng)開發(fā)領(lǐng)域依然健碩,鐵桿支持者遍布世界各地,但是C語言的書籍種類繁多,早已被寫到濫的地步了。這本書的存在還會有價值嗎?
萬物皆將成為時間的灰燼,其價值體現(xiàn)在燃燒時發(fā)出的光熱。
在計算機教育方面,C語言是為數(shù)不多的與國外保持內(nèi)容同步的課程之一,這大概也是因為C語言自身多年以來沒有什么變化吧。但在教學(xué)深度上,尤其在把C語言從應(yīng)試課程轉(zhuǎn)變?yōu)閷嵺`工具方面,國內(nèi)無論是教材還是課程建設(shè)都跟不上時代發(fā)展的步伐。
計算機科學(xué)日進千里,很多舊的思想、方法都被打破,不能與時俱進的語言必遭淘汰?蒀語言卻能奇跡般地以不動如山之姿態(tài)笑傲天下,論劍江湖,這套以靜制動的本領(lǐng),來自于C語言的靈活。
靈活,使C語言的用法可以產(chǎn)生諸般變化。每種變化都有其利與害,趨利避害是根本。但何為利,何為害呢?這是程序設(shè)計科學(xué)研究的主題之一。隨著時間的推移,判斷的標準總在變化。比如20世紀90年代以前,性能一直是最重要的,所有的程序設(shè)計方法都趨向于提高性能。當(dāng)硬件越來越快、越來越便宜,軟件越來越復(fù)雜、越來越昂貴,設(shè)計程序時考慮更多的是如何降低開發(fā)成本和難度,不惜以犧牲性能為代價。當(dāng)網(wǎng)絡(luò)成為技術(shù)推動力時,安全問題又成為重中之重。
無論思潮怎樣變化,C語言總能有一套行之有效的方法來應(yīng)對。這些方法完全構(gòu)建在對C語言基本語法的應(yīng)用之上,絲毫影響不到它固有的體系。一些適時的方法被制定為規(guī)則,另一些落后的方法則被劃為禁手。如果C語言的教科書還只以講述語法為主,而忽略在新形勢下的新方法、新規(guī)則和新思想的傳授,就真的是沒有價值了。
此書要做有價值的書,要讓讀這本書的人真正學(xué)會C語言。那么,達到什么程度算是學(xué)會了C語言呢?這倒是一個很有意思的問題。
本書作者中有一人,自稱一生三次學(xué)會了C語言。
第一次是大一,看到C語言成績后,不禁自封C語言王子。
待到大二,偶遇一個機會,用C語言開發(fā)一個真實的軟件,才知道自己卷上談兵的本領(lǐng)實在太小,實在與會用C語言的目標相去甚遠。編了大小幾個項目,上萬行代碼,自覺對C語言的掌握已爐火純青,此為第二次學(xué)會。
?
待回眸品評這些項目,發(fā)現(xiàn)除了幾副好皮囊能取悅用戶之外,無論是程序結(jié)構(gòu)、可讀性、可維護性還是穩(wěn)定性都一團糟。年輕程序員的良心大受譴責(zé),終于認識到,寫好程序絕不是懂語法、會調(diào)用函數(shù)那么簡單。又經(jīng)歷練,其間苦學(xué)軟件工程、面向?qū)ο蟮壤碚,打造出第一個讓自己由衷滿意的程序,于是長出一口氣,嘆曰:C,我終于會用了!
這條路走得著實辛苦,但也確實滋味無窮,樂在其中。留校任教后,他很快獲得了講C語言課程的機會。欣然領(lǐng)命,直欲把經(jīng)年積累一并爆發(fā),送與學(xué)生。前輩高人指點,選擇了Kernighan與Ritchie所撰的圣經(jīng)《C Programming Language》為教材。早聞此書,初見其形;邊教邊品,仰天長嘆:原來C語言若此,吾不曾會矣!
總結(jié)往事,環(huán)顧業(yè)界,何謂學(xué)會?這是一個沒有答案的提問。學(xué)完語法規(guī)則只是讀完了小學(xué),識字不少,還會造句,但還寫不出大篇的漂亮文章。若要進步,就必須在算法和結(jié)構(gòu)設(shè)計兩方面努力了。但這兩者實非一蹴而就,大學(xué)四年也只能學(xué)到一些條條框框,就像高中畢業(yè)盡管作文無數(shù),能力卻僅止于八股應(yīng)試而已。若要寫出驚天地、泣鬼神之程序,還必須廣泛實踐,多方積累。學(xué)無止境!
行文至此,終于完成了這本自認還有價值的書。目前的計算機圖書市場異;鸨(jīng)典與濫竽齊飛,贊美共炒作一色。我們不知道此書能發(fā)出多少光熱,也不知道有多少人能見到這份光、感到這點熱,只知道它也會成為時間的灰燼,而且盼望這一天越早到來越好。因為,此書觀點被大量否定之時,必是IT再次飛躍之日。
作 者
于哈爾濱工業(yè)大學(xué)計算機科學(xué)與技術(shù)學(xué)院
?
豐富的教學(xué)資源
面向教師的電子課件和實例源代碼下載:http://www.hxedu.com.cn
具有在線評測與反抄襲功能的交互式網(wǎng)絡(luò)教學(xué)平臺:http://cms.hit.edu.cn
面向讀者的教材網(wǎng)站:http://book.sunner.cn
哈爾濱工業(yè)大學(xué)ACM網(wǎng)站(HOJ):http://acm.hit.edu.cn
Code::Blocks安裝程序下載地址:http://w
蘇小紅,哈爾濱工業(yè)大學(xué)計算機學(xué)院博士生導(dǎo)師,計算機科學(xué)與技術(shù)*實驗教學(xué)示范中心副主任,計算機語言基礎(chǔ)教研室主任,校級教學(xué)名師,校教學(xué)帶頭人,中國計算機學(xué)會高級會員,電子工業(yè)出版社特聘專家,國內(nèi)多種核心以上期刊的審稿人,寶鋼優(yōu)秀教師獎和省師德先進個人獲得者。
目 錄
第1章 習(xí)題解答1
1.1 習(xí)題1及參考答案1
1.2 習(xí)題2及參考答案1
1.3 習(xí)題3及參考答案3
1.4 習(xí)題4及參考答案6
1.5 習(xí)題5及參考答案33
1.6 習(xí)題6及參考答案44
1.7 習(xí)題7及參考答案61
1.8 習(xí)題8及參考答案76
1.9 習(xí)題9及參考答案82
第2章 上機實驗指導(dǎo)88
2.1 程序調(diào)試技術(shù)88
2.1.1 調(diào)試的七種武器88
2.1.2 Visual C 6.0的使用與調(diào)試91
2.1.3 Code::Blocks的使用與調(diào)試97
2.1.4 集成開發(fā)環(huán)境操作總結(jié)103
2.1.5 用fprintf()調(diào)試程序103
2.1.6 常見編譯錯誤信息英漢對照表104
2.2 課內(nèi)上機實驗題目106
2.2.1 實驗1:熟悉上機環(huán)境和順序結(jié)構(gòu)編程練習(xí)106
2.2.2 實驗2:選擇結(jié)構(gòu)編程練習(xí)107
2.2.3 實驗3:循環(huán)結(jié)構(gòu)編程練習(xí)108
2.2.4 實驗4:函數(shù)編程練習(xí)109
2.2.5 實驗5:數(shù)組編程練習(xí)110
2.2.6 實驗6:遞歸程序設(shè)計練習(xí)111
2.2.7 實驗7:一維數(shù)組和函數(shù)綜合編程練習(xí)112
2.2.8 實驗8:二維數(shù)組和函數(shù)綜合編程練習(xí)112
2.2.9 實驗9:結(jié)構(gòu)體編程練習(xí)113
2.2.10 實驗10:文件編程練習(xí)115
2.3 課外上機實驗題目115
2.3.1 實驗1:計算到期存款本息之和115
2.3.2 實驗2:存款預(yù)算116
2.3.3 實驗3:尋找最佳存款方案116
2.3.4 實驗4:抓交通肇事犯117
2.3.5 實驗5:求解不等式117
2.3.6 實驗6:計算禮炮聲響次數(shù)117
2.3.7 實驗7:產(chǎn)值翻番計算118
2.3.8 實驗8:簡單的口令檢查程序118
2.3.9 實驗9:大獎賽現(xiàn)場統(tǒng)分118
2.3.10 實驗10:數(shù)組、指針和函數(shù)綜合編程練習(xí)119
2.3.11 實驗11:合并有序數(shù)列120
2.3.12 實驗12:最牛微信120
2.3.13 實驗13:英雄卡120
2.3.14 實驗14:數(shù)數(shù)的手指121
2.3.15 實驗15:計算個人所得稅121
2.3.16 實驗16:單詞接龍121
2.3.17 實驗17:猜神童年齡121
2.3.18 實驗18:猴子吃桃121
2.3.19 實驗19:數(shù)字黑洞122
2.3.20 實驗20:火柴游戲122
2.4 課內(nèi)上機實驗題目參考答案125
2.4.1 實驗1:熟悉上機環(huán)境和順序結(jié)構(gòu)編程練習(xí)125
2.4.2 實驗2:選擇結(jié)構(gòu)編程練習(xí)127
2.4.3 實驗3:循環(huán)結(jié)構(gòu)編程練習(xí)132
2.4.4 實驗4:函數(shù)編程練習(xí)137
2.4.5 實驗5:數(shù)組編程練習(xí)148
2.4.6 實驗6:遞歸程序設(shè)計練習(xí)161
2.4.7 實驗7:一維數(shù)組和函數(shù)綜合編程練習(xí)165
2.4.8 實驗8:二維數(shù)組和函數(shù)綜合編程練習(xí)168
2.4.9 實驗9:結(jié)構(gòu)體編程練習(xí)172
2.4.10 實驗10:文件編程練習(xí)173
2.5 課外上機實驗題目參考答案181
2.5.1 實驗1:計算到期存款本息之和181
2.5.2 實驗2:存款預(yù)算182
2.5.3 實驗3:尋找最佳存款方案182
2.5.4 實驗4:抓交通肇事犯183
2.5.5 實驗5:求解不等式184
2.5.6 實驗6:計算禮炮聲響次數(shù)185
2.5.7 實驗7:產(chǎn)值翻番計算186
2.5.8 實驗8:簡單的口令檢查程序186
2.5.9 實驗9:大獎賽現(xiàn)場統(tǒng)分188
2.5.10 實驗10:數(shù)組、指針和函數(shù)綜合編程練習(xí)192
2.5.11 實驗11:合并有序數(shù)列197
2.5.12 實驗12:最牛微信199
2.5.13 實驗13:英雄卡200
2.5.14 實驗14:數(shù)數(shù)的手指201
2.5.15 實驗15:計算個人所得稅202
2.5.16 實驗16:單詞接龍203
2.5.17 實驗17:猜神童年齡204
2.5.18 實驗18:猴子吃桃205
2.5.19 實驗19:數(shù)字黑洞206
2.5.20 實驗20:火柴游戲207
2.6 課程設(shè)計菜單驅(qū)動的學(xué)生成績管理系統(tǒng)209
2.7 Online Judge在線評判229
2.7.1 什么是Online Judge229
2.7.2 Online Judge的使用230
2.8 利用Online Judge編程的注意事項234
2.9 基于C/S架構(gòu)的C語言編程題考試自動評分系統(tǒng)簡介236
2.10 基于B/S架構(gòu)的C語言編程題考試自動評分系統(tǒng)簡介237
2.11 面向?qū)W生自主學(xué)習(xí)的作業(yè)和實驗在線測試系統(tǒng)簡介237
第3章 案例分析239
3.1 錯誤案例分析239
3.1.1 變量初始化錯誤239
3.1.2 死循環(huán)與死語句245
3.1.3 與0比較問題248
3.1.4 復(fù)雜情形的關(guān)系判斷問題249
3.1.5 遺漏邊界條件測試252
3.1.6 非所有控制分支都有返回值錯誤253
3.1.7 數(shù)值溢出錯誤255
3.1.8 類型匹配錯誤256
3.1.9 越界訪存錯誤258
3.1.10 緩沖區(qū)溢出問題265
3.1.11 內(nèi)存泄漏問題267
3.1.12 使用野指針的問題270
3.1.13 參數(shù)非法問題277
3.1.14 不良代碼風(fēng)格問題278
3.2 趣味經(jīng)典實例分析281
3.2.1 騎士游歷問題281
3.2.2 八皇后問題283
3.3 程序優(yōu)化及解決方案287
3.4 C99簡介293
參考文獻298