《普通高等教育“十一五”國家級規(guī)劃教材·計(jì)算機(jī)系列教材:C/C++程序設(shè)計(jì)案例教程》是普通高等教育“十一五”國家規(guī)劃教材,是“C/C++語言程序設(shè)計(jì)”精品課程建設(shè)的配套教材。
全書內(nèi)容共分兩篇。第一篇是基礎(chǔ)篇,介紹C語言程序設(shè)計(jì)的基本知識及其應(yīng)用,主要內(nèi)容包括數(shù)據(jù)類型、程序控制結(jié)構(gòu)、數(shù)組、函數(shù)、結(jié)構(gòu)體與共用體、文件等;第二篇是提高篇,介紹C++程序設(shè)計(jì)方法。主要內(nèi)容有面向?qū)ο蟪绦蛟O(shè)計(jì)、C++程序的基本知識、類與對象、繼承與組合、指針與多態(tài)性、重載與模板等。
《普通高等教育“十一五”國家級規(guī)劃教材·計(jì)算機(jī)系列教材:C/C++程序設(shè)計(jì)案例教程》按照“精講多練、重在實(shí)踐”的原則,以“案例驅(qū)動知識”的寫作方法,以C語言內(nèi)容為人門,循序漸進(jìn),由淺人深地將面向過程程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)的知識有機(jī)地結(jié)合起來,體現(xiàn)了教材的應(yīng)用性、創(chuàng)造性和先進(jìn)性。
《普通高等教育“十一五”國家級規(guī)劃教材·計(jì)算機(jī)系列教材:C/C++程序設(shè)計(jì)案例教程》可作為高等學(xué)校程序設(shè)計(jì)課程的教材,也可以作為培訓(xùn)或自學(xué)教材。
《C語言程序設(shè)計(jì)案例教程》(含實(shí)驗(yàn))自2009年第1版印刷以來,受到廣大讀者的歡迎,隨著計(jì)算機(jī)技術(shù)應(yīng)用的普及,信息時代對IT人員提出了更高的要求與挑戰(zhàn),不僅要掌握面向過程的C程序設(shè)計(jì)語言,還要掌握面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,Visual C++成為繼C語言之后的首選的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。為此,編者按照普通高等教育“十一五”國家規(guī)劃教材建設(shè)的要求,結(jié)合新的教育教學(xué)的要求對第1版教材進(jìn)行了必要的修訂。
修訂后的教材其教學(xué)目標(biāo)與前版相同,重點(diǎn)在培養(yǎng)學(xué)生用計(jì)算機(jī)解決實(shí)際問題的能力,提高學(xué)生的編程和軟件開發(fā)能力,為計(jì)算機(jī)科學(xué)與技術(shù)各相關(guān)專業(yè)學(xué)生后續(xù)課程的學(xué)習(xí)與實(shí)踐打下良好的基礎(chǔ)。同時,根據(jù)讀者的反饋意見,將數(shù)組與函數(shù)的內(nèi)容在順序上進(jìn)行了調(diào)整,增加了C++程序設(shè)計(jì)的知識,總結(jié)教學(xué)中的經(jīng)驗(yàn),對部分內(nèi)容進(jìn)行了修改,教材中的實(shí)例都在Visual C++ 6.0環(huán)境下完成。本教材推薦使用時間為一學(xué)年,第1學(xué)期講授C語言程序設(shè)計(jì)(64學(xué)時或80學(xué)時,含實(shí)驗(yàn)32學(xué)時); 第2學(xué)期講授C++程序設(shè)計(jì)(大概64學(xué)時,含實(shí)驗(yàn)32學(xué)時)。通過一學(xué)年的學(xué)習(xí)使讀者能夠循序漸進(jìn)地掌握C/C++程序設(shè)計(jì)方法與技巧,為今后的程序研發(fā)工作夯實(shí)基礎(chǔ)。
《C/C++程序設(shè)計(jì)案例教程》全書共分兩篇。
第一篇是基礎(chǔ)篇,重點(diǎn)介紹C語言程序設(shè)計(jì)內(nèi)容,共分9章: 第1章和2章介紹C語言的基本知識; 第3章是數(shù)據(jù)類型及應(yīng)用,介紹C語言中所用到的各種基本數(shù)據(jù)類型; 第4章介紹C語言的三種程序控制結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)與循環(huán)程序結(jié)構(gòu)及其應(yīng)用; 第5章是數(shù)組及應(yīng)用。主要介紹一維數(shù)組、二維數(shù)組及字符數(shù)組的定義、初始化及引用。著重對指針訪問數(shù)組進(jìn)行了舉例; 第6章是函數(shù)及應(yīng)用,主要介紹了函數(shù)的定義、函數(shù)的調(diào)用、全局變量與局部變量的應(yīng)用,重點(diǎn)介紹了指針作為函數(shù)參數(shù)的引用; 第7章是結(jié)構(gòu)體與共用體的定義與引用,對單鏈表的建立、插入與刪除進(jìn)行了舉例; 第8章是文件的讀寫及應(yīng)用; 第9章是位運(yùn)算操作。
第二篇是提高篇,重點(diǎn)介紹C++程序設(shè)計(jì)方法,共分7章: 第10章和第11章主要介紹面向?qū)ο蟪绦蛟O(shè)計(jì)與C++程序的基本知識,重點(diǎn)介紹與C語言程序設(shè)計(jì)的異同內(nèi)容; 第12章是類與對象,介紹C++中類的定義及其應(yīng)用; 第13章是繼承與組合,介紹繼承的定義與組合的應(yīng)用; 第14章是多態(tài)性,主要介紹多態(tài)性的作用以及多態(tài)性的實(shí)現(xiàn); 第15章是異常處理機(jī)制,介紹C++的異常處理機(jī)制和自定義異常類,重點(diǎn)介紹如何通過trythrowcatch語句實(shí)現(xiàn)異常處理; 第16章是綜合應(yīng)用,運(yùn)用C++的知識點(diǎn)開發(fā)一個簡單的圖形對象程序。
另外,為了更好地培養(yǎng)學(xué)生的編程能力,配合計(jì)算機(jī)科學(xué)與技術(shù)、信息管理專業(yè)課程建設(shè)的需要,在編寫《C/C++程序設(shè)計(jì)案例教程》的過程中,寫作組的老師們根據(jù)多年教學(xué)實(shí)踐與經(jīng)驗(yàn),提出編寫了《C/C++程序設(shè)計(jì)學(xué)習(xí)指南》的配套輔助教學(xué)教材,為課堂教學(xué)、實(shí)驗(yàn)指導(dǎo)、學(xué)生自學(xué)提供立體的教學(xué)資源。本書既適合高等院校的本科學(xué)生使用,也適合于熱愛軟件開發(fā)人員作為自學(xué)的參考資料。
本教材的作者都是高等院校的教師。本書的出版是“C/C++程序設(shè)計(jì)”精品課程建設(shè)中所催生的產(chǎn)物,在課程建設(shè)過程中,編寫組成員對教材內(nèi)容、教學(xué)方法進(jìn)行了多次的研討,最后確定了以“案例驅(qū)動知識”的寫作方法,經(jīng)過幾年的使用,受到廣大讀者的好評。
本教材的第一篇由仇芒仙(第1~3章和第5章)、魏遠(yuǎn)旺(第4章)、張麗華(第6~8章)、李永剛(第9章)編寫; 第二篇由朱蓉(第10章)、許杰(第11章和第12章)、趙利平(第13和第15章)、葉利華(第14章和第16章)編寫。全書由仇芒仙教授和朱蓉博士統(tǒng)稿。在本書再版之際,對修訂過程中給予幫助并提出了建設(shè)性的意見的殷聯(lián)甫、龔迅煒、殷海明等表示感謝。
對支持本書再版的清華大學(xué)出版社的領(lǐng)導(dǎo)及魏江江表示感謝!
感謝嘉興學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科的支持!
由于編者水平有限,書中疏漏之處在所難免,敬請各位讀者及同仁不各賜教,謝謝!
編者2012年4月
第一篇 基礎(chǔ)篇
第1章 C程序概述
1.1 C程序的結(jié)構(gòu)
1.1.1 C程序?qū)嵗?br>1.1.2 C程序構(gòu)成
1.1.3 書寫程序時應(yīng)遵循的原則
1.2 C語言的發(fā)展
1.2.1 C語言的發(fā)展
1.2.2 C語言的特點(diǎn)
1.3 數(shù)據(jù)在計(jì)算機(jī)中的存儲形式與表示方法
1.3.1 內(nèi)存的組織形式
1.3.2 原碼、反碼和補(bǔ)碼
習(xí)題1
第2章 程序與算法
2.1 利用計(jì)算機(jī)解決問題的基本過程
2.2 程序的算法
2.2.1 算法的概念
2.2.2 算法的描述
2.3 結(jié)構(gòu)化程序設(shè)計(jì)
2.3.1 結(jié)構(gòu)化程序的基本結(jié)構(gòu)
2.3.2 結(jié)構(gòu)化程序設(shè)計(jì)的特點(diǎn)與方法
2.3.3 結(jié)構(gòu)化程序設(shè)計(jì)的過程
2.3.4 程序設(shè)計(jì)的原則
2.4 C程序的運(yùn)行步驟
習(xí)題2
第3章 數(shù)據(jù)類型及其應(yīng)用
3.1 C語言的數(shù)據(jù)類型
3.2 常量
3.3 變量
3.3.1 變量的命名
3.3.2 變量的分類與說明
3.3.3 變量的地址——指針
3.4 運(yùn)算符和表達(dá)式
3.4.1 常見的運(yùn)算符
3.4.2 表達(dá)式
3.4.3 數(shù)據(jù)類型轉(zhuǎn)換
3.5 數(shù)據(jù)的輸出
3.5.1 printf()函數(shù)
3.5.2 字符輸出函數(shù)putchar()
3.6 數(shù)據(jù)的輸入
3.6.1 scanf()函數(shù)
3.6.2 字符輸入函數(shù)getchar()
習(xí)題3
第4章 控制結(jié)構(gòu)
4.1 順序結(jié)構(gòu)
4.2 選擇結(jié)構(gòu)
4.2.1 if語句
4.2.2 switch語句
4.3 循環(huán)結(jié)構(gòu)
4.3.1 用while語句實(shí)現(xiàn)循環(huán)
4.3.2 用do-while語句實(shí)現(xiàn)循環(huán)
4.3.3 用for。語句實(shí)現(xiàn)循環(huán)
4.3.4 循環(huán)嵌套
4.3.5 break語句和continue語句
4.3.6 goto語句
4.4 綜合實(shí)例
習(xí)題4
第5章 數(shù)組
5.1 一維數(shù)組
5.1.1 一維數(shù)組的定義和引用
5.1.2 一維數(shù)組的初始化
……
第二篇 提高篇