C++程序設(shè)計(jì)教程

出版時(shí)間:2010-8  出版社:華中科技大學(xué)出版社  作者:瞿紹軍,劉宏  頁(yè)數(shù):265  
Tag標(biāo)簽:無(wú)  

前言

  C++語(yǔ)言是目前最流行的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言之一。它既支持傳統(tǒng)的面向過(guò)程的程序設(shè)計(jì)方法,也支持面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。它是Linux和Unix下編程的最主要的語(yǔ)言之一,也是嵌入式開發(fā)最常用的編程語(yǔ)言之一。C++全面兼容C,熟悉C的程序員僅需學(xué)習(xí)C++語(yǔ)言的面向?qū)ο筇卣?,就可很快地用C++編寫程序。  本書是一本通過(guò)編程實(shí)踐引導(dǎo)學(xué)生掌握C++程序開發(fā)的教材。我們組織了多位長(zhǎng)期從事程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、面向?qū)ο蟪绦蛟O(shè)計(jì)和計(jì)算機(jī)算法設(shè)計(jì)課程教學(xué)的老師參與本書編寫,其中部分老師還是本校的ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽集訓(xùn)隊(duì)的教練和指導(dǎo)老師,他們都有著豐富的教學(xué)和編程經(jīng)驗(yàn)。本書在編寫過(guò)程中力求將復(fù)雜的概念用簡(jiǎn)潔、通俗的語(yǔ)言來(lái)描述,做到深入淺出、循序漸進(jìn),從而使學(xué)生能體會(huì)到學(xué)習(xí)編程的樂趣。  本書將ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽引入課程學(xué)習(xí)之中,使學(xué)生從編程入門開始就養(yǎng)成良好的編程習(xí)慣和編程思維,強(qiáng)化學(xué)生對(duì)實(shí)際問(wèn)題分析能力和解決問(wèn)題能力的培養(yǎng),激發(fā)學(xué)生對(duì)編程的興趣,達(dá)到以教學(xué)促競(jìng)賽,以競(jìng)賽強(qiáng)化教學(xué)的目的?! CM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽是由國(guó)際計(jì)算機(jī)界具有悠久歷史的權(quán)威性組織ACM學(xué)會(huì)(Association for Computing Machinery)主辦的,是目前世界上公認(rèn)的規(guī)模最大、水平最高、參與人數(shù)最多的大學(xué)生程序設(shè)計(jì)競(jìng)賽之一,其宗旨是使大學(xué)生能通過(guò)計(jì)算機(jī)充分展示自己分析問(wèn)題和解決問(wèn)題的能力?,F(xiàn)在各個(gè)高校都非常重視計(jì)算機(jī)程序設(shè)計(jì)競(jìng)賽?! ∨c本書配套的教材《C++程序設(shè)計(jì)教程習(xí)題答案和實(shí)驗(yàn)指導(dǎo)》提供了本課程的實(shí)驗(yàn)內(nèi)容、習(xí)題參考答案和模擬試卷。所有習(xí)題和程序均按照ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽要求進(jìn)行設(shè)計(jì),編者進(jìn)行了嚴(yán)格的測(cè)試,驗(yàn)證了程序的正確性。  參與本書編寫的人員有瞿紹軍、劉宏、邱建雄、謝中科、何迎生、張楚才、戴經(jīng)國(guó)、唐贊玉、張引瓊、張歷卓、彭華?! ”緯樟藝?guó)內(nèi)外近幾年出版的同類教材的優(yōu)點(diǎn),內(nèi)容豐富,特別適合用做計(jì)算機(jī)專業(yè)和相關(guān)專業(yè)的教材,作為ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽入門教材,也可作為各類考試培訓(xùn)和C++自學(xué)教材。

內(nèi)容概要

本書緊密結(jié)合目前高等學(xué)校計(jì)算機(jī)教學(xué)的發(fā)展趨勢(shì),將ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽的相關(guān)內(nèi)容引入教材,對(duì)學(xué)生養(yǎng)成良好的編程習(xí)慣和編程思維,提高分析和解決問(wèn)題的能力大有幫助-這是本書的創(chuàng)新之處。    全書共分12章,各章節(jié)內(nèi)容由淺入深、相互銜接、前后呼應(yīng)、循序漸進(jìn)。第1~6章介紹了C+十程序設(shè)計(jì)的基礎(chǔ)、函數(shù)與程序結(jié)構(gòu)、數(shù)組與字符串、指針、結(jié)構(gòu)體與共用體、ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽相關(guān)知識(shí)和競(jìng)賽中的輸入/輸出等;第7~11章介紹了C++面向?qū)ο蟮奶匦?,包括類與對(duì)象及封裝性、類的深入、運(yùn)算符重載和模板、繼承性、多態(tài)性;第12章介紹了C++輸入/輸出流和ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽中的文件輸入/輸出;附錄A列出了ASCⅡ碼對(duì)照表;附錄B列出了C/C++與標(biāo)準(zhǔn)C++頭文件對(duì)照表,方便學(xué)習(xí)和參考;附錄C介紹了Linux、Unix下編譯和調(diào)試C++程序的方法。    與本書配套的教材《C++程序設(shè)計(jì)教程習(xí)題答案和實(shí)驗(yàn)指導(dǎo)》提供了本課程的實(shí)驗(yàn)內(nèi)容、習(xí)題參考答案和模擬試卷。所有習(xí)題和程序均按照ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽要求進(jìn)行設(shè)計(jì),并進(jìn)行了嚴(yán)格的測(cè)試,驗(yàn)證了程序的正確性。本課程設(shè)有專門的課程學(xué)習(xí)網(wǎng)站,具有豐富的學(xué)習(xí)參考資料,所有的習(xí)題均可在學(xué)習(xí)網(wǎng)站進(jìn)行測(cè)試。    本書特別適合用做計(jì)算機(jī)專業(yè)和相關(guān)專業(yè)的教材,作為ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽入門教材,也可作為各類考試培訓(xùn)和C++程序設(shè)計(jì)自學(xué)教材。

書籍目錄

第1章 C++語(yǔ)言概述  1.1 C++語(yǔ)言簡(jiǎn)介    1.1.1 C++語(yǔ)言的發(fā)展    1.1.2 C++語(yǔ)言的特點(diǎn)  1.2 C++程序基本結(jié)構(gòu)  1.3 C++程序的開發(fā)環(huán)境    1.3.1 Turbo C++    1.3.2 Visual C++    1.3.3 Dev-C++  1.4 ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽    1.4.1 ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽簡(jiǎn)介    1.4.2 競(jìng)賽規(guī)則    1.4.3 自動(dòng)評(píng)測(cè)系統(tǒng)    l.4.4 競(jìng)賽學(xué)習(xí)資源  習(xí)題1第2章 C++語(yǔ)言編程基礎(chǔ)  2.1 C++語(yǔ)言詞法    2.1.1 注釋    2.1.2 關(guān)鍵字    2.1.3 標(biāo)識(shí)符    2.1.4 常量    2.1.5 變量    2.1.6 運(yùn)算符    2.1.7 分隔符  2.2 基本數(shù)據(jù)類型    2.2.1 整型    2.2.2 浮點(diǎn)型    2.2.3 字符型    2.2.4 布爾型    2.2.5 類型轉(zhuǎn)換  2.3 運(yùn)算符與表達(dá)式    2.3.1 算術(shù)運(yùn)算符及其表達(dá)式    2.3.2 賦值運(yùn)算符及其表達(dá)式    2.3.3 關(guān)系運(yùn)算符及其表達(dá)式    2.3.4 邏輯運(yùn)算符及其表達(dá)式    2.3.5 位運(yùn)算符    2.3.6 條件運(yùn)算符    2.3.7 運(yùn)算符的優(yōu)先級(jí)  2.4 流程控制語(yǔ)句    2.4.1 C++語(yǔ)句    2.4.2 if語(yǔ)句與條件選擇控制    2.4.3 條件表達(dá)式    2.4.4 switch語(yǔ)句與多項(xiàng)選擇    2.4.5 while語(yǔ)句    2.4.6 do while語(yǔ)句    2.4.7 for語(yǔ)句    2.4.8 break語(yǔ)句和continue語(yǔ)句    2.4.9 循環(huán)嵌套    2.4.10 return語(yǔ)句    2.4.11 程序設(shè)計(jì)綜合舉例  2.5 ACM-ICPC中的輸入/輸出  習(xí)題2第3章 函數(shù)與程序結(jié)構(gòu)  3.1 函數(shù)與程序結(jié)構(gòu)概述  3.2 函數(shù)的定義與聲明    3.2.1 函數(shù)的定義    3.2.2 函數(shù)聲明與函數(shù)原型  3.3 函數(shù)參數(shù)和函數(shù)調(diào)用    3.3.1 函數(shù)形式參數(shù)和實(shí)際參數(shù)    3.3.2 函數(shù)的返回值    3.3.3 函數(shù)調(diào)用  3.4 函數(shù)的嵌套與遞歸調(diào)用    3.4.1 函數(shù)的嵌套調(diào)用    3.4.2 遞歸調(diào)用  3.5 變量作用域和存儲(chǔ)類型    3.5.1 局部變量與全局變量    3.5.2 靜態(tài)存儲(chǔ)變量和動(dòng)態(tài)存儲(chǔ)變量  3.6 內(nèi)聯(lián)函數(shù)  3.7 重載函數(shù)與默認(rèn)參數(shù)函數(shù)    3.7.1 重載函數(shù)    3.7.2 默認(rèn)參數(shù)函數(shù)  3.8 編譯預(yù)處理    3.8.1 文件包含    3.8.2 宏定義    3.8.3 條件編譯  習(xí)題3第4章 數(shù)組與字符串  4.1 數(shù)組的概念  4.2 數(shù)組的定義    4.2.1 一維數(shù)組    4.2.2 二維數(shù)組  4.3 數(shù)組作為函數(shù)的參數(shù)    4.3.1 用數(shù)組元素做函數(shù)實(shí)參    4.3.2 用數(shù)組名做函數(shù)參數(shù)    4.3.3 用多維數(shù)組名做函數(shù)參數(shù)  4.4 數(shù)組應(yīng)用舉例  4.5 字符串    4.5.1 字符串概念    4.5.2 字符串函數(shù)    4.5.3 字符串應(yīng)用舉例  習(xí)題4第5章 指針  5.1 指針的概念  5.2 指針變量    5.2.1 指針定義    5.2.2 指針運(yùn)算符    5.2.3 引用變量    5.2.4 多級(jí)指針與指針數(shù)組    5.2.5 指針與常量限定符  5.3 指針與數(shù)組    5.3.1 指針與一維數(shù)組    5.3.2 指針與二維數(shù)組    5.3.3 指針與字符數(shù)組    5.3.4 指針與函數(shù)  5.4 指針運(yùn)算  5.5 動(dòng)態(tài)存儲(chǔ)分配    5.5.1 new操作符    5.5.2 delete操作符  習(xí)題5第6章 結(jié)構(gòu)體與共用體  6.1 結(jié)構(gòu)體    6.1.1 結(jié)構(gòu)體的聲明    6.1.2 結(jié)構(gòu)體變量的引用及初始化賦值  6.2 嵌套結(jié)構(gòu)體  6.3 結(jié)構(gòu)體數(shù)組    6.3.1 結(jié)構(gòu)體數(shù)組的定義和初始化    6.3.2 結(jié)構(gòu)體數(shù)組成員的引用  6.4 結(jié)構(gòu)體指針    6.4.1 指向結(jié)構(gòu)體變量的指針    6.4.2 指向結(jié)構(gòu)體數(shù)組的指針    6.4.3 用結(jié)構(gòu)體變量和指向結(jié)構(gòu)體變量的指針作為函數(shù)參數(shù)  6.5 鏈表的基本操作    6.5.1 鏈表基本知識(shí)    6.5.2 內(nèi)存動(dòng)態(tài)管理函數(shù)    6.5.3 建立鏈表    6.5.4 輸出鏈表    6.5.5 對(duì)鏈表的刪除操作    6.5.6 對(duì)鏈表的插入操作    6.5.7 對(duì)鏈表的綜合操作  6.6 共用體    6.6.1 共用體的概念    6.6.2 共用型變量的定義    6.6.3 共用型變量的引用    6.6.4 共用型數(shù)據(jù)的特點(diǎn)    6.6.5 共用型變量的應(yīng)用  6.7 枚舉類型  6.8 用typedef定義  習(xí)題6第7章類與對(duì)象及封裝性  7.1 類的抽象  7.2 類的定義與對(duì)象的生成  7.3 構(gòu)造函數(shù)和析構(gòu)函數(shù)  7.4 構(gòu)造函數(shù)的重載  7.5 對(duì)象指針  習(xí)題7第8章類的深入  8.1 友元函數(shù)  8.2 對(duì)象傳入函數(shù)的討論  8.3 函數(shù)返回對(duì)象的討論  8.4 拷貝構(gòu)造函數(shù)  8.5 this關(guān)鍵字  習(xí)題8第9章運(yùn)算符重載和模板  9.1 使用成員函數(shù)的運(yùn)算符重載  9.2 友元運(yùn)算符函數(shù)  9.3 重載關(guān)系運(yùn)算符  9.4 進(jìn)一步考查賦值運(yùn)算符  9.5 重載new和delete  9.6 重載[]  9.7 重載其他運(yùn)算符  9.8 模板    9.8.1 模板的概念    9.8.2 函數(shù)模板    9.8.3 類模板  習(xí)題9第10章繼承性  10.1 對(duì)繼承性的理解  10.2 類的繼承過(guò)程  10.3 基類訪問(wèn)控制  10.4 簡(jiǎn)單的多重繼承  10.5 構(gòu)造函數(shù)/析構(gòu)函數(shù)的調(diào)用順序  10.6 給基類構(gòu)造函數(shù)傳遞參數(shù)  10.7 訪問(wèn)的許可  10.8 虛基類  習(xí)題10第11章多態(tài)性  11.1 指向派生類型的指針  11.2 虛函數(shù)  11.3 繼承虛函數(shù)  11.4 多態(tài)性的優(yōu)點(diǎn)  11.5 純虛函數(shù)和抽象類  習(xí)題11第12章輸入/輸出流  12.1 C++的輸入/輸出  12.2 標(biāo)準(zhǔn)輸入/輸出流  12.3 文件操作與文件流  12.4 串流類  12.5 格式控制    12.5.1 格式控制符    12.5.2 流對(duì)象的成員函數(shù)  12.6 ACM-ICPC中的文件輸入/輸出  習(xí)題12附錄A ASCⅡ碼對(duì)照表附錄B C/C++與標(biāo)準(zhǔn)C++頭文件對(duì)照表附錄C Linux、Linix下編譯C++程序參考文獻(xiàn)

章節(jié)摘錄

  [本章主要內(nèi)容]本章主要介紹C++語(yǔ)言的發(fā)展、特點(diǎn),面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念,C++程序的基本結(jié)構(gòu),幾種常用的C++開發(fā)環(huán)境,以及ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽的基本情況?! ?.1 C++語(yǔ)言簡(jiǎn)介  1.1.1 C++語(yǔ)言的發(fā)展  C語(yǔ)言是貝爾實(shí)驗(yàn)室于20世紀(jì)70年代初研制出來(lái)的,后來(lái)又被多次改進(jìn),并出現(xiàn)了多種版本。C語(yǔ)言既具有高級(jí)語(yǔ)言的特點(diǎn),即表達(dá)力豐富,可移植性好,又具有低級(jí)語(yǔ)言的一些特點(diǎn),即能夠很方便地實(shí)現(xiàn)匯編級(jí)的操作,目標(biāo)程序效率較高。剛開始形成的C語(yǔ)言受到那些想建立更快、更有效的代碼的程序員歡迎。有一位名為Bjarne Stroustrup的人卻不滿足于僅僅是快速生成代碼,他想創(chuàng)建面向?qū)ο蟮腃語(yǔ)言。他開始對(duì)C語(yǔ)言的內(nèi)核進(jìn)行必要的修改,使其能滿足面向?qū)ο竽P偷囊?,C++從此產(chǎn)生?! ++語(yǔ)言自誕生以來(lái),經(jīng)過(guò)開發(fā)和擴(kuò)充,已成一種完全成熟的編程語(yǔ)言。現(xiàn)在C++已被ANSI、BSI、DIN、一些國(guó)家標(biāo)準(zhǔn)機(jī)構(gòu)和ISO定為標(biāo)準(zhǔn)?! ++標(biāo)準(zhǔn)演變了許多年。C++模板則是近幾年來(lái)對(duì)此語(yǔ)言的一種擴(kuò)展。模板是根據(jù)類型參數(shù)來(lái)產(chǎn)生函數(shù)和類的機(jī)制的,有時(shí)也稱模板為“參數(shù)化的類型”。使用模板,可以設(shè)計(jì)一個(gè)對(duì)許多類型的數(shù)據(jù)進(jìn)行操作的類,而不需要為每個(gè)類型的數(shù)據(jù)建立一個(gè)單獨(dú)的類。標(biāo)準(zhǔn)模板庫(kù)(standardtemplate1mrary,STL)和微軟的活動(dòng)模板庫(kù)(activetem platelibrary,ATL)都是基于這個(gè)C++語(yǔ)言擴(kuò)展的?! ++標(biāo)準(zhǔn)可分為兩部分:C++語(yǔ)言本身和C++標(biāo)準(zhǔn)庫(kù)。C++標(biāo)準(zhǔn)庫(kù)提供了標(biāo)準(zhǔn)的輸入/輸出、字符串、容器(如矢量、列表和映射等)、非數(shù)值運(yùn)算(如排序、搜索和合并等)和對(duì)數(shù)值計(jì)算的支持。應(yīng)該說(shuō),C/C++包含了相對(duì)少的關(guān)鍵字,很多最有用的函數(shù)都來(lái)源于庫(kù),用C++標(biāo)準(zhǔn)庫(kù)實(shí)現(xiàn)容器和部分算法就是標(biāo)準(zhǔn)模板庫(kù)。1.1.2 C++語(yǔ)言的特點(diǎn)  C++語(yǔ)言之所以被人們廣泛認(rèn)可,是因?yàn)樗哂性S多先進(jìn)的技術(shù)特點(diǎn)?! ?.優(yōu)越的性能  性能包含兩方面:算法速度和機(jī)器代碼效率。通俗地講,算法是指解決問(wèn)題的一種方法或一個(gè)過(guò)程。嚴(yán)格地定義,算法是由若干條指令組成的有窮序列。例如,一個(gè)算法定義為獲取一個(gè)字符串,計(jì)算字符串中的字符個(gè)數(shù),并作為結(jié)果返回的過(guò)程。所以在編程之前必須設(shè)計(jì)算法,編寫一個(gè)快速程序的第一個(gè)步驟是設(shè)計(jì)良好的算法,以最少的操作步驟得出問(wèn)題的答案。第二個(gè)步驟是選擇語(yǔ)言,這也影響程序的速度。

圖書封面

圖書標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    C++程序設(shè)計(jì)教程 PDF格式下載


用戶評(píng)論 (總計(jì)2條)

 
 

  •   本書緊密結(jié)合目前高校計(jì)算機(jī)教學(xué)和發(fā)展趨勢(shì),將ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽引進(jìn)教材,對(duì)學(xué)生養(yǎng)成良好的編程習(xí)慣和編程思維,提高分析和解決問(wèn)題能力大有幫助,這是本教材的創(chuàng)新之處。

    本書的配套教材《C++程序設(shè)計(jì)教程習(xí)題答案和實(shí)驗(yàn)指導(dǎo)》提供了本課程的實(shí)驗(yàn)內(nèi)容、參考答案和模擬試卷。所有習(xí)題和程序均按照ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽要求進(jìn)行設(shè)計(jì),并進(jìn)行了嚴(yán)格的測(cè)試,驗(yàn)證了程序的正確性。本課程設(shè)有專門的課程學(xué)習(xí)網(wǎng)站,具有豐富的學(xué)習(xí)參考資料,所有的習(xí)題均可在學(xué)習(xí)網(wǎng)站(****://acm.hunnu.edu***/online/c++/Index.htm)進(jìn)行測(cè)試。
  •   給別人買的,還不錯(cuò)。
 

250萬(wàn)本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7