《程序設計(C++)基礎、程序解析與實驗指導/普通高等教育“十一五”國家級規劃教材》以C++語言為載體,介紹了程序設計的基本思想、常用的程序設計方法以及算法、數據結構的概念等程序設計的相關知識與技能。《程序設計(C++)基礎、程序解析與實驗指導/普通高等教育“十一五”國家級規劃教材》的主要內容包括:程序設計基礎知識與C++程序設計的一般方法;算法、數據結構的概念及應用;數據類型的概念以及C++中的常用數據類型;面向對象程序設計方法;模板、異常處理等機制的概念及應用;輸入輸出流與數據文件的概念及應用。
《程序設計(C++)基礎、程序解析與實驗指導/普通高等教育“十一五”國家級規劃教材》將理論知識、程序實例與實驗指導整合為一體,盡力為各教學環節的融會貫通創造條件。《程序設計(C++)基礎、程序解析與實驗指導/普通高等教育“十一五”國家級規劃教材》注重程序設計理念的先進性、程序設計方法的實用性以及學習過程中思維的連貫性,對于主要概念、常用方法以及具有遞進關系的系列內容,都根據教學活動中的實際需求予以精心的編排與講解。
本書可用作高等院校計算機程序設計課程的教材,也可與《程序設計教程(C++)》一書一起作為教材,還可作為程序設計工作者的參考書。
姚普選,理學碩士,高級工程師,長期從事計算機基礎課教學工作,主講過國家精品課程“大學計算機基礎”。“軟件基礎”以及“數據庫原理及應用”、“面向對象程序設計”、“微機原理及應用”等多門課程。
編著出版過多本教材,包括唯一作者8本,其中《數據庫原理及應用(第二版)》獲第八屆全國高校出版社優秀暢銷書一等獎:第一及第二作者多本,其中包括普通高等教育“十一五”國家級規劃教材、國家精品課程專用教材及部級重點教材。
參與或負責過多項國家、教育部、陜西省及西安交通大學的教改和科研項目,發表論文多篇。
第1章 程序設計的概念
1.1 基本知識
1.1.1 C++程序中的語句及命令行
1.1.2 C++程序中的函數
1.1.3 VisualC++的控制臺工程
1.2 程序解析
程序1.1 計算并聯電阻
程序1.2 求解二元一次方程組
程序1.3 判斷考試是否及格
1.3 實驗指導
實驗1.1 C++程序的編輯、編譯和運行
實驗1.2 簡單C++程序
實驗1.3 程序的調試和運行
第2章 基本數據類型與表達式
2.1 基本知識
2.1.1 基本數據類型、常量與變量
2.1.2 運算符與表達式
2.1.3 數據的輸入與輸出
2.2 程序解析
程序2.1 整數加法練習
程序2.2 輸出5位整數的反序數
程序2.3 統計參賽選手分數
2.3 實驗指導
實驗2.1 不同類型數據的輸入輸出
實驗2.2 表達式求值
實驗2.3 數據的輸出格式控制
第3章 算法與控制結構
3.1 基本知識
3.1.1 算法的概念與表示
3.1.2 算法的3種基本結構
3.1.3 C++中實現選擇結構和循環結構的語句
3.2 程序解析
程序3.1 求三角形的面積
程序3.2 確定某年某月的天數
程序3.3 輸出100以內能同時被3和5整除的數
程序3.4 窮舉法求組合數
程序3.5 計算sinx函數的值
3.3 實驗指導
實驗3.1 3種基本結構
實驗3.2 迭代法與窮舉法
第4章 函數與編譯預處理
4.1 基本知識
4.1.1 函數的定義和調用
4.1.2 變量的作用域
4.1.3 變量的生存期
4.1.4 C++程序的多文件結構
4.1.5 編譯預處理
4.2 程序解析
程序4.1 將字符串中的小寫字母轉換為大寫字母
程序4.2 求3個實數中的最大數
程序4.3 比較兩個分數的大小
程序4.4 求多項式的值
程序4.5 牛頓迭代法求方程的根
4.3 實驗指導
實驗4.1 函數的定義和調用
實驗4.2 函數的嵌套與遞歸調用
實驗4.3 編譯預處理與多文件結構
第5章 構造類型與順序表操作
5.1 基本知識
5.1.1 一維數組的定義和使用
5.1.2 二維數組的定義和使用
5.1.3 字符串處理
5.1.4 結構體的定義和使用
5.1.5 順序表的概念
5.1.6 順序表的C++實現
5.2 程序解析
程序5.1 順序查找
程序5.2 二分查找
程序5.3 篩法求素數
程序5.4 約瑟夫斯問題
程序5.5 快速排序
程序5.6 計算并輸出學生成績表
程序5.7 枚舉型變量的使用
5.3 實驗指導
實驗5.1 數組的使用
實驗5.2 字符串的使用
實驗5.3 結構體及結構體數組的使用
第6章 指針與鏈表
6.1 基本知識
6.1.1 指針變量
6.1.2 動態存儲分配
6.1.3 指針與數組和字符串
6.1.4 指針與函數
6.1.5 線性鏈表
6.2 程序解析
程序6.1 三數排序并輸出
程序6.2 逆置數組元素
程序6.3 計算圓的周長和面積
程序6.4 按3位分節格式輸出正整數
程序6.5 線性鏈表求解約瑟夫斯問題
6.3 實驗指導
實驗6.1 指針變量與取地址運算符
實驗6.2 指針與數組和字符串
實驗6.3 線性單鏈表的創建與查找
第7章 類和對象
7.1 基本知識
7.1.1 類與對象的定義和使用
7.1.2 構造函數與析構函數
7.1.3 對象與指針
7.1.4 類的靜態成員和友元
7.1.5 類的常對象與常成員
7.2 程序解析
程序7.1 日期類
程序7.2 日期時間類
程序7.3 學生成績類
程序7.4 核對密碼的學生成績類
程序7.5 矩陣的加減運算
7.3 實驗指導
實驗7.1 修改并運行程序
實驗7.2 人員類及其對象
實驗7.3 橢圓類及其對象
第8章 類的繼承性與多態性
8.1 基本知識
8.1.1 派生類的定義
8.1.2 派生類的繼承方式
8.1.3 派生類的構造函數和析構函數
8.1.4 重載
8.1.5 虛函數
8.2 程序解析
程序8.1 點類與直線類
程序8.2 點類、圓類與圓柱類
程序8.3 多重繼承的工程碩士類
程序8.4 通過函數重載求數組中最大元素
程序8.5 抽象圖形類以及圓、矩形和三角形類
8.3 實驗指導
實驗8.1 類的繼承性
實驗8.2 函數重載與運算符重載
實驗8.3 虛函數與抽象類
第9章 模板、異常處理和命名空間
9.1 基本知識
9.1.1 函數模板和類模板
9.1.2 異常處理
9.1.3 命名空間
9.2 程序解析
程序9.1 模板函數實現矩陣加法
程序9.2 類模板實現順序表
程序9.3 類模板實現數組越界報錯
9.3 實驗指導
實驗9.1 函數模板和類模板
實驗9.2 異常處理
第10章 輸入/輸出流
10.1 基本知識
10.1.1 輸入/輸出流
10.1.2 數據文件的打開與關閉
10.1.3 數據文件的讀寫
10.2 程序解析
程序10.1 從輸入流中分析出數字串
程序10.2 通信錄文本文件
程序10.3 二進制方式打開指定文件
10.3 實驗指導
實驗10.1 輸出操作
實驗10.2 輸入操作
實驗10.3 文件讀寫操作
附錄A ASCII碼表
附錄B 程序的調試與糾錯
附錄C 圖形用戶界面應用程序
參考文獻