出版時間:2010-8 出版社:高等教育出版社 作者:郝興偉 等 著 頁數(shù):321
前言
計算機程序設計是高等學校培養(yǎng)學生計算機編程的重要基礎課程和入門課程,C/C++則為主要的教學語言,在整個課程設計中其作用至關重要。但是,在長期的教學實踐中,往往出現(xiàn)學生學完該課程后不會編程,無法將所學的內容和實際應用軟件開發(fā)聯(lián)系起來,教學效果不佳?! ♂槍ι鲜銮闆r,我們對程序設計課程進行了較長時間的研究,發(fā)現(xiàn)以下問題: ?。?)課程內容組織過于強調語法,即使有幾個案例,也是想象出來的,沒有實際應用背景,為典型的“學院派”教學。 ?。?)在程序設計語言和軟件開發(fā)上沒有明確的定位。計算機程序設計課程的定位應該是學習計算機程序設計的概念,培養(yǎng)計算機編程的思想,學習程序設計語言的語法規(guī)范。但是,要進行軟件開發(fā),還需要有一個具體的開發(fā)環(huán)境,例如用C/C++開發(fā)windows程序,需要使用VisualC++開發(fā)環(huán)境?! 。?)缺少具有應用背景的實驗項目?! ≡趯/C++程序設計教學實踐分析的基礎上,我們根據(jù)教育部高等學校計算機科學與技術教學指導委員會編制的《高等學校計算機科學與技術專業(yè)發(fā)展戰(zhàn)略研究報告暨專業(yè)規(guī)范(試行)》,參考教育部高等學校計算機基礎課程教學指導委員會編制的《高等學校計算機基礎教學發(fā)展戰(zhàn)略研究報告暨計算機基礎課程教學基本要求》,在內容組織和案例選擇、實驗項目設計以及開發(fā)平臺定位和應用諸多方面,突破傳統(tǒng)“學院派”教學方式的不足,完成本書。
內容概要
《C/C++程序設計》采用C/C++作為教學語言,Visual C++6.0作為程序調試和開發(fā)環(huán)境。全書共分為九章,內容分別是C語言程序設計概述、數(shù)據(jù)與數(shù)據(jù)類型、程序控制語句、構造型數(shù)據(jù)類型、指針、函數(shù)、文件處理、面向對象程序設計和Visual C++開發(fā)工具與應用系統(tǒng)開發(fā)?!禖/C++程序設計》突破傳統(tǒng)“學院派”內容組織方式的不足,不僅全面系統(tǒng)地介紹了高級語言程序設計的概念、程序結構、數(shù)據(jù)與數(shù)據(jù)類型、控制語句、函數(shù)、文件處理等所有的程序設計中所涉及的概念和問題,還包含了Visual C++面向對象程序設計以及visual C++開發(fā)工具的內容,以使學生理解程序設計語言和開發(fā)工具的關系,從例題走向實際應用程序開發(fā)。《C/C++程序設計》可作為高等學校計算機程序設計課程的教材,也可作為培訓或自學教材。
書籍目錄
第1章 C語言程序設計概述1.1 程序與程序設計語言1.1.1 計算機程序的概念1.1.2 程序設計語言1.1.3 算法與數(shù)據(jù)結構1.1.4 程序設計方法1.2 C語言概述1.2.1 C語言的產(chǎn)生和發(fā)展1.2.2 C語言程序的基本結構1.3 C程序的基本要素1.3.1 基本字符集1.3.2 關鍵字1.3.3 標識符1.3.4 ANSI標準函數(shù)1.4 C程序設計基本過程1.4.1 C編程環(huán)境1.4.2 源程序及其編輯1.4.3 程序的編譯、連接和運行本章小結習題一第2章 數(shù)據(jù)與數(shù)據(jù)類型2.1 C語言的基本數(shù)據(jù)類型2.1.1 整數(shù)類型2.1.2 字符類型2.1.3 實數(shù)類型2.1.4 枚舉類型2.2 常量與變量2.2.1 常量2.2.2 變量2.3 運算符與表達式2.3.1 運算符與表達式的概念2.3.2 算術運算符與算術表達式2.3.3 邏輯運算符與邏輯表達式2.3.4 關系運算符與關系表達式2.3.5 賦值運算2.3.6 逗號運算2.3.7 位運算2.4 數(shù)據(jù)類型轉換2.4.1 自動轉換2.4.2 強制轉換本章小結習題二第3章 程序控制語句3.1 順序結構與基本輸入輸出3.1.1 C語句概述3.1.2 順序結構程序設計3.1.3 字符輸入輸出3.1.4 格式輸入輸出3.2 分支結構3.2.1 if語句3.2.2 if語句的嵌套3.2.3 條件運算符3.2.4 switch語句3.3 循環(huán)結構3.3.1 while:語句3.3.2 do.while語句3.3.3 for語句3.3.4 循環(huán)的嵌套3.3.5 break與continue語句3.3.6 goto語句3.4 循環(huán)程序設計3.4.1 循環(huán)設計3.4.2 基本算法3.5 應用舉例3.5.1 整數(shù)取余運算3.5.2 Fibonacci數(shù)問題3.5.3 素數(shù)問題3.5.4 百錢百雞問題3.5.5 高次方程求解本章小結習題三第4章 構造型數(shù)據(jù)類型4.1 數(shù)組4.1.1 數(shù)組概念的引入4.1.2 一維數(shù)組4.1.3 字符數(shù)組4.1.4 多維數(shù)組4.2 結構體4.2.1 結構體的定義4.2.2 結構體的操作4.2.3 結構體數(shù)組4.3 共用體4.3.1 共用體的定義4.3.2 共用變量的說明4.3.3 共用變量的賦值和使用4.4 枚舉4.4.1 枚舉類型定義4.4.2 枚舉變量的使用4.5 類型定義4.6 程序舉例4.6.1 排序與查找4.6.2 簡單加密計算4.6.3 楊暉三角程序4.6.4 矩陣運算4.6.5 建立通信錄本章小結習題四第5章 指針5.1 內存、內存地址與指針的概念5.2 指針類型數(shù)據(jù)及其操作5.2.1 指針變量的定義與引用5.2.2 指針變量運算5.2.3 多級指針5.3 指針的應用5.3.1 指針與數(shù)組5.3.2 動態(tài)內存分配5.3.3 指針與結構體5.3.4 線性表5.4 程序舉例本章小結習題五第6章 函數(shù)6.1 結構化編程的概念6.2 函數(shù)的定義6.2.1 函數(shù)定義的一般形式6.2.2 局部變量與全局變量6.2.3 變量的存儲類別6.3 函數(shù)調用6.3.1 函數(shù)的調用形式6.3.2 函數(shù)參數(shù)6.4 函數(shù)和指針6.4.1 返回指針的函數(shù)6.4.2 指向函數(shù)的指針6.4.3 main()函數(shù)的參數(shù)6.5 函數(shù)嵌套與遞歸調用6.5.1 函數(shù)嵌套調用6.5.2 遞歸6.6 編譯預處理6.6.1 宏定義6.6.2 文件包含6.6.3 條件編譯6.7 程序舉例6.7.1 約瑟夫問題6.7.2 驗證哥德巴赫猜想6.7.3 漢諾塔問題6.7.4 求最大公約數(shù)6.7.5 求回文數(shù)本章小結習題六第7章 文件處理7.1 文件概述7.1.1 文件的概念7.1.2 文本文件和二進制文件7.2 文件類型指針7.3 文件的打開與關閉7.3.1 文件打開函數(shù)fopen()7.3.2 文件關閉函數(shù)fclose()7.4 檢錯與處理7.4.1 檢測錯誤函數(shù)ferror()7.4.2 檢測文件是否結束函數(shù)feof()7.4.3 清除錯誤標志和文件結束標志函數(shù)clearerr()7.5 文件的順序讀寫7.5.1 fprintf()/fsacnf()函數(shù)7.5.2 fputc()/fgetc()函數(shù)7.5.3 fread()/fwritc()函數(shù)7.5.4 其他讀寫函數(shù)7.6 文件的隨機讀寫7.6.1 位置指針復位rewind()函數(shù)7.6.2 求文件位置指針當前位置函數(shù)ftell()7.6.3 位置指針的隨機移動函數(shù)fseek()7.7 綜合實例本章小結習題七第8章 面向對象程序設計8.1 面向對象程序設計語言8.1.1 面向對象的思維方式8.1.2 從C到C++8.2 類與對象8.2.1 類的定義8.2.2 創(chuàng)建對象8.2.3 代碼質量和const修飾符8.2.4 靜態(tài)成員8.2.5 友元8.2.6 構造函數(shù)和析構函數(shù)8.2.7 輸入輸出流對象8.3 類的繼承性與派生類8.3.1 公有和私有派生類8.3.2 多重繼承8.3.3 抽象基類8.3.4 派生類構造函數(shù)和析構函數(shù)調用規(guī)則8.4 多態(tài)性和虛函數(shù)8.4.1 多態(tài)性8.4.2 虛函數(shù)8.5 程序設計綜合舉例8.5.]類的設計與應用綜合舉例8.5.2 繼承與派生綜合舉例本章小結習題八第9章 VisuaC++開發(fā)工具與應用系統(tǒng)開發(fā)9.1 VisualC++集成開發(fā)環(huán)境9.1.1 新建軟件項目9.1.2 源程序的編輯和調試9.2 Windows程序及其特點9.2.1 Windows操作系統(tǒng)的消息機制9.2.2 Windows應用程序結構9.3 MFC基礎類庫與Windows編程9.3.1 MFC基礎類庫9.3.2 使用MFCAppWizard創(chuàng)建Windows程序框架9.3.3 消息及消息映射9.4 Windows應用程序開發(fā)9.4.1 使用向導創(chuàng)建程序框架9.4.2 添加菜單命令9.4.3 對話框和對話框類9.4.4 制作安裝程序9.5 基于Web的應用程序開發(fā)9.5.1 網(wǎng)絡環(huán)境下的計算機應用體系結構9.5.2 VisualC++在網(wǎng)絡應用開發(fā)上的應用本章小結習題九參考文獻
章節(jié)摘錄
2.數(shù)據(jù)結構 數(shù)據(jù)結構是計算機存儲、組織數(shù)據(jù)的方式。數(shù)據(jù)結構是指相互之間存在一種或多種特定關系的數(shù)據(jù)元素的集合。通常情況下,精心選擇的數(shù)據(jù)結構可以帶來更高的運行效率或存儲效率。數(shù)據(jù)結構往往、同高效的檢索算法知索引技術有關?! ?shù)據(jù)結構與算法密不可分,一個良好的數(shù)據(jù)結構,將使算法簡單化;只有明確了問題的算法,才能較好地設計數(shù)據(jù)結構,因此兩者是相輔相成的。在許多類型的程序的設計中,數(shù)據(jù)結構的選擇是一個基本的設計考慮因素。許多大型系統(tǒng)的構造經(jīng)驗表明,系統(tǒng)實現(xiàn)的困難程度和系統(tǒng)構造的質量都嚴重地依賴于是否選擇了最優(yōu)的數(shù)據(jù)結構。許多時候,確定了數(shù)據(jù)結構后,算法就容易實現(xiàn)了。有些時候事情也會反過來,需要根據(jù)特定算法來選擇數(shù)據(jù)結構與之適應。不論哪種情況,選擇合適的數(shù)據(jù)結構都是非常重要的。遺憾的是許多人并沒有意識到這一點而過度注重編碼,忽視了算法和數(shù)據(jù)結構在程序設計中的重要性?! τ谟嬎銠C程序而言,其構成與數(shù)據(jù)結構關系密切,程序在實現(xiàn)算法的同時,還必須完整地體現(xiàn)作為算法操作對象的數(shù)據(jù)結構,對于復雜問題的求解,常常會發(fā)現(xiàn)由于對數(shù)據(jù)的表示方法和結構的差異,對該問題的抽象求解算法也會完全不同。當然,對同一個問題的求解,算法并不是唯一的,允許有不同的算法,也允許有不同的數(shù)據(jù)結構。但是不同的算法編寫的程序代碼,其執(zhí)行效率也會不一樣。
編輯推薦
《C/C++程序設計》特色 1.避免過度的C/C++語法訓練,體現(xiàn)程序的簡潔和流暢的編程風格,加強有關程序代碼質量內容的講解和訓練。 2.精心設計例題和案例,通過示例代碼講解C/C++語言語法、重點、難點及編程技巧。 3.設計了220多道課后練習題,包括簡答題、選擇題、填空題、閱讀程序題、改錯題、編程題等多種題型,題型豐富,方便教學?! ?.設計了使用Visual C++進行Windows編程的內容,增強學生對使用C/C++進行軟件開發(fā)的感性認識。
圖書封面
評論、評分、閱讀與下載