編輯推薦
《Visual C++編程實戰寶典》 VisualC++百科全書,全麵、新穎、詳細、深入和實用,資深程序員15年開發經驗總結,完美展現VC++的五大應用領域
100個綜閤實例、2個大型項目案例、57個實踐練習題、33.6小時配套教學視頻、3小時進階視頻、324頁《程序員麵試寶典電子書》
以VS 2010作為開發環境來,結閤圖示,從概念、語法、示例、技巧和應用等多角度分析每個知識點
涵蓋VisualC++開發基礎、界麵開發、數據庫開發、網絡編程、係統編程及多媒體開發等內容
剖析瞭硬件設備控製、係統配置、DDL、多綫程等其他圖書很少涉及的內容
《Visual C++網絡編程案例實戰》 全麵展現VC++網絡編程的8大經典應用,詳解21個典型應用案例的開發過程,14小時配套教學視頻,贈32小時VC++進階視頻
詳解FTP、網頁瀏覽器、網絡通信器、郵件收發、網絡文件傳輸、P2P聊天軟件、聊天室和短信貓等經典案例的開發過程
重點剖析通信協議、Socket編程、多綫程編程、同步模式和異步模式,便於讀者瞭解網絡程序的工作方式,加深對通信機製的理解
《Visual C+遊戲開發案例實戰》 全麵涵蓋從遊戲基礎到遊戲項目開發的實用技術,詳解7個經典遊戲項目的完整開發過程,43.8小時配套教學視頻
夯實基礎:介紹瞭遊戲類型、開發環境、C++基礎、網絡通信基礎、多媒體處理、項目管理及測試等遊戲開發必知必會的知識
案例精講:詳解五子棋(網絡版)、貪吃蛇、俄羅斯方塊、連連看、黑白棋、掃雷、推箱子7個經典遊戲項目案例的開發過程
實用性強:60多個基礎實例,講解遊戲項目案例時注重每個項目的設計思路,並將軟件工程的思想融入項目開發中
技巧性強:講解過程中穿插瞭大量的開發技巧、說明及各種注意事項
超值光盤:配書光盤提供瞭大量高清配套多媒體教學視頻,並贈送大量的VisualC++教學視頻和實例源代碼
內容簡介
《Visual C++編程實戰寶典》
《VisualC++編程實戰寶典》以VisualStudio2010作為開發環境,由淺入深,全麵、係統地介紹瞭VisualC++開發的各項技術。書中的各個技術點都提供瞭實例供讀者實戰演練,各章後還提供瞭實戰練習題幫助讀者鞏固和提高。另外,本書配1張DVD光盤,內容為作者專門為本書錄製的33。6小時配套教學視頻,還收錄瞭本書涉及的所有實例源文件,以幫助讀者更加高效、直觀地學習本書內容。
本書共分7篇。第1篇介紹VisualStudio2010開發環境及搭建、C++基本語法及麵嚮對象思想;第2篇介紹Windows編程、MFC基礎、菜單、工具欄、狀態欄、Windows標準控件、MFC類、文檔/視圖結構、對話框等技術;第3篇介紹數據庫編程基礎及SQLServer、ADO、ODBC、OLEDB、MySQL等數據庫訪問技術;第4篇介紹Windows套接字編程、郵槽和管道的使用、串行端口編程、Internet編程等;第5篇介紹磁盤操作、係統控製與調用、應用程序的操作、係統工具的操作、桌麵的相關操作、係統信息操作、消息的使用、剪貼闆的使用、鼠標鍵盤的操作、操作注冊錶、讀寫INI文件、讀寫XML文件、動態鏈接庫編程、多綫程編程等;第6篇介紹文本字體、圖形與圖像編程、聲音與動畫編程、DirectX圖形開發等;第7篇詳細介紹網絡音頻播放係統、GPS定位係統項目案例的開發,以提高讀者的實戰水平。
本書適閤所有想全麵學習VisualC++開發技術的人員閱讀,也適閤用VisualC++進行開發的工程技術人員和科研人員閱讀。對於經常使用VisualC++做開發的人員,本書是一本不可多得的案頭必備參考手冊。
超值、大容量DVD光盤
本書各章涉及的實例源文件;
33.6小時本書配套教學視頻;
3個VisualC++項目案例源程序及3小時教學視頻;
324頁《C/C++程序員麵試寶典》電子書。
《Visual C+遊戲開發案例實戰》
《VisualC++遊戲開發案例實戰》是一本介紹電腦遊戲項目開發的初中級項目實踐教程。書中以VisualC++為開發平颱,結閤7個遊戲開發的經典案例,詳細介紹瞭從遊戲開發基礎知識到遊戲項目開發的實用技術。配書光盤中提供瞭專門為本書錄製的12個小時多媒體教學視頻和書中涉及的源代碼,另外贈送瞭大量的進階開發視頻和源代碼。
本書共16章,分為3篇。其中,第1~6章是遊戲開發基礎篇,講解遊戲項目開發應該具有的準備知識,主要介紹各種遊戲類型及常用技術、VisualC++集成開發環境的使用、C++編程語言基礎、多媒體處理及項目管理基礎知識;第7~10章為五子棋遊戲案例分講篇,重點突齣其中的項目文檔編寫、過程控製、網絡處理及算法設計;第11~16章為其他遊戲開發案例篇,詳細講解瞭貪吃蛇、俄羅斯方塊、連連看、黑白棋、掃雷、推箱子等多款遊戲的設計、項目文檔編寫及實例開發。這些遊戲不僅涵蓋多種遊戲經典算法,而且都是精心設計的,富有代錶性。每個實例項目的製作步驟都以通俗易懂的語言闡述,並穿插測試與效果演示,比較容易掌握。
本書中的各項目實例之間相互獨立,讀者可以根據自己的興趣和需求進行有選擇性的學習。本書適閤初級或者有一定基礎的電腦遊戲開發人員,也適閤相關院校作為遊戲開發的教材使用。
超值、大容量DVD光盤
12小時配套教學視頻及本書實例源文件
20.5小時VisualC++入門與進階教學視頻
11.3小時VisualC++模塊與項目開發視頻
13個VisualC++典型模塊開發源文件
3個VisualC++項目開發案例源文件
324頁C/C++程序員麵試寶典電子書
《Visual C++網絡編程案例實戰》
《VisualC++網絡編程案例實戰》結閤21個實戰開發案例,全麵、係統地介紹瞭VisualC++網絡開發所涉及的各種技術。讀者可以以本書中的案例為基礎,編寫齣功能更加強大的網絡應用。另外,作者專門為本書錄製瞭大量的配套教學視頻,以幫助讀者更好地學習本書內容。這些視頻和書中的實例源代碼一起收錄於本書的配書光盤中。
本書共15章,分為3篇。第1篇介紹瞭VisualC++網絡開發基礎知識,包括VisualC++網絡編程概述、Socket套接字編程和多綫程與異步套接字編程。第2篇介紹瞭7大類網絡開發典型應用案例的實現,包括FTP客戶端實現之一、FTP客戶端實現之二、網頁瀏覽器、網絡通信器、郵件接收和發送客戶端之一、郵件接收和發送客戶端之二、網絡文件傳輸器、Q版聊天軟件和聊天室。第3篇介紹瞭VisualC++串口通信開發,包括串口通信基礎、串口通信編程應用和VC發送手機短信實戰案例。
本書適閤用VisualCH進行網絡程序開發的人員閱讀,也適閤想進一步提升VisualC++網絡編程水平的人員閱讀。另外,本書非常適閤大中專院校的學生作為畢業設計和課題設計的參考書。
超值、大容量DVD光盤
14小時配套教學視頻及本書實例源文件
20.5小時VisualC++開發專題教學視頻
11.3小時VisualC++開發進階教學視頻
13個VisualC++典型模塊源文件
3個VisualC++拓展項目案例源文件
作者簡介
李琳娜,高級程序員、係統設計師、係統分析員。擅長C/C++語言,精通VisualC++開發技術。有超過15年的VisualC++開發經驗,有超過6年的項目總監和項目經理的職業生涯。長期從事電信行業軟件開發,主持開發過的軟件項目有射頻卡管理係統、物流管理係統、SIP、語音卡、銀信通、電話銀行、儀錶控製係統、GPS定位係統、人力資源係統等。
王浩,任職於某上市公司,擔任項目經理。擅長C++編程,有12年的VisualC++底層開發經驗和遊戲開發經驗。對遊戲開發中的各種常用技術有比較深入的理解。有豐富的遊戲項目開發經驗和管理經驗,負責過多個單機遊戲和聯機遊戲項目的設計與管理。業餘時間喜歡打遊戲、上網和旅遊。
粱偉,軟件工程師,電氣工程師。擅長C++網絡通信、數字圖像處理和DCS分布式係統開發等技術。擔任C3P圖像處理論壇版主和匯編網的講師。參與過多個大型項目,包括銀行ATM機係統、電力係統監控係統和醫療CT圖像係統等。
內頁插圖
目錄
《Visual C++編程實戰寶典》
第1篇 Visual C++開發基礎
第1章 Visual Studio 2010集成開發環境( 教學視頻:26分鍾)
1.1 Visual Studio 2010及其開發環境
1.1.1 Visual Studio 2010的安裝
1.1.2 Visual Studio 2010開發環境
1.1.3 Visual Studio 2010嚮導
1.2 工作區視圖
1.2.1 解決方案視圖
1.2.2 類視圖
1.2.3 資源視圖
1.3 資源與資源編輯器
1.3.1 資源的類型
1.3.2 資源編輯器
1.4 本章小結
1.5 習題
第2章 Visual Studio 2010基本應用程序的創建( 教學視頻:29分鍾)
2.1 使用AppWizard生成項目
2.1.1 解決方案與項目
2.1.2 使用AppWizard創建項目
2.2 Win32控製颱應用程序
2.2.1 使用嚮導生成Win32控製颱項目
2.2.2 添加源文件
2.2.3 編譯、鏈接程序
2.2.4 生成程序
2.2.5 運行程序
2.3 MFC應用程序框架
2.3.1 創建MFC應用程序
2.3.2 認識文檔/視圖結構
2.4 本章小結
2.5 習題
第3章 C/C++語言基礎( 教學視頻:162分鍾)
3.1 對標準C的擴展——C++
3.2 C++語法元素
3.2.1 最小的元素——符號
3.2.2 注釋規範
3.2.3 標識符命名規範
3.2.4 C++預定義的關鍵字
3.2.5 標點符號
3.2.6 操作符
3.2.7 聲明與定義
3.3 常量和變量
3.3.1 定義常量
3.3.2 常量成員函數
3.3.3 定義變量
3.3.4 代碼的有效範圍——作用域
3.4 數據類型
3.4.1 基本數據類型
3.4.2 數據類型的轉換方式
3.4.3 數組
3.4.4 結構體
3.4.5 共用體
3.4.6 匿名共用體
3.4.7 枚舉類型
3.4.8 用typedef定義類型
3.4.9 位域
3.5 運算符和錶達式
3.5.1 算術運算符
3.5.2 賦值運算符
3.5.3 關係運算符
3.5.4 邏輯運算符
3.5.5 位運算符
3.5.6 三目運算符
3.5.7 增1和減1運算符
3.5.8 逗號運算符
3.5.9 sizeof運算符
3.5.10 new和delete
……
第4章 C++麵嚮對象程序設計( 教學視頻:108分鍾)
第2篇 界 麵 開 發
第5章 Windows編程與MFC基礎( 教學視頻:49分鍾)
第6章 菜單、工具欄和狀態欄( 教學視頻:61分鍾)
第7章 使用Windows標準控件( 教學視頻:85分鍾)
第8章 MFC的一些常用類( 教學視頻:67分鍾)
第9章 文檔/視圖結構應用程序( 教學視頻:70分鍾)
第10章 對話框的應用( 教學視頻:86分鍾)
第3篇 數據庫開發
第11章 數據庫開發概述( 教學視頻:95分鍾)
第12章 Visual C++中SQL Server 訪問技術( 教學視頻:54分鍾)
第13章 Visual C++中ODBC訪問技術( 教學視頻:62分鍾)
第14章 Visual C++中OLE DB訪問技術( 教學視頻:25分鍾)
第15章 Visual C++中MySQL訪問技術( 教學視頻:27分鍾)
第4篇 網 絡 編 程
第16章 Windows套接字編程( 教學視頻:81分鍾)
第17章 郵槽與管道( 教學視頻:57分鍾)
第18章 通信端口編程( 教學視頻:64分鍾)
第19章 Internet編程( 教學視頻:49分鍾)
第5篇 係 統 編 程
第20章 係統相關功能開發( 教學視頻:191分鍾)
第21章 注冊錶、INI和XML文件( 教學視頻:92分鍾)
第22章 動態鏈接庫編程( 教學視頻:71分鍾)
第23章 多綫程編程( 教學視頻:62分鍾)
第6篇 多媒體開發
第24章 文本字體技術( 教學視頻:34分鍾)
第25章 圖形與圖像編程( 教學視頻:109分鍾)
第26章 聲音與動畫編程( 教學視頻:34分鍾)
第27章 DirectX圖形開發( 教學視頻:97分鍾)
第7篇 項目開發實戰
第28章 網絡音頻播放係統( 教學視頻:24分鍾)
第29章 GPS定位係統( 教學視頻:46分鍾)
《Visual C+遊戲開發案例實戰》
第1篇 遊戲開發基礎
第1章 遊戲開發者都應該掌握的知識
1.1 各種遊戲類型
1.1.1 角色扮演遊戲
1.1.2 動作遊戲
1.1.3 冒險遊戲
1.1.4 策略遊戲
1.1.5 即時戰略遊戲
1.1.6 格鬥遊戲
1.1.7 射擊遊戲
1.1.8 第一人稱射擊遊戲
1.1.9 益智遊戲
1.1.10 竟速遊戲
1.1.11 體育遊戲
1.1.12 養成遊戲
1.1.13 模擬遊戲
1.1.14 卡片遊戲
1.1.15 音樂遊戲
1.2 遊戲開發技術
1.2.1 圖像顯示技術
1.2.2 遊戲引擎技術
1.2.3 遊戲腳本技術
1.3 總結
第2章 Visual C++集成開發環境(教學視頻:32分鍾)
2.1 Visual C++的過去和未來
2.1.1 VisualC++開發工具的由來
2.1.2 VisualC++開發工具的特點
2.2 VisualC++的安裝
2.2.1 VisuaIC++的定製安裝
2.2.2 VisualC++的啓動
2.3 部署Visual C++遊戲項目
2.3.1 項目中的各種文件的定義
2.3.2 項目文件夾的定義
2.4 Windows的窗體
2.4.1 Windows中的窗體
2.4.2 應用程序與窗體的關係
2.5 使用Visual C++開發工具
2.5.1 Visual C++開發工具的主界麵
2.5.2 使用嚮導創建項目
2.5.3 創建一個Hello World程序
2.5.4 工程文件的配置
2.6 總結
第3章 C++編程語言基礎(教學視頻:64分鍾)
3.1 C++編程語言是什麼
3.1.1 C++語言的由來
3.1.2 C++語言的特點
3.2 C++中的各種字符
3.2.1 標識符與關鍵字
3.2.2 分隔符與注釋符
3.3 C++中的常用數據類型
3.3.1 整數型數據
3.3.2 實數型數據
3.3.3 字符型數據
3.3.4 布爾型數據
3.4 C++中的常量與變量
3.4.1 變量的定義
3.4.2 常量的定義
3.5 C++中的運算符與錶達式
3.5.1 賦值運算符
3.5.2 算術運算符
3.5.3 自增與自減運算符
3.5.4 復閤運算符
3.5.5 位運算符
3.5.6 關係運算符
3.6 C++中的控製語句
3.6.1 基本語句
3.6.2 條件選擇語句
3.6.3 循環語句
3.7 C++中的數組、指針及引用
3.7.1 數組的定義與操作
3.7.2 指針的定義與操作
3.7.3 引用的定義與操作
3.8 函數
3.8.1 使用函數的好處
3.8.2 函數的定義及聲明
3.8.3 認識函數的參數
……
第4章 網絡通信基礎( 教學視頻:76分鍾)
第5章 遊戲中的多媒體處理( 教學視頻:58分鍾)
第6章 項目管理基礎( 教學視頻:68分鍾)
第2篇 五子棋遊戲案例分講
第7章 五子棋遊戲項目開發的前期工作( 教學視頻:31分鍾)
第8章 五子棋遊戲界麵與通信開發詳解( 教學視頻:45分鍾)
第9章 五子棋遊戲的核心算法設計與實現( 教學視頻:60分鍾)
第10章 五子棋遊戲整閤測試( 教學視頻:5分鍾)
第3篇 其他遊戲開發案例
第11章 貪吃蛇遊戲項目開發( 教學視頻:65分鍾)
第12章 俄羅斯方塊遊戲項目開發( 教學視頻:41分鍾)
第13章 連連看遊戲項目開發( 教學視頻:49分鍾)
第14章 黑白棋遊戲項目開發( 教學視頻:51分鍾)
第15章 掃雷遊戲項目開發( 教學視頻:52分鍾)
第16章 推箱子遊戲項目開發( 教學視頻:44分鍾)
《Visual C++網絡編程案例實戰》
第1篇 Visual C++網絡開發基礎
第1章 Visual C++網絡編程概述( 教學視頻:21分鍾)
1.1 網絡基礎知識
1.1.1 OSI七層網絡模型
1.1.2 TCP/IP協議
1.1.3 C/S編程模型
1.2 網絡編程基礎
1.2.1 Sockets套接字
1.2.2 網絡字節順序
1.3 Windows Sockets介紹
1.3.1 CAsyncSocket類
1.3.2 CSocket類
1.4 小結
第2章 Socket套接字編程( 教學視頻:102分鍾)
2.1 尋址方式和字節順序
2.1.1 尋址方式
2.1.2 字節順序
2.1.3 Socket相關函數
2.2 Winsock網絡程序開發流程
2.2.1 VC中創建工程的步驟
2.2.2 Winsock編程流程
2.2.3 基於TCP的Sockets編程
2.2.4 基於UDP的Sockets編程
2.3 網絡程序實例應用
2.3.1 TCP客戶端程序
2.3.2 TCP服務器程序
2.4 小結
第3章 多綫程與異步套接字編程( 教學視頻:119分鍾)
3.1 多綫程技術
3.1.1 基本概念
3.1.2 創建綫程
3.2 實現綫程同步
3.2.1 臨界區對象
3.2.2 事件對象
3.2.3 互斥對象
3.3 進程間通信
3.3.1 郵槽
3.3.2 命名管道
3.3.3 匿名管道
3.4 設置I/O模式
3.4.1 異步I/O模式
3.4.2 WSAAsyncSelect方法
3.5 小結
第2篇 Visual C++網絡開發典型應用
第4章 FTP客戶端實現之一( 教學視頻:54分鍾)
4.1 FTP工作原理
4.1.1 FTP數據結構
4.1.2 FTP數據傳輸模式
4.1.3 與服務器進行連接
4.1.4 登錄驗證
4.1.5 關閉數據連接
4.1.6 FTP常用命令
4.1.7 數據校驗與重發控製
4.2 FTP客戶端實例
4.2.1 創建工程
4.2.2 連接和登錄驗證
4.2.3 更新文件列錶
4.2.4 文件上傳
4.2.5 文件下載
4.2.6 安全退齣
4.3 小結
第5章 FTP客戶端實現之二( 教學視頻:71分鍾)
5.1 FTP客戶端簡介
5.1.1 樹形結構的應用
5.1.2 列錶結構的應用
5.1.3 信息框的應用
5.1.4 浮動對話框的應用
5.2 關鍵技術講解
5.2.1 製作、使用浮動對話框
5.2.2 客戶區的分割
5.2.3 樹形視圖項目拖動效果
5.2.4 列錶視圖項目拖動效果
5.3 實現FTP客戶端
5.3.1 WinInet類介紹
5.3.2 FTP服務器操作
5.3.3 遍曆本地文件夾資源
5.3.4 拖動文件實現上傳
5.3.5 拖動文件實現下載
5.3.6 多次修改的頭文件
5.4 小結
第6章 網頁瀏覽器( 教學視頻:36分鍾)
6.1 HTTP協議
6.1.1 HTTP基礎
6.1.2 HTTP請求
6.1.3 HTTP響應
6.2 應用Microsoft Web控件實例
6.2.1 創建工程
6.2.2 添加Microsoft Web控件
6.2.3 輸入地址,載入網頁
6.2.4 網頁導航
6.3 應用CHtmlView實例
6.3.1 創建工程
6.3.2 輸入地址,載入網頁
6.3.3 網頁導航
6.4 小結
第7章 網絡通信器( 教學視頻:26分鍾)
第8章 郵件接收和發送客戶端之一( 教學視頻:57分鍾)
第9章 郵件接收和發送客戶端之二( 教學視頻:94分鍾)
第10章 網絡文件傳輸器( 教學視頻:32分鍾)
第11章 Q版聊天軟件( 教學視頻:44分鍾)
第12章 聊天室( 教學視頻:71分鍾)
第3篇 Visual C++串口通信開發
第13章 串口通信基礎( 教學視頻:17分鍾)
第14章 串口通信編程應用( 教學視頻:52分鍾)
第15章 VC發送手機短信( 教學視頻:38分鍾)
精彩書摘
第3章C/C++語言基礎
在第1章和第2章中介紹瞭VisualStudio2010的開發環境和基本應用程序的創建。在VisualStudio2010中創建瞭應用程序後,就需要瞭解C++語言的語法和規則。隻有深入瞭解語法規則及語法細節,纔能開發齣正確高效的程序。本章將詳細講述VisualC++2010的開發語言——C/C++的語言基礎。
3.1對標準C的擴展——C++
每種開發語言都有自己規定的結構和語法,隻有編寫的程序的結構和語法符閤規定,相應的編譯器纔能正確處理。實質上,C語言的編寫就是數據定義和函數調用的組閤。根據數據的特性,C語言支持多種數據類型的定義,而對數據的操作則在函數調用中完成。程序入口是main()函數,在main()函數中調用其他功能函數。因此,C語言是麵嚮過程的開發語言。
C++是從C語言基礎上發展而來的麵嚮對象的編程語言,是對C語言的擴展,在保留瞭C語言的基本風貌的基礎上,修正瞭C語言的弊端。C++語言主要在以下幾個方麵對C語言進行瞭擴展。
C++語言的語法並不是全新的,這為原來的C語言開發人員從麵嚮過程的開發語言過渡到麵嚮對象的開發語言,提供瞭一個快速的轉型過程。已有的C代碼在C++環境中仍然可以使用,隻需要使用C++編譯器重新編譯,並修正本來隱藏的錯誤就可以瞭。
C++語言是更完善的C語言。C++語言是對C語言的擴展,不僅保留瞭良好的C語言習慣,並且修正瞭部分C語言的漏洞。如C++語言對函數的聲明做瞭強製規定,使得編譯器可以檢查函數的調用,減少錯誤發生的可能;C++語言加入瞭引用技術,使得函數調用者可以處理函數參數和返迴的地址;C++語言引入瞭函數重載技術,使不同函數可以使用相同的函數名;C++語言引入瞭對命名空間的支持,擴大瞭函數的定義範圍;並且提供瞭更完善的類型檢查和編譯時處理等。
C++語言與C語言的運行效率基本一樣。據不完全統計,相同條件下,使用C++語言編寫的麵嚮對象的程序效率與C語言編寫的程序相差在±10%左右。而且C++語言的一些性能還可以調整程序的運行效率。
C++語言是麵嚮對象的,C語言是麵嚮過程的。因此,C++語言是用問題空間的概念描述問題的解決方法,而C語言是用解空間的概念描述問題的解決方法。所以,C++語言編寫的程序比C語言編寫的程序更容易理解。容易理解帶來的好處就是易於維護。通常維護工作是占用係統開銷比較大的部分,因此C++語言編寫的程序的維護開銷要比C語言編寫的程序的維護開銷要小。
C++語言擴展瞭C語言對庫的支持。使用庫復用已有的代碼可以大大提高開發效率,因此C++語言也對C語言庫的支持做瞭升級,它將庫轉換為類,當程序引入一個庫,便嚮程序中引入一個新類,使得程序原有代碼與引入的庫渾然一體,風格一緻,從而使得開發人員對庫的使用更方便。
C++語言引入瞭異常處理。這一點是對C語言的補充,因為C語言基本沒有錯誤處理機製,C程序對錯誤的處理,全靠開發人員自己實現。C++語言引入瞭異常處理,減少瞭開發人員對錯誤處理的程序的編寫,並且增強瞭程序的健壯性。
C++語言對復雜程序的支持比C語言要好。當程序非常復雜時,用於處理的變量和函數會非常多,比較容易發生命名衝突。因此,C++語言引入瞭命名空間機製,有瞭命名空間的限製,使用的變量和函數就可以無限製的增加。從而可以支持復雜程序的編寫。據不完全統計,當C語言代碼超過50000行時,命名衝突就成為問題,從而阻礙程序的開發。C++語言由兩種文件組成,即以.h為擴展名的頭文件和以.cpp為擴展名的源文件,分彆存放各元素的聲明和數據、函數及類的定義。
3.2C++語法元素
C++語法元素包括符號、注釋、標識符、關鍵字、標點符號和操作符。本節同時還講述瞭如何進行元素的聲明和定義。
3.2.1最小的元素——符號
C++符號是C++程序中解析器可以識彆的最小的元素。C++解析器可以識彆多種符號,包括標識符、關鍵字、常數、操作符、標點和其他分隔符等。這些符號組閤起來,就成為程序指令。符號被“空白”分隔開。空白可以是一個或多個下列元素的組閤。
空格:當按下Space鍵時,輸入的就是空格。
水平Tab鍵:此鍵根據係統定義,可以連續輸入幾個空格,一般是4個空格或8個空格。
換行:錶示在編輯器中光標另起一行。
迴車:當按下Enter鍵時,輸入的就是迴車。
注釋:是用於描述代碼的作用,方便開發人員標記程序的功能。
每個處理單元使用輸入流處理,解析器使用從左到右的方嚮掃描輸入流,創建更長的符號並從中分隔符號。例如代碼如下:
a=i+++j;//自增一語句的使用示例
開發人員可能想實現下麵兩條語句中的一條:
a=i+(++j)
a=(i++)+j//編譯器會按照此種方法解析上麵的自增語句示例
因為解析器分析輸入流時,使用從左到右的方嚮分析,所以,它會采用第二種解釋方法。
3.2.2注釋規範
注釋是寫在程序代碼中用於標記代碼功能的符號,但是編譯器在編譯時,會將注釋作為空格處理。雖然編譯器在編譯時忽略注釋內容,但是它對程序開發來說非常重要,也是衡量程序質量的一個重要指標。注釋的主要作用是注釋代碼,提供編寫準確、適當的注釋,對程序員和整個開發團隊來說都非常重要,為後期維護和代碼共享提供方便。C++支持兩種注釋方式——單行注釋和塊注釋。
單行注釋:以兩個反斜杠開頭,後麵加注釋內容。此注釋方式錶示//後一直到行尾的內容全部為注釋。
塊注釋:以/*開始,以*/結束,其中的內容全部為注釋。
下麵代碼說明瞭兩種注釋的使用:
inta=5;//定義整型變量a,初始化為5
/*定義整型變量b,
初始化為6*/
intb=6;
從上麵的例子可以看齣,在注釋齣現跨行時,最好使用塊注釋。當注釋比較簡短,一行足以顯示時,使用單行注釋比較簡單。需要注意的是,注釋是不支持嵌套的,例如:
/*目的:注釋整塊代碼
問題:每行後的嵌套注釋代碼是無效的
chara='A';/*初始化字符*/
cout<<"a:"<*/
上麵代碼是不能編譯成功的,因為編譯器在編譯時,會為第一個/*查找與它匹配的第一個*/,即第一行的/*與第三行的*/匹配為一對。而第四行的/*與*/匹配為一對,第五行的*/沒有匹配的注釋符,因此,係統會提示編譯錯誤。在使用單行注釋要注意,不允許單行注釋後跟行繼續符,例如:
voidmain()
{
printf("Thisisanumber%d",//
5);//此處使用單行注釋會齣現錯誤
}
上麵的代碼編譯器進行編譯時會提示錯誤,會將注釋符後的行繼續符下一行的內容作為空格進行編譯,即“5);”會被忽略,因此,編譯器會報語法錯誤。編譯的代碼如下所示,因此要注意單行注釋後不要使用行繼續符。
voidmain()
{
printf("Thisisanumber%d",
}
3.2.3標識符命名規範
C++標識符,是係統預留的用於描述係統使用的元素的名稱,由大小寫的26個英文字母、0~9之間的10個數字以及下劃綫組成,並且第一個元素必須是字母(大寫或小寫都可以)或者下劃綫。標識符是區彆大小寫的,如hDevie變量與HDevice變量是不同的。在C++中下列元素需要使用標識符來錶示。
對象或變量名:在內存中占據一部分空間,C++為它定義一個名稱,在程序中使用對象名或變量名就可以直接訪問存儲空間中的值。如inta;,語句中的a就是變量名。
類、結構或聯閤體名稱:實質上是復雜類型的名稱的標識符,用於標識不同種類的復雜類型。如classStudent中的Student就是類名。
類型名稱:錶示簡單類型的名稱的標識符。如inta語句中的int為整型類型的標識符。
類、結構、聯閤體或枚舉的成員:錶示在類、結構、聯閤體或枚舉中定義的成員變量的標識符。例如如果在Student類中定義age變量,則age就是類的成員標識符。
函數或類成員函數:錶示函數名稱的標識符。例如如果在Student類中定義CheckIn()函數,則CheckIn就是類的成員函數的標識符。
typedef名稱:錶示類型重定義的標識符。
標簽名稱:錶示C++中用於標記goto語句可以跳轉到的語句,此處主要用作語句指示。
宏名稱和宏參數:使用#define定義的宏的名稱和參數。
在C++中,不能使用關鍵字作為標識符。但是標識符中可以包含關鍵字。如int是一個非法的標識符,但是pint是閤法的標識符。在VC中,標識符的最大長度為247。C++中在全局範圍內預留以兩個連續的下劃綫開頭或者一個下劃綫後跟著一個大寫字母的標識符,在文件範圍內預留一個下劃綫後跟著一個小寫字母的標識符。盡量不要使用這些形式的標識符,以避免與現在或將來預留的標識符衝突。
……
前言/序言
《Visual C++編程實戰寶典》
VisualC++從字麵上理解的意思為可視化C++編程。它將C++、WindowsAPI和MFC強強組閤。同時,VisualC++也是一種集成開發環境(IDE)。其經典版本為VisualC++6.0。在該IDE中,提供瞭各種高效開發工具和嚮導,可以極大地提高開發效率。因此它一直都是最為流行的Windows開發技術之一,廣泛應用於界麵開發、數據庫開發、網絡開發、係統開發和多媒體開發等絕大多數領域。作為VisualC++開發所用到的核心開發語言C++,它功能強大,兼容麵嚮過程和麵嚮對象兩種編程模式,也是當前最流行的開發語言之一。WindowsAPI是微軟提供的應用程序接口,可以實現開發人員的各種需求。MFC是為瞭簡化WindowsAPI編程而提齣的開發框架,可以更高效地開發各類應用程序。所有這些,都構成瞭VisualC++開發所必須掌握的幾大技術,需要開發人員很好地掌握。
隨著各種開發技術的發展和程序復雜度的提高,VisualC++6.0這個經典版本的各種弊端也逐步暴露瞭齣來,嚴重地影響瞭程序員的開發工作。例如,它對C++語言的支持隻有80%左右,它不支持多屏幕開發……。為此,微軟提供瞭更新的版本。
本書便是以微軟最新推齣的VisualStudio2010為開發環境來介紹VisualC++的各項開發技術。筆者結閤自己多年的VisualC++開發經驗和心得體會,花費瞭一年多的時間寫作本書。希望各位讀者能在本書的引領下跨入VisualC++開發大門,並成為一名開發高手。本書結閤大量多媒體教學視頻,全麵、係統、深入地介紹瞭VisualC++開發技術,並以大量實例貫穿於全書的講解之中,最後還詳細介紹瞭網絡音頻播放係統和GPS定位係統兩個項目案例的開發。學習完本書後,讀者應該可以具備獨立進行項目開發的能力。
本書特色
1.配大量多媒體語音教學視頻,學習效果好
作者專門為本書錄製瞭大量的同步配套教學視頻輔助學習,以便讀者更加輕鬆、高效地學習。這些視頻與本書實例源文件一起收錄於本書配套DVD光盤中。
2.內容全麵、係統、深入
本書介紹瞭VisualC++開發的基礎知識、界麵開發、數據庫開發、網絡編程、係統功能編程和多媒體開發等內容,最後還詳細介紹瞭兩個項目案例的開發。
3.講解由淺入深、循序漸進,適閤各個層次的讀者閱讀
本書從VisualC++的基礎開始講解,逐步深入到VisualC++的高級開發技術及應用。書中內容梯度從易到難,講解由淺入深、循序漸進,適閤各個層次的讀者閱讀,相信讀者均有所獲。
4.貫穿大量的開發實例和技巧,迅速提升開發水平
本書在講解知識點時貫穿瞭大量短小精悍的典型實例,並給齣瞭大量的開發技巧,以便讓讀者更好地理解各個概念和開發技術,體驗實際編程,迅速提高開發水平。
5.詳解典型項目案例開發,提高實戰水平
本書詳細介紹瞭網絡音頻播放係統和GPS定位係統項目案例的開發。通過這兩個項目案例的講解,可以提高讀者的軟件項目開發水平,從而具備獨立進行項目開發的能力。
6.提供技術支持,答疑解惑
讀者在閱讀本書時有任何疑問都可以發電子郵件到book@wanjuanchina.net或者bookservice2008@163.com以獲得幫助。讀者也可以在本書的技術論壇上留言,會有專人負責答疑。論壇網址http://www.wanjuanchina.net。
本書內容及體係結構
第1篇VisualC++開發基礎(第1~4章)
本篇主要內容包括VisualStudio2010集成開發環境的搭建、VisualStudio2010基本應用程序的創建、C++語言基礎、C++麵嚮對象程序設計等。通過本篇的學習,讀者可以掌握VisualStudio2010開發環境和C++編程的語法及核心思想。
第2篇界麵開發(第5~10章)
本篇主要內容包括Windows編程、MFC基礎、菜單、工具欄、狀態欄、Windows標準控件、MFC常用類、文檔/視圖結構、對話框等內容。通過本篇的學習,讀者可以掌握VisualC++界麵編程的核心技術與應用。
第3篇數據庫開發(第11~15章)
本篇主要內容包括數據庫編程基礎、SQLServer數據庫基礎、ADO數據庫訪問技術、ODBC數據庫訪問技術、OLEDB數據庫訪問技術、MySQL數據庫訪問技術等。通過本篇的學習,讀者可以掌握VisualC++中各種常見的數據庫訪問技術。
第4篇網絡編程(第16~19章)
本篇主要內容包括Windows套接字編程、郵槽和管道的使用、串行端口通信編程、Internet編程等。通過本篇的學習,讀者可以掌握VisualC++中有關網絡通信編程的核心技術及應用。
第5篇係統編程(第20~23章)
本篇主要內容包括磁盤操作、係統控製與調用、應用程序的操作、係統工具的操作、桌麵的相關操作、係統信息操作、消息的使用、剪貼闆的使用、鼠標鍵盤的操作、操作注冊錶、讀寫INI文件、讀寫XML文件、動態鏈接庫編程、多綫程編程等。通過本篇的學習,讀者可以掌握VisualC++中有關係統功能編程的核心技術及應用。
第6篇多媒體開發(第24~27章)
本篇主要內容包括文本字體、圖形與圖像編程、聲音與動畫編程、DirectX圖形開發等。通過本篇的學習,讀者可以掌握VisualC++中有關多媒體開發的核心技術及應用。
第7篇項目開發實戰(第28、29章)
本篇主要內容包括網絡音頻播放係統項目案例開發和GPS定位係統項目案例開發。通過本篇的學習,讀者可以全麵應用前麵章節所學的開發技術進行軟件項目開發,達到可以獨立開發項目的水平。
本書超值DVD光盤內容
*本書各章涉及的實例源文件;
*33.6小時本書配套教學視頻;
*3個VisualC++項目案例源程序及3小時教學視頻;
*324頁《C/C++程序員麵試寶典》電子書。
本書讀者對象
*VisualC++初學者;
*想全麵學習VisualC++開發技術的人員;
*VisualC++專業開發人員;
*利用VisualC++進行開發的工程技術人員;
*VisualC++開發愛好者;
*大中專院校的學生;
*社會培訓班學員;
*需要一本案頭必備手冊的程序員。
本書閱讀建議
*建議沒有基礎的讀者,從前往後閱讀,盡量不要跳躍。
*書中的實例和示例建議讀者都要親自上機動手實踐,學習效果會更好。
*學習每章內容時,建議讀者先仔細閱讀書中的講解,然後再結閤本章教學視頻,學習效果會更佳。
本書的編寫對筆者而言是一個“浩大的工程”。雖然筆者投入瞭大量的精力和時間,但隻怕百密難免一疏。若讀者在閱讀本書時發現任何疏漏,希望能及時反饋給我們,以便及時更正。
最後祝各位讀者讀書快樂,學習進步!
編著者
《Visual C+遊戲開發案例實戰》
現在的電腦遊戲軟件開發都是依靠大量的設計和測試人員共同閤作完成的,而如何能夠有效控製成本,提高項目開發效率纔是重中之重。但在現有大多數的電腦遊戲開發教程中,隻對遊戲中的算法和程序進行瞭詳細講解,而忽略瞭現代軟件開發最基本的內容,即項目過程管理。本書的目的就是為瞭讓更多的C++語言遊戲開發初學者,除瞭對遊戲算法和程序能夠充分掌握外,還能夠對遊戲開發中的項目管理有一個係統、全麵的認識。同時為今後參加遊戲項目開發打下良好的基礎。
筆者結閤自己多年的實際項目和團隊管理經驗精心編寫瞭這本書,目的是讓更多的人知道如何編寫項目管理文檔,同時提高實際項目開發經驗,尤其是為電腦遊戲開發的新手進入遊戲開發行業提供一個項目知識的階梯。本書也是廣大初中級遊戲開發人員提高自己的遊戲開發水平、完善自己的知識結構、擴展自己的項目知識麵的好參謀。
閱讀完本書,讀者可以有以下收獲:
*讓遊戲開發初學者能夠真正掌握遊戲開發的基本知識;
*建立起基本的項目管理知識,豐富實際項目開發經驗;
*可以單獨完成遊戲項目管理文檔,並能夠對用戶的需求進行初步分析;
*可以利用遊戲開發的知識,設計簡單的VC++遊戲程序;
*可以開發聯機的網絡遊戲,提高遊戲開發水平;
*瞭解一些完整的項目實例,為以後參加實際項目開發打下一個堅實的基礎。
本書特色
本書深入淺齣地講解瞭各種電腦遊戲的基本理論和方法,以及目前流行的各種遊戲開發技術和常用的開發工具。本書對遊戲開發的基礎知識和項目管理的介紹比較詳細,而且考慮很多讀者在Windows編程和開發語言方麵還是個新手,所以給齣瞭很多簡單的、用C++編程語言來開發的Windows程序實例,介紹的比較清晰、易懂。對於一些常見問題,本書給齣瞭套路式解決問題的方法,為初學者學寫遊戲程序提供瞭一個練習的途徑,並對軟件項目管理與軟件測試方法進行瞭詳細的講解,便於讀者對這些不熟悉的知識點進行學習。同時,本書采用大量的項目開發實例來對遊戲開發過程進行詳細講解,以提高讀者的實際項目經驗。本書區彆於市麵上其他的遊戲開發類書的特色主要有:
1.配多媒體語音教學視頻光盤
筆者專門為本書錄製瞭12個小時高清多媒體教學視頻,以便讀者更加直觀地理解本書內容,提高學習效率。另外,配書光盤中還提供瞭本書涉及的案例源程序,並贈送瞭大量的進階開發視頻和源代碼,相信對讀者的學習會有很大的幫助。
2.由淺入深,循序漸進
本書從遊戲開發的基礎知識開始講解,然後從項目開發的角度全麵介紹一個完整的五子棋遊戲項目案例的開發,最後給齣幾個各具特色的遊戲案例的實現。
3.項目案例豐富、典型
本書中完整實現瞭五子棋(網絡版)、貪吃蛇、俄羅斯方塊、連連看、黑白棋、掃雷、推箱子等多款經典遊戲項目案例的設計和實現。它們涵蓋瞭多種遊戲的經典算法,非常有代錶性。
4.代碼經典,注釋詳細
本書詳細地講解瞭每個項目案例的設計和實現過程,並且給齣瞭詳細的核心代碼和代碼注釋,讀者隻要按照書中的操作步驟和代碼解釋就可以毫無障礙地閱讀本書,並在本書的啓發下開發齣自己的遊戲。
5.注重項目的設計思路
本書並不是簡單地給齣遊戲項目的實現過程,而是在每個項目具體開發前都給齣詳細的項目分析和設計思路,便於讀者從整體上把握項目,提高項目開發水平。
6.注重軟件工程思想在實際遊戲項目開發中的應用
本書將軟件工程的思想滲透到瞭每個遊戲項目開發中,而且每個項目都按照軟件工程規範給齣瞭項目開發文檔,方便沒有項目開發經驗的讀者瞭解實際項目開發過程。
7.重點介紹瞭遊戲項目的測試
對於遊戲的功能測試是遊戲開發中所必須具備的基本知識。因此本書的項目案例都給齣瞭整閤測試的相關內容,讀者可以在實際開發中隨時翻閱,不受基礎知識的限製。
8.提供教學PPT,方便老師教學
本書適閤能力培養型的院校和職業學校作為教學用書,所以專門製作瞭教學PPT,以方便各院校的老師教學時使用。
本書內容介紹
本書分為3篇,共16章,從遊戲分類講起,再進一步介紹瞭各種遊戲項目開發需要準備的基礎知識。最後結閤筆者的經驗講解如何進行實例遊戲項目開發,讓讀者的遊戲項目開發水平得以不斷的提高。
第1篇遊戲開發基礎(1~6章)
本篇主要介紹瞭遊戲開發相關的編程知識。包括電腦遊戲的分類及經典作品介紹、常用技術介紹、演示VisualC++開發Windows遊戲、C++編程開發語言基礎、遊戲網絡編程知識簡介、簡單Windows多媒體示例程序開發、遊戲項目管理相關內容及文檔。
第2篇五子棋遊戲案例分講(7~10章)
本篇通過分步講解五子棋遊戲開發實例來介紹遊戲項目的開發過程。包括五子棋遊戲的各種文檔的製作、遊戲界麵的設計、網絡通信協議介紹、五子棋遊戲核心算法的設計、遊戲規則的實現、測試用例文檔的編寫、相關文檔錶格的填寫及五子棋遊戲整閤測試的演示。
第3篇高級篇(11~16章)
本篇主要介紹多個遊戲項目開發實例來豐富讀者的相關經驗。包括貪吃蛇遊戲實例開發項目介紹、俄羅斯方塊遊戲實例開發項目介紹、連連看遊戲實例開發項目介紹、黑白棋遊戲實例開發項目介紹、掃雷遊戲實例開發項目介紹和推箱子實例開發項目介紹。
本書內容由淺入深,理論結閤實踐,尤其適閤初級讀者逐步學習和完善自己的知識結構。
本書代碼注釋約定
*針對單行代碼的注釋,都是放在代碼的後麵;
*如果單行注釋內容過長,與代碼無法放置在一行中,則單行注釋放在代碼的上麵;
*針對函數的注釋,統一放在函數開始的{(大括號)右側並與其他注釋上下對齊;
*針對一段代碼的注釋,統一放在該段代碼的上方,並與其他注釋上下對齊。
本書讀者對象
*VisualC++遊戲開發初學者;
*沒有任何遊戲開發學習經驗的讀者;
*需要進一步學習遊戲核心算法和數據結構的讀者;
*沒有參加過項目開發,但想瞭解項目開發管理的讀者;
*想學習C++遊戲項目開發知識的各大院校計算機專業和非計算機專業的學生;
*正在學習電腦遊戲開發的讀者;
*具備一定編程理論知識,但缺乏實踐操作的初級程序人員;
*從其他語言轉嚮學習C++遊戲程序設計的初中級編程人員。
編著者
《Visual C++網絡編程案例實戰》
隨著計算機的普及,網絡的應用也越來越廣泛。如今人們正在享受著各種網絡服務帶來的便利,例如,在門戶網站看新聞,通過下載工具獲取網絡資源,通過即時通訊軟件聯係好友等。
由於微軟的操作係統Windows一直都在個人計算機領域有著廣泛的應用和市場占有率,所以Windows網絡編程技術也受到瞭越來越多的程序員和軟件公司的青睞。為瞭便於大傢更好地學習Windows網絡編程技術,筆者編寫瞭本書。
本書以Visual C++為開發環境,係統地講解瞭Windows網絡編程所涉及的各種技術。書中穿插瞭21個實戰開發案例,幫助讀者身臨其境地體驗實際的項目案例開發過程,從而提高開發水平。為瞭幫助讀者高效而直觀地學習本書內容,筆者專門為本書錄製瞭大量的配套多媒體教學視頻輔助讀者學習。閱讀完本書,相信讀者對書中的項目案例適當修改,即可編寫齣功能更加強大的網絡應用。
本書中的案例除瞭適閤廣大的Windows網絡編程愛好者學習之外,還是大中專院校相關專業的學生做畢業設計和課題設計的絕佳參考。
本書有何特色
1.配多媒體教學視頻光盤
本書提供瞭大量的多媒體語音教學視頻,讓讀者更加直觀地理解本書內容,提高學習效率。另外,配書光盤中還提供瞭本書涉及的實例源程序,以方便讀者使用。
2.由淺入深,循序漸進
本書首先從C/S網絡模型等網絡編程基礎知識開始嚮讀者講解,並在讀者不斷學習的過程中,引進新的知識點,鼓勵讀者獨立修改各章中的實例程序。然後重點通過21個實戰案例讓讀者進一步掌握Visual C++網絡編程的各種技術。
3.案例精講,實戰為王
本書突齣實用性強的特點,第4~12章以及第14章和第15章都提供瞭典型的網絡開發案例精講,涵蓋瞭網絡編程應用的主流應用,既涉及與服務器的交互,如FTP服務器、郵箱服務器,又涉及S/C結構應用的搭建,如聊天室、文件傳輸器等。
4.提供教學PPT,方便老師教學
本書適閤能力培養型的院校和職業學校作為教學用書,所以專門製作瞭教學PPT,以方便各院校的老師教學時使用。
本書內容安排
第1篇 Visual C++網絡開發基礎(第1~3章)
本篇主要內容包括Visual C++網絡編程概述、Socket套接字編程和多綫程與異步套接字編程,讓讀者對網絡編程有個係統的認識,有利於本書後麵章節的學習。
第2篇 Visual C++網絡開發典型應用(第4~12章)
本篇主要內容包括FTP客戶端、網頁瀏覽器、網絡通信器、郵件接收和發送客戶端、網絡文件傳輸器、Q版聊天軟件和聊天室等開發案例,讓讀者學會如何使用Visual C++編寫軟件。
第3篇 Visual C++串口通信開發(第13~15章)
本篇主要內容包括串口通信基礎及應用和VC發送手機短信,讓讀者瞭解計算機串口,然後學會通過串口來控製計算機外圍設備。本篇介紹通過串口給另一颱計算機和短信貓發送數據來完成相應的功能。
本書讀者對象
* Windows網絡編程愛好者;
* 想提高Visual C++編程水平的人員;
* 大中專院校的學生;
* 相關培訓班的學員。
編著者