官术网_书友最值得收藏!

前言

C++語言是優秀的計算機程序設計語言,它的功能相當強大。我們編寫這本書的目的是,為沒有任何程序設計基礎的理工科大學生提供一本適用教材,使他們掌握從理論到實踐都要求很高的C++語言。

一門課程的設置應該放在整個教學培養計劃中統籌考慮。我們的教學目標不是馬上培養一個會使用某種語言(例如C++語言)的程序員,而是強調對程序設計語言的理解和應用,“計算機語言”的角色是第一位的。所以,在教材編寫和組織教學的過程中,我們力圖通過對基本語法現象的剖析,由淺入深地讓學生理解、掌握語言規則的原理,懂得用計算機指令的模式去分析和求解問題,并在機器上實現簡單的程序。至于深入的算法及大程序的組織討論,將由相關的后續課程(例如,數據結構、算法分析、計算方法、軟件工程等)完成。因此,對高級程序設計語言規則的理解和應用是本教材編寫的立足點。

我們根據多年從事計算機程序設計教學的經驗,按照學生學習的認知規律,精心構造整本教材的體系和敘述方式,原則是:循序漸進、難點分散、通俗而不膚淺。本教材以語法范疇和程序組織為脈絡,清晰漸進,從字、詞、數據、表達式、語句,到函數、類,是語法范疇構成的基本脈絡;在程序功能方面,則以組織數據和組織程序為另外一條基本脈絡,并以漸進的、粒度擴大的方式逐步導入分析。

例如,數據的組織方式:基本數據類型—數組—結構—鏈表,體現如何利用基本數據類型根據需要組織數據;程序的組織方式:語句—函數—類,體現結構化思想和面向對象思想對程序不同的組織方式。

指針是C++語言的重要概念,是操作對象的有力工具。本書沒有一般C語言、C++語言教材中專門的“指針”一章。我們從最簡單的變量開始,建立對象的名和地址的概念,用對象的不同訪問方式貫穿于各章節。從結構化程序設計到面向對象程序設計,采取了比較平滑的過渡。首先,在一開始介紹基本數據類型、程序流程控制、函數等結構化程序設計的基本知識時,就非正式地使用“對象”這個術語(從計算機程序的角度,任何占有存儲空間的實體都是對象);繼而,掌握結構到類的演變,給出對象的準確定義;進一步,展開介紹面向對象程序的幾個基本特性,即封裝、繼承、多態和類屬在C++語言中的實現方法。同時,我們在本書的闡述中體現一個思想:沒有一種對所有問題都是最好的程序設計方法,對特定問題,選擇合適的解決方案是程序員必備的素質。

本書之所以取名為《C++程序設計基礎》,原因有二:第一,它不是一本C++語言手冊,不可能包羅所有語法規則和特定版本提供的各種功能;第二,它沒有涉及復雜的算法和工程化的面向對象分析設計方法。這兩個問題與教材的定位相關。對第一個原因,我們認為學生在掌握了程序設計的基本概念和基本方法之后,可以通過語言平臺(例如Visual C++)或者其他資料學習,拓展對語言功能的了解。我們在有關章節中,也做了類似的引導,例如,STL標準類庫的介紹,這些內容提供給教師選擇或學生自學。至于第二個原因,那些是計算機專業后續課程的教學內容。本書介紹的程序設計方法和使用到的算法都立足于基本概念和方法,所以,例程通常是簡單和小規模的。

本書分別在2003年、2006年和2009年出版了1~3版。目前修訂的第4版教材的例程以VC 2010為運行環境,全書分為上、下兩冊。上冊在第3版的基礎上增加了位運算和利用位運算的集合實現。下冊介紹Visual C++在.Net環境的Windows應用程序設計。編寫下冊教材的原因是學生在掌握了C++程序設計基本語法之后,希望能夠設計一個Windows界面的完整的應用程序。

下冊共分7章,主要內容包括:C++/CLI托管編程、簡單Windows應用程序、常用控件、復雜界面、圖形圖像、數據庫應用、網絡編程。

本書中配套的電子課件和例程的源代碼,請登錄華信教育資源網(www.hxedu.com.cn)免費下載。

本書可以作為高等學校計算機類、信息類、電類專業本科生高級語言程序設計課程教材,也可以作為教師、學生和C++語言愛好者的參考書。

本書的編寫過程,是作者不斷向學生學習,向同行學習,向C++語言學習的過程。在此,對所有使用本書的教師、學生,以及熱心向我們提出寶貴意見的讀者致以誠摯的感謝!希望繼續得到讀者的支持和幫助。本書參考了MSDN的部分內容。

作者

主站蜘蛛池模板: 平邑县| 镇沅| 元谋县| 庆城县| 平塘县| 澳门| 吴桥县| 长葛市| 鄯善县| 邯郸市| 南木林县| 武强县| 博爱县| 共和县| 庄河市| 万荣县| 通榆县| 兴文县| 夹江县| 贞丰县| 印江| 鸡西市| 石林| 罗定市| 扶风县| 孟津县| 大庆市| 新晃| 霍州市| 广河县| 潢川县| 临汾市| 上蔡县| 鹰潭市| 离岛区| 龙泉市| 五寨县| 岳阳市| 石柱| 湖南省| 富宁县|