前言
濟(jì)南大學(xué)開設(shè)“C語言程序設(shè)計(jì)”課程已有20多年的歷史,在課程組全體老師的共同努力下,該課程2005年被評為山東省精品課程,2009年被評為國家精品課程,2016年被評為國家級精品資源共享課。
2007年我們編寫了本課程的教材《C語言程序設(shè)計(jì)》,2011年編寫了《C語言程序設(shè)計(jì)(第2版)》。教材出版以后,被多所高等學(xué)校選作教材,并被數(shù)十所高校作為教學(xué)的主要參考書。近年來,陸續(xù)收到了各位同仁和廣大讀者給予的高度評價(jià),以及一些很好的修訂建議。七年后,我們根據(jù)在教學(xué)過程中的實(shí)際感受,結(jié)合收集到的建議和意見,對第2版教材進(jìn)行了修訂,出版了《C語言程序設(shè)計(jì)(第3版)》和《C語言程序設(shè)計(jì)實(shí)驗(yàn)教程(第3版)》。
本書包括3部分。
第1部分是“C語言實(shí)驗(yàn)環(huán)境”。主要介紹Visual C++ 6.0集成環(huán)境下的上機(jī)方法,并根據(jù)學(xué)習(xí)的順序,列出初學(xué)者在學(xué)習(xí)過程中常犯的一些語法錯(cuò)誤,每條錯(cuò)誤均給出在Visual C++ 6.0中調(diào)試程序時(shí)系統(tǒng)提示的錯(cuò)誤信息,并分析錯(cuò)誤原因,提出相應(yīng)的解決方法,使讀者在學(xué)習(xí)時(shí)有所參考。另外,結(jié)合現(xiàn)今ACM競賽和GPLT比賽等,介紹了Dev-C++和CodeBlocks使用方法?紤]Turbo C 2.0使用的越來越少,去掉了這部分的使用方法介紹。
第2部分是“C語言實(shí)驗(yàn)”。首先介紹程序調(diào)試和測試的初步知識,提出上機(jī)實(shí)驗(yàn)的目的和要求,并根據(jù)教學(xué)內(nèi)容安排了15個(gè)實(shí)驗(yàn),本次對實(shí)驗(yàn)題目做了修訂。然后介紹了在進(jìn)行C語言編程時(shí)的常見邏輯錯(cuò)誤和解決方法。最后結(jié)合我校ACM參賽經(jīng)驗(yàn)和OJ(Online Judge,在線判題)系統(tǒng),對ACM競賽做了介紹,并詳細(xì)介紹了競賽中的各種數(shù)據(jù)輸入/輸出格式。
第3部分是“習(xí)題及參考解答”。這部分按主教材的章節(jié),先總結(jié)該章的知識要點(diǎn),然后給出大量習(xí)題,包括選擇題、填空題、程序填空題及編程題等,最后給出部分習(xí)題的參考答案。大部分習(xí)題是基礎(chǔ)知識題,幫助讀者鞏固基礎(chǔ)知識。對于編程題,只給出分析提示,實(shí)現(xiàn)代碼留給讀者自己完成,給讀者留下思考的空間。部分習(xí)題的難度高于書中的例題,目的是使讀者根據(jù)已學(xué)的內(nèi)容,舉一反三,學(xué)會根據(jù)已有知識,培養(yǎng)解決實(shí)際問題的能力。希望初學(xué)者盡量多做習(xí)題,以提高程序設(shè)計(jì)水平。
書中全部題目的程序均在Visual C++ 6.0中調(diào)試通過,可以直接將代碼輸入Visual C++ 6.0中編譯運(yùn)行。書中的很多習(xí)題都很經(jīng)典,提出并解決了很多常見的問題,完成這些習(xí)題,理解程序的思路,將有助于開闊眼界、豐富知識,學(xué)會如何解決實(shí)際問題。
應(yīng)該指出,本書給出的程序的解答并非唯一解答,我們只是提出一種參考方案,讀者完全可以寫出更好的解決方案。希望讀者能充分利用本書提供的資源,掌握C語言程序設(shè)計(jì)方法。
本書由蔣彥、韓玫瑰統(tǒng)稿,其中第1部分第1~3章、第2部分第4、5、8章由蔣彥、韓玫瑰修訂,第2部分第6、7章由史桂嫻修訂,第3部分第1~4章由張芊茜、許美慧修訂,第3部分第5~7章由崔忠玲修訂。全書由由劉明軍教授審定。
在本書的編寫過程中,得到了眾多同仁的關(guān)心與支持。徐龍璽、張琎、杜韜、李英俊、呂娜、夏英杰、王亞琦、閆明霞、張平、張曉麗、黃藝美、李崇威、王衛(wèi)峰等老師在百忙之中閱讀了部分書稿,指出了原稿中的一些不當(dāng)之處。本書的編寫參考了大量近年來出版的相關(guān)書籍及技術(shù)資料,吸取了許多專家和同仁的寶貴經(jīng)驗(yàn)。在此一并表示衷心地感謝!
盡管我們作出了很大努力,但由于水平有限,書中難免出現(xiàn)錯(cuò)誤或不妥之處,懇請同行專家及各位讀者批評指正!
作 者
2018年2月