一、課程的概況和總體設(shè)計
《c++程序設(shè)計》是計算機科學(xué)與技術(shù)專業(yè)本科生的一門必修課程。c++軟件開發(fā)方法是吸收了軟件工程領(lǐng)域有益的概念和有效的方法而發(fā)展起來的一種軟件開發(fā)方法。它集抽象性、封裝性、繼承性和多態(tài)性于一體,可以幫助人們開發(fā)出模塊化、數(shù)據(jù)抽象程度高的,體現(xiàn)信息隱蔽、可復(fù)用、易修改、易擴充等特性的程序。
本課程主要介紹c++程序設(shè)計的方法和C++語言的基本概念。以C++語言中的c++機制為主。學(xué)習(xí)者在學(xué)習(xí)過程中可以通過大量的程序?qū)嵗拖嚓P(guān)練習(xí),逐步掌握C++的面向過程和c++的功能,從而掌握c++程序設(shè)計的基本知識和基本技能
二、教學(xué)內(nèi)容
(一)c++的程序設(shè)計方法和C++簡介:
c++程序設(shè)計的基本思想及基本概念:對程序的的質(zhì)量要求;程序的模塊化和結(jié)構(gòu)化;
為什么要c++:從面向過程到c++
C++語言發(fā)展的歷史:c++語言分類;C++中支持c++的特點
c++的軟件開發(fā)環(huán)境與Visual C++
(二)程序設(shè)計基礎(chǔ):
1. C++的程序結(jié)構(gòu)
程序從概念到執(zhí)行:編寫一個C++程序;注釋;文件包含預(yù)處理語句#include;條件預(yù)處理語句;宏替換語句;main函數(shù);從main中返回;終端輸出輸入。
2.C++的數(shù)據(jù)類型:基本數(shù)據(jù)類型、復(fù)合數(shù)據(jù)類型和引申數(shù)據(jù)類型
基本數(shù)據(jù)類型:整型、浮點型、字符型、雙精度浮點型和無值(void)
引申數(shù)據(jù)類型:指針、引用、數(shù)組(本章僅僅提及)
復(fù)合數(shù)據(jù)類型:結(jié)構(gòu)、聯(lián)合、類、位域、枚舉(本章僅僅提及)
3. 常量和變量;
常量:整型常量;浮點型常量;字符型常量;枚舉型常量
變量:變量的說明;變量初始化;變量的修飾符
4.表達(dá)式與操作符
什么是表達(dá)式
運算符:
賦值運算符;賦值中的類型轉(zhuǎn)換;多重賦值;
算術(shù)運算符;自增與自減運算符;
關(guān)系和邏輯運算符;
位操作符;
條件操作符;
指針操作符
編譯時的操作符sizeof;
其他:逗號(,)操作符;點(。)和箭頭(->)操作符;括號[ ]和( )操作符;
操作符優(yōu)先級
表達(dá)式的求值順序;表達(dá)式中的類型轉(zhuǎn)換
5.程序設(shè)計風(fēng)格
(三)語句與程序流程:
語句:復(fù)合語句和塊結(jié)構(gòu)。
分支語句:if語句;嵌套的if語句;階梯型if-then-else語句;條件表達(dá)式;switch開關(guān)語句;嵌套的switch語句。
迭代語句:for循環(huán)及其變化形式;無限循環(huán);沒有循環(huán)體的for循環(huán);while循環(huán);do-while循環(huán)
轉(zhuǎn)移語句:return語句;goto語句;break語句;exit ( )語句;continue語句。
(四)函數(shù):
模塊化程序設(shè)計介紹
函數(shù)的一般形式
函數(shù)的參數(shù):傳值調(diào)用和引用調(diào)用;const參數(shù);數(shù)組參數(shù);引用參數(shù);缺省參數(shù);void參數(shù)
函數(shù)的返回值:返回語句:返回值;返回指針;返回引用;void返回值
遞歸函數(shù)
內(nèi)聯(lián)函數(shù)
函數(shù)和變量作用域
函數(shù)重載
函數(shù)指針
函數(shù)原型與強類型檢查
main的參數(shù)傳遞與返回
(五)類與對象:
復(fù)合數(shù)據(jù)類型:結(jié)構(gòu)、聯(lián)合、位域和類
類的定義
類的成員變量和成員函數(shù),存取級別,作用域分辨符
對象和類的關(guān)系
類的構(gòu)造函數(shù)和析構(gòu)函數(shù):對象的初始化;構(gòu)造函數(shù)的定義;析構(gòu)函數(shù);類/對象數(shù)組;特殊的構(gòu)造函數(shù)X(const X X
靜態(tài)類成員:靜態(tài)成員變量;靜態(tài)成員函數(shù);
const成員:常量成員變量;常量成員函數(shù)
內(nèi)聯(lián)函數(shù):在類中定義內(nèi)聯(lián)函數(shù)
友元:友元函數(shù);友元類
this指針
嵌套類與局部類
在函數(shù)中對象傳遞的機制
類屬性:類屬函數(shù);類屬類
結(jié)構(gòu)與類:結(jié)構(gòu)元素的引用與賦值;結(jié)構(gòu)數(shù)組;向函數(shù)傳遞結(jié)構(gòu);結(jié)構(gòu)指針;結(jié)構(gòu)中的數(shù)組和結(jié)構(gòu);結(jié)構(gòu)作為類的定義
聯(lián)合與類:聯(lián)合作為類的定義;匿名聯(lián)合類的成員變量和成員函數(shù);
(六)數(shù)組、指針和引用:
對象數(shù)組:創(chuàng)建初始化和未初始化的數(shù)組;數(shù)組與指針;數(shù)組賦值;對象數(shù)組
指針:指針變量的定義、初始化;指針運算;指針數(shù)組;指向?qū)ο蟮闹羔?;字符串指?BR> 引用:引用參數(shù);向?qū)ο髠鬟f引用;返回引用;引用與指針的關(guān)系;引用的常用方法
C++的動態(tài)存儲分配:動態(tài)空間的申請與釋放
(七)繼承性與派生類:
類的層次概念:成員的繼承;將概念和實現(xiàn)轉(zhuǎn)變?yōu)轭惖膶哟?BR> 單繼承:定義格式;成員存取控制;受保護基類的繼承;向基類構(gòu)造函數(shù)傳遞參數(shù)
多繼承:多繼承的定義方式;虛基類;二義性問題;多繼承的應(yīng)用
(八)多態(tài)性和虛函數(shù):
函數(shù)重載:函數(shù)重載與二義性;重載構(gòu)造函數(shù);求重載函數(shù)的地址
運算符重載:雙目運算符重載;單目運算符重載;建立增值和減值運算符的前綴和后綴形式;重載縮寫運算符;引用在運算符重載中的應(yīng)用;運算符重載的限制。
使用friend重載運算符:使用friend重載++和——;friend operator函數(shù)的作用
重載new和delete:重載數(shù)組的new和delete
重載某些特殊的運算符:重載[ ];重載( );重載->
重載逗號運算符
虛函數(shù):繼承虛屬性;虛函數(shù)的層次性
純虛函數(shù):抽象類
早期和后期聯(lián)編
(九)C++的I/O系統(tǒng):
流的定義;基本的流類:C++的預(yù)定義流;
格式化的I/O
重載>:創(chuàng)建自己的插入符;創(chuàng)建自己的提取符
創(chuàng)建自己的操縱符函數(shù):創(chuàng)建無參數(shù)的操縱符;創(chuàng)建帶參數(shù)的操縱符
文件與文件流
文件操作:打開和關(guān)閉、文件的定位與隨機存取、文件的讀寫
(十)模板
1.模板的概念
模板的含義;模板的一般定義形式;模板函數(shù)與模板類;模板的作用;隊列類模板和模板類及對象
2.模板的參數(shù)(對非類型參數(shù)只參考就可以了)
類型參數(shù)和非類型參數(shù);參數(shù)的默認(rèn)值
3.模板的使用
模板的使用;隊列類模板;模板的實例化
4.類模板中的友元(參考)
類模板中的友元定義;
5.利用模板進(jìn)行程序設(shè)計舉例
datalist類模板的定義;datalist類的操作的實現(xiàn);int的datalist類的實例
《c++程序設(shè)計》是計算機科學(xué)與技術(shù)專業(yè)本科生的一門必修課程。c++軟件開發(fā)方法是吸收了軟件工程領(lǐng)域有益的概念和有效的方法而發(fā)展起來的一種軟件開發(fā)方法。它集抽象性、封裝性、繼承性和多態(tài)性于一體,可以幫助人們開發(fā)出模塊化、數(shù)據(jù)抽象程度高的,體現(xiàn)信息隱蔽、可復(fù)用、易修改、易擴充等特性的程序。
本課程主要介紹c++程序設(shè)計的方法和C++語言的基本概念。以C++語言中的c++機制為主。學(xué)習(xí)者在學(xué)習(xí)過程中可以通過大量的程序?qū)嵗拖嚓P(guān)練習(xí),逐步掌握C++的面向過程和c++的功能,從而掌握c++程序設(shè)計的基本知識和基本技能
二、教學(xué)內(nèi)容
(一)c++的程序設(shè)計方法和C++簡介:
c++程序設(shè)計的基本思想及基本概念:對程序的的質(zhì)量要求;程序的模塊化和結(jié)構(gòu)化;
為什么要c++:從面向過程到c++
C++語言發(fā)展的歷史:c++語言分類;C++中支持c++的特點
c++的軟件開發(fā)環(huán)境與Visual C++
(二)程序設(shè)計基礎(chǔ):
1. C++的程序結(jié)構(gòu)
程序從概念到執(zhí)行:編寫一個C++程序;注釋;文件包含預(yù)處理語句#include;條件預(yù)處理語句;宏替換語句;main函數(shù);從main中返回;終端輸出輸入。
2.C++的數(shù)據(jù)類型:基本數(shù)據(jù)類型、復(fù)合數(shù)據(jù)類型和引申數(shù)據(jù)類型
基本數(shù)據(jù)類型:整型、浮點型、字符型、雙精度浮點型和無值(void)
引申數(shù)據(jù)類型:指針、引用、數(shù)組(本章僅僅提及)
復(fù)合數(shù)據(jù)類型:結(jié)構(gòu)、聯(lián)合、類、位域、枚舉(本章僅僅提及)
3. 常量和變量;
常量:整型常量;浮點型常量;字符型常量;枚舉型常量
變量:變量的說明;變量初始化;變量的修飾符
4.表達(dá)式與操作符
什么是表達(dá)式
運算符:
賦值運算符;賦值中的類型轉(zhuǎn)換;多重賦值;
算術(shù)運算符;自增與自減運算符;
關(guān)系和邏輯運算符;
位操作符;
條件操作符;
指針操作符
編譯時的操作符sizeof;
其他:逗號(,)操作符;點(。)和箭頭(->)操作符;括號[ ]和( )操作符;
操作符優(yōu)先級
表達(dá)式的求值順序;表達(dá)式中的類型轉(zhuǎn)換
5.程序設(shè)計風(fēng)格
(三)語句與程序流程:
語句:復(fù)合語句和塊結(jié)構(gòu)。
分支語句:if語句;嵌套的if語句;階梯型if-then-else語句;條件表達(dá)式;switch開關(guān)語句;嵌套的switch語句。
迭代語句:for循環(huán)及其變化形式;無限循環(huán);沒有循環(huán)體的for循環(huán);while循環(huán);do-while循環(huán)
轉(zhuǎn)移語句:return語句;goto語句;break語句;exit ( )語句;continue語句。
(四)函數(shù):
模塊化程序設(shè)計介紹
函數(shù)的一般形式
函數(shù)的參數(shù):傳值調(diào)用和引用調(diào)用;const參數(shù);數(shù)組參數(shù);引用參數(shù);缺省參數(shù);void參數(shù)
函數(shù)的返回值:返回語句:返回值;返回指針;返回引用;void返回值
遞歸函數(shù)
內(nèi)聯(lián)函數(shù)
函數(shù)和變量作用域
函數(shù)重載
函數(shù)指針
函數(shù)原型與強類型檢查
main的參數(shù)傳遞與返回
(五)類與對象:
復(fù)合數(shù)據(jù)類型:結(jié)構(gòu)、聯(lián)合、位域和類
類的定義
類的成員變量和成員函數(shù),存取級別,作用域分辨符
對象和類的關(guān)系
類的構(gòu)造函數(shù)和析構(gòu)函數(shù):對象的初始化;構(gòu)造函數(shù)的定義;析構(gòu)函數(shù);類/對象數(shù)組;特殊的構(gòu)造函數(shù)X(const X X
靜態(tài)類成員:靜態(tài)成員變量;靜態(tài)成員函數(shù);
const成員:常量成員變量;常量成員函數(shù)
內(nèi)聯(lián)函數(shù):在類中定義內(nèi)聯(lián)函數(shù)
友元:友元函數(shù);友元類
this指針
嵌套類與局部類
在函數(shù)中對象傳遞的機制
類屬性:類屬函數(shù);類屬類
結(jié)構(gòu)與類:結(jié)構(gòu)元素的引用與賦值;結(jié)構(gòu)數(shù)組;向函數(shù)傳遞結(jié)構(gòu);結(jié)構(gòu)指針;結(jié)構(gòu)中的數(shù)組和結(jié)構(gòu);結(jié)構(gòu)作為類的定義
聯(lián)合與類:聯(lián)合作為類的定義;匿名聯(lián)合類的成員變量和成員函數(shù);
(六)數(shù)組、指針和引用:
對象數(shù)組:創(chuàng)建初始化和未初始化的數(shù)組;數(shù)組與指針;數(shù)組賦值;對象數(shù)組
指針:指針變量的定義、初始化;指針運算;指針數(shù)組;指向?qū)ο蟮闹羔?;字符串指?BR> 引用:引用參數(shù);向?qū)ο髠鬟f引用;返回引用;引用與指針的關(guān)系;引用的常用方法
C++的動態(tài)存儲分配:動態(tài)空間的申請與釋放
(七)繼承性與派生類:
類的層次概念:成員的繼承;將概念和實現(xiàn)轉(zhuǎn)變?yōu)轭惖膶哟?BR> 單繼承:定義格式;成員存取控制;受保護基類的繼承;向基類構(gòu)造函數(shù)傳遞參數(shù)
多繼承:多繼承的定義方式;虛基類;二義性問題;多繼承的應(yīng)用
(八)多態(tài)性和虛函數(shù):
函數(shù)重載:函數(shù)重載與二義性;重載構(gòu)造函數(shù);求重載函數(shù)的地址
運算符重載:雙目運算符重載;單目運算符重載;建立增值和減值運算符的前綴和后綴形式;重載縮寫運算符;引用在運算符重載中的應(yīng)用;運算符重載的限制。
使用friend重載運算符:使用friend重載++和——;friend operator函數(shù)的作用
重載new和delete:重載數(shù)組的new和delete
重載某些特殊的運算符:重載[ ];重載( );重載->
重載逗號運算符
虛函數(shù):繼承虛屬性;虛函數(shù)的層次性
純虛函數(shù):抽象類
早期和后期聯(lián)編
(九)C++的I/O系統(tǒng):
流的定義;基本的流類:C++的預(yù)定義流;
格式化的I/O
重載>:創(chuàng)建自己的插入符;創(chuàng)建自己的提取符
創(chuàng)建自己的操縱符函數(shù):創(chuàng)建無參數(shù)的操縱符;創(chuàng)建帶參數(shù)的操縱符
文件與文件流
文件操作:打開和關(guān)閉、文件的定位與隨機存取、文件的讀寫
(十)模板
1.模板的概念
模板的含義;模板的一般定義形式;模板函數(shù)與模板類;模板的作用;隊列類模板和模板類及對象
2.模板的參數(shù)(對非類型參數(shù)只參考就可以了)
類型參數(shù)和非類型參數(shù);參數(shù)的默認(rèn)值
3.模板的使用
模板的使用;隊列類模板;模板的實例化
4.類模板中的友元(參考)
類模板中的友元定義;
5.利用模板進(jìn)行程序設(shè)計舉例
datalist類模板的定義;datalist類的操作的實現(xiàn);int的datalist類的實例