C++是C語言的繼承,它既可以進行C語言的過程化程序設計,又可以進行以抽象數據類型為特點的基于對象的程序設計,還可以進行以繼承和多態為特點的面向對象的程序設計。C++擅長面向對象程序設計的同時,還可以進行基于過程的程序設計,因而C++就適應的問題規模而論,大小由之。 C++不僅擁有計算機高效運行的實用性特征,同時還致力于提高大規模程序的編程質量與程序設計語言的問題描述能力。本課程重點講述C++程序設計的基本理論和基本編程思想,培養學生利用程序設計語言進行編程的思維方式,為計算機專業的后續課程打下堅實的基礎。
一、教學大綱說明:
總 學 時:64
考核形式:考試
課程類別:專業基礎課
修讀方式:必修
教學目的:《C++程序設計》是計算機科學與工程系各專業學生必修的一門專業基礎課程。本門課程主要介紹C++語言程序設計的基本理論和基本編程思想,培養學生利用程序設計語言進行編程的思維方式,為計算機專業的后續課程打下堅實的基礎。
二、主要教學內容及要求:
第一章 C++與面向對象程序設計概述( 2學時)
了解:
1.傳統程序設計與面向對象程序設計的區別
2.C++的發展
3.面向對象程序設計語言
理解:
1.面向對象程序設計的特點
2.熟悉VC++6.0集成開發環境
掌握:
1.C++的特點
2.C++程序結構和書寫規則
第二章 C++程序設計基礎(4+2學時)
了解:
1. 為什么會有三種基本的程序控制結構
2. C++的基本數據類型
理解:
1.程序控制結構的控制方式:順序結構,選擇結構,循環結構
2.C++的運算符、關鍵字、標識符和分隔符、常量和變量語法規則
3.轉向語句的使用
4.表達式中數據類型的轉換規則
掌握:
1.選擇控制的使用:if語句,switch語句
2.循環控制結構的使用:while語句,do_while語句,for語句,循環的嵌套
3.判斷表達式的使用
第三章 函數(4+2學時)
了解:
1.參數的傳遞方式的分類
2.內聯函數的含義
理解:
1.變量存儲特性與標識符作用域
2.函數調用機制:嵌套調用和遞歸調用
掌握:
1.函數參數的傳遞,包括:傳值參數,指針參數,引用參數和函數的返回類型
2.函數指針:函數的地址,函數指針
3.重載函數的定義與使用方法
第四章 數組(4+2學時)
了解:
數組的適用范圍
理解:
1.一維數組和二維數組的初始化
2.字符串存儲和字符串的訪問
掌握:
1.一維數組和二維數組的定義和訪問方式
2.指針數組的使用:指向基本數據類型的指針數組,指向數組的指針數組,指向函數的指針數組
3.數組作函數參數的應用:向函數傳送數組元素,數組名作函數參數
4.字符數組與字符串的使用
第五章 結構體與共用體(2+2學時)
了解:
結構體和共用體的適用范圍和區別
理解:
1.結構體變量與共用體變量的初始化
2.字符串存儲和字符串的訪問
掌握:
1.結構體和共用體的定義
2.結構體變量和共用體變量的訪問
3.結構體數組的使用
第六章 指針和引用(4+2學時)
了解:
多級指針和指針運算
理解:
1.new和delete的使用
2.引用的定義
掌握:
1.指針的定義和訪問方式
2.指針數組的使用:指向基本數據類型的指針數組,指向數組的指針數組,指向函數的指針數組
3.引用作為函數參數和作為函數返回值的作用
第七章 類與對象(6+2學時)
了解:
常類型和對象數組的應用
理解:
1.成員函數的特征
2.靜態數據成員和靜態成員函數
3.this指針和對象指針
掌握:
1.類和對象的定義
2.構造函數和析構函數
3.友元類
第八章 繼承與派生(4+2學時)
了解:
1.多繼承中的二義性問題
2.虛基類的定義
理解:
1.繼承和派生的概念
2.多繼承
3.虛基類的構造函數和析構函數
掌握:
1.派生類的定義和繼承方式
2.單繼承
3.虛基類的應用
第九章 繼承與派生(2+2學時)
理解:
1.運算符重載的一般規則
2.雙目運算符的重載
掌握:
1.運算符重載的兩種形式:用成員函數重載和用友元函數重載
2.單目運算符的重載
第十章 虛函數和多態性(4+2學時)
了解:
1.純虛函數
2.虛析構函數
理解:
1.虛函數的定義
2.抽象類
掌握:
多態的含義及應用
第十一章 C++輸入/輸出流(2學時)
了解:
輸入/輸出流的概念
理解:
輸入/輸出格式控制
掌握:
基本輸入/輸出操作
第十二章 文件處理(2+2學時)
理解:
順序文件和隨機文件的建立和讀寫
掌握:
文件的讀寫
第十三章 模板和異常處理(2學時)
了解:
1.模板的概念
2.異常處理的概念
理解:
異常處理的實現
掌握:
函數模板和類模板
三、本課程與其他課程的聯系與分工
該課程主要和本專業的如下課程相關:計算機導論、數據結構、編譯原理、軟件工程、Java程序設計、UML軟件建模技術等。計算機導論是其先修課程,數據結構、編譯原理、軟件工程、Java程序設計等課程是其后繼課程。在該課程中學生應掌握一般的程序設計概念、方法和技巧,并應掌握好C++語言的程序設計方法,能夠利用C++語言編寫小、中型程序,為后續課程的學習打下堅實的基礎。
四、學時分配表
學時分配表
序號 | 章節及名稱 | 學時分配 | 學時 | 備注 | |||
講課 | 實驗 | 習題課 | |||||
1 | 第1章 | C++與面向對象程序設計概述 | 2 | 2 | |||
2 | 第2章 | C++程序設計基礎 | 4 | 2 | 6 | ||
3 | 第3章 | 函數 | 4 | 2 | 6 | ||
4 | 第4章 | 數組 | 4 | 2 | 6 | ||
5 | 第5章 | 結構體與共用體 | 2 | 2 | 4 | ||
6 | 第6章 | 指針與引用 | 4 | 2 | 2 | 8 | |
7 | 第7章 | 類與對象 | 6 | 2 | 8 | ||
8 | 第8章 | 派生與繼承 | 4 | 2 | 6 | ||
9 | 第9章 | 運算符重載 | 2 | 2 | 4 | ||
10 | 第10章 | 虛函數和多態性 | 2 | 2 | 2 | 6 | |
11 | 第11章 | C++輸入/輸出流 | 2 | 2 | |||
12 | 第12章 | 文件處理 | 2 | 2 | 4 | ||
13 | 第13章 | 模板和異常處理 | 2 | 2 | |||
合計 | 40 | 20 | 4 | 64 |
五、教材及參考書
1. 《C++程序設計》(第二版).鄧振杰.人民郵電出版社.2008 年
2. 《C++程序設計基礎》(第二版).周靄如 林偉健.電子工業出版社.2006 年
3. 《C++程序設計》(第2版).吳乃陵 況迎輝.高等教育出版社.2006年
4. 《C++程序設計實踐教程》(第2版).吳乃陵 李海文.高等教育出版社.2006年
5. 《面向對象程序設計基礎》(第2版).李師賢等.高等教育出版社.2005年
6. 《C++程序設計教程》(第4版).(美)H.M.Deitel P.J. Deitel.清華大學出版社.2004年
7. 《C++語言程序設計》.曲少珍等.中國鐵道出版社,2006年