本書(shū)內(nèi)容包括:1. C++編程基礎(chǔ),主要包括內(nèi)置數(shù)據(jù)類(lèi)型、表達(dá)式、運(yùn)算符、控制結(jié)構(gòu)(分支和循環(huán))、函數(shù)等,輔以一些有趣的練習(xí)題目,將將簡(jiǎn)單的小游戲作為編程練習(xí),目的激發(fā)學(xué)生學(xué)習(xí)興趣同時(shí)加強(qiáng)編程練習(xí)。2. 面向?qū)ο蟪绦虿糠郑饕蓄?lèi)、對(duì)象的概念及聯(lián)系,對(duì)象的構(gòu)造和析構(gòu)、運(yùn)算符重載、繼承、多態(tài)。同時(shí)用簡(jiǎn)單案例通過(guò)問(wèn)題分析、程序?qū)崿F(xiàn)、運(yùn)行結(jié)果分析等一系列講解幫助同學(xué)理解面向?qū)ο蟪绦蛟O(shè)計(jì)的本質(zhì)與核心。3. 異常處理、文件讀寫(xiě)、模板、標(biāo)準(zhǔn)模板庫(kù)等內(nèi)容,進(jìn)一步強(qiáng)化程序設(shè)計(jì)的理念。內(nèi)容有易漸難,符合學(xué)生的學(xué)習(xí)規(guī)律,本教材的讀者對(duì)象可以是計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程及相關(guān)專(zhuān)業(yè)本科及研究生。
面向?qū)ο蟪绦蛟O(shè)計(jì)的核心是設(shè)計(jì)對(duì)象,通過(guò)對(duì)象交互來(lái)解決問(wèn)題。這種設(shè)計(jì)理念和方法與現(xiàn)實(shí)世界的構(gòu)成有著密切聯(lián)系,例如現(xiàn)實(shí)世界由各種事物構(gòu)成,事物之間通過(guò)交互來(lái)處理各種問(wèn)題等。對(duì)象將數(shù)據(jù)和對(duì)數(shù)據(jù)進(jìn)行的操作進(jìn)行了有效的封裝,同時(shí)增加了信息隱藏的特性,這使得對(duì)象很容易被復(fù)用、維護(hù)和理解。因此,面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)更有利于軟件的設(shè)計(jì)與開(kāi)發(fā),在很長(zhǎng)一段時(shí)間內(nèi)是軟件開(kāi)發(fā)的一種主流技術(shù)。C++是一門(mén)面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,它兼容C,在C語(yǔ)言的基礎(chǔ)上擴(kuò)展而來(lái),因此它既支持面向過(guò)程程序設(shè)計(jì),又支持面向?qū)ο蟪绦蛟O(shè)計(jì)。C++程序結(jié)構(gòu)靈活、代碼簡(jiǎn)潔、可移植性好,同時(shí)安全性好、執(zhí)行效率高、可兼容性和可擴(kuò)展性強(qiáng),因而被廣泛應(yīng)用于各種應(yīng)用領(lǐng)域和系統(tǒng)軟件開(kāi)發(fā)中。21世紀(jì)是一個(gè)集信息化、網(wǎng)絡(luò)化、智能化于一體的時(shí)代。在這個(gè)時(shí)代,信息處理、網(wǎng)絡(luò)控制、智能算法研究等都離不開(kāi)程序設(shè)計(jì),因此掌握一門(mén)程序設(shè)計(jì)語(yǔ)言將是中高端人才必備的技能。而編寫(xiě)C++教材也是作者多年的心愿,正是在此背景下,我們編寫(xiě)了本書(shū)。本書(shū)特點(diǎn)本書(shū)融入了作者多年教授程序設(shè)計(jì)語(yǔ)言課程的體會(huì)和感受,對(duì)學(xué)生容易弄混或不易理解的地方通過(guò)案例、提示、注意等進(jìn)行反復(fù)強(qiáng)調(diào),從而加深學(xué)生的理解。同時(shí)將程序設(shè)計(jì)的思路盡量用日常生活中的事件進(jìn)行解釋?zhuān)苊獬橄。?duì)每個(gè)知識(shí)點(diǎn),通過(guò)提出待解決問(wèn)題、設(shè)計(jì)分析、實(shí)現(xiàn)、運(yùn)行結(jié)論分析等環(huán)節(jié)來(lái)逐一講解。書(shū)中本著案例不在多和難、貴在精的原則,引導(dǎo)學(xué)生抓住問(wèn)題本質(zhì)。每章結(jié)束都有本章小結(jié)來(lái)總結(jié)所學(xué)知識(shí)點(diǎn),并提供習(xí)題,習(xí)題答案同步提供在網(wǎng)上,學(xué)生可自行檢測(cè)學(xué)習(xí)效果。本書(shū)內(nèi)容全書(shū)由13章構(gòu)成,其中前三章為程序設(shè)計(jì)基礎(chǔ),是C和C++共有的知識(shí)部分,沒(méi)有C語(yǔ)言學(xué)習(xí)經(jīng)歷的學(xué)生可通過(guò)學(xué)習(xí)這三章奠定基礎(chǔ)。這部分內(nèi)容包括編程本質(zhì)、編寫(xiě)程序的思路、面向?qū)ο蟪绦蚋拍、?biāo)識(shí)符、控制結(jié)構(gòu)、數(shù)據(jù)類(lèi)型、表達(dá)式、名字空間、函數(shù)等。第4章到第11章為面向?qū)ο蟪绦蛟O(shè)計(jì)部分,這部分內(nèi)容采用循序漸進(jìn)的方式逐一展開(kāi)介紹,重點(diǎn)介紹面向?qū)ο蟾拍,包括?lèi)與對(duì)象、運(yùn)算符重載、組合與繼承、多態(tài)、模板、字符串、異常處理、輸入輸出流和文件等。通過(guò)這部分內(nèi)容的學(xué)習(xí),學(xué)生應(yīng)掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的核心思想。第12章為C++標(biāo)準(zhǔn)模板庫(kù)(STL),包括容器、迭代器以及各種算法,這是一些類(lèi)模板和函數(shù)模板,它們體現(xiàn)了C++泛化程序設(shè)計(jì)的思想,在C++程序開(kāi)發(fā)中可以直接使用。通過(guò)本章內(nèi)容的學(xué)習(xí),希望學(xué)生能在學(xué)習(xí)別人經(jīng)驗(yàn)的同時(shí),體會(huì)泛化程序設(shè)計(jì)的思想,并思考如何能更好地進(jìn)行代碼復(fù)用,從而養(yǎng)成對(duì)設(shè)計(jì)成果積累的習(xí)慣,以提高編程效率。第13章為利用C++開(kāi)發(fā)的綜合案例,通過(guò)旅行商問(wèn)題、貪吃蛇游戲和學(xué)生信息管理系統(tǒng)案例的學(xué)習(xí),希望學(xué)生能在軟件開(kāi)發(fā)中進(jìn)一步提高問(wèn)題分析、設(shè)計(jì)、實(shí)現(xiàn)、調(diào)試等能力。對(duì)學(xué)生的學(xué)習(xí)要求程序設(shè)計(jì)實(shí)踐性較強(qiáng),因此課后練習(xí)非常重要,學(xué)生在學(xué)習(xí)知識(shí)點(diǎn)的過(guò)程中,建議首先將書(shū)中案例在計(jì)算機(jī)上進(jìn)行調(diào)試,根據(jù)理解分析程序運(yùn)行結(jié)果并用程序的實(shí)際輸出結(jié)果驗(yàn)證分析,從而能夠讀懂程序、理解程序、掌握相關(guān)知識(shí)點(diǎn),并能夠舉一反三,利用掌握的相關(guān)知識(shí)點(diǎn)完成課后的編程練習(xí)。課時(shí)安排根據(jù)多年的教學(xué)經(jīng)驗(yàn),建議學(xué)時(shí)為64,其中理論32學(xué)時(shí)、實(shí)驗(yàn)32學(xué)時(shí)。編程基礎(chǔ)是程序設(shè)計(jì)的基石,基礎(chǔ)不好,將會(huì)極大地降低學(xué)生的學(xué)習(xí)興趣,因此建議前三章內(nèi)容的教學(xué)進(jìn)度慢一點(diǎn),反復(fù)夯實(shí)基礎(chǔ),再開(kāi)始后面內(nèi)容的學(xué)習(xí)。本書(shū)同時(shí)配有課件和習(xí)題答案,如有需要,可到華章網(wǎng)站下載。本書(shū)第10章和第11章由張雪松編寫(xiě),其余章節(jié)由宋存利編寫(xiě),全書(shū)統(tǒng)稿由宋存利完成。本書(shū)在編寫(xiě)過(guò)程中,得到了不少專(zhuān)家、學(xué)者的指導(dǎo),同時(shí)也參考了學(xué)生學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言課程的一些想法,在此對(duì)他們表示感謝。由于時(shí)間匆忙,書(shū)中難免有表述不當(dāng)之處,歡迎您對(duì)書(shū)中內(nèi)容提出批評(píng)和修改建議,我們將不勝感激。如需回函,請(qǐng)務(wù)必寫(xiě)明您的電子郵件地址。作者聯(lián)系方式如下。E-mail:scunli@163com微信號(hào):scunli1975作 者2020年10月于大連交通大學(xué)
宋存利,大連交通大學(xué)副教授,工學(xué)博士。主要研究方向?yàn)樯a(chǎn)調(diào)度問(wèn)題、智能優(yōu)化算法等。主講課程有“軟件工程”“C++程序設(shè)計(jì)”“JSP程序設(shè)計(jì)”等,教學(xué)經(jīng)驗(yàn)豐富,深受學(xué)生喜愛(ài)。曾主持或參加過(guò)多項(xiàng)遼寧省自然科學(xué)基金項(xiàng)目和遼寧省教育廳科研項(xiàng)目,作為主要參與人參與了多項(xiàng)國(guó)家自然科學(xué)基金項(xiàng)目。張雪松,大連交通大學(xué)講師,工學(xué)博士。主要研究方向?yàn)橛?jì)算機(jī)視覺(jué)和軟件工程。主講課程有“C++程序設(shè)計(jì)”“Java程序設(shè)計(jì)”等,教學(xué)經(jīng)驗(yàn)豐富,深受學(xué)生喜愛(ài)。精通C++和Java等主流編程語(yǔ)言,同時(shí)具有豐富的軟件項(xiàng)目開(kāi)發(fā)和管理經(jīng)驗(yàn)。曾主持或參加過(guò)多項(xiàng)遼寧省自然科學(xué)基金項(xiàng)目和遼寧省教育廳科研項(xiàng)目,作為主要參與人參與了多項(xiàng)國(guó)家自然科學(xué)基金項(xiàng)目。