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