內容簡介
本書從實用性和趣味性出發,分模組進行基礎知識、信息管理與存儲、字元串處理、繪圖、貼圖等編程訓練,最終通過棋牌類遊戲開發,實現模組知識綜合套用的訓練。
本書提供了160道描述詳細、功能要求具體、開發目標明確的訓練任務,意在對學生進行上千行代碼編寫與調試的訓練,幫助他們感悟編程之道,發現編程樂趣,激發創新意識。
本書可以作為高等院校計算機類專業以及相關專業學生的教材,也可供C語言編程人員參考。
圖書前言
本書是C語言入門之後的強化訓練教材,目的是幫助實現編寫應用程式的夢想。教材對學過標準C語言的學生進行編碼強化訓練,提高編寫和調試代碼能力,學會求解實際問題、管理事務信息、設計和開發字元串處理函式。另外,本書第4、5章補充MFC的畫圖和貼圖知識,第6章介紹棋牌類遊戲開發,培養學生開發Windows棋牌類遊戲和簡單畫圖應用程式的能力,增加編程樂趣,激發編程興趣。
本書共分6章,每章一個專題。
第1章 基礎訓練。總結標準C語言知識以及重點和難點,詳述調試程式技巧,簡介程式代碼測試方法,提供求解簡單實際問題的訓練,鞏固所學C語言知識。
第2章 信息管理與存儲訓練。溫習檔案知識,講述檔案套用難點,舉例說明檔案實現信息管理與存儲的方法,使得在信息管理與存儲訓練中,克服對檔案的恐懼,掌握操作檔案的技能。
第3章 字元串處理訓練。總結常用C語言字元串函式,詳細介紹自定義字元串函式的設計、實現和測試方法,比較不同方法定義的字元串類型數據在使用中的差別,提供大量字元串實訓任務,提高解決字元串相關問題的能力。
第4章 繪圖技術訓練。學習MFC的畫圖和文字顯示技術,進行畫圖訓練,為開發界面漂亮的Windows應用程式打基礎,學會開發簡單畫圖軟體。
第5章 貼上圖片技術訓練。了解Windows程式中靜態和動態圖片操作區別,學習MFC程式的貼上圖片和操作圖片技術,在強化訓練中,學會在程式中運用圖片資源的能力。
第6章 綜合訓練。了解遊戲程式內部控制方法,初步掌握基於MFC單文檔框架的遊戲程式的設計與開發,能夠在遊戲程式實現過程中合理地選擇數據結構並設計算法,綜合運用前5章知識,完成棋牌類遊戲的製作。◆程式設計實踐教程前 言 每章末專題訓練任務提供詳細功能描述,利於專注代碼編寫與調試,快速提高編碼能力。
附錄中提供了VC++6.0基本操作說明,給出程式設計實驗報告框架,以及程式設計實驗報告樣本,幫助學會撰寫實驗設計報告。
本書既可以獨立使用,也可以與“C語言程式設計”課程教學同步使用。
獨立使用時,建議在學完“C語言程式設計”課程之後,按本書劃分的訓練模組,讓每個學生在完成1~5章模組訓練後,再進行第6章綜合訓練,獲得上千行代碼編寫的強化練習,確實提高程式設計能力,激發開發軟體的興趣。
與“C語言程式設計”課程教學同步使用時,第1~3章可以作為C語言學習的實驗指導書,第4、5章拓展程式開發知識,第6章綜合訓練,共同提高Windows應用程式開發能力,培養編程創新活力。
在本書編寫中,周知楊編寫第1章,章小莉編寫第2、4、5章,張岩編寫第3、6章,宋燕紅編寫第1章部分訓練任務,徐小青編寫第2章部分訓練任務,劉翔威實現第6章中全部代碼,趙耿審校全書。此外還得到謝婷婷、趙越、馬曉陽、劉瑾、張克君、李曉東、龐岩梅等人大力幫助,在此深表感謝。雖然本書內容集編者們多年工作經驗及實踐感悟,但是由於提筆時間匆匆,難免有錯誤之處,敬請大家批評指正。
技術在不斷更新,教學過程在不斷發展,每個教與學的人都會有很多自己的體會,敬請讀者不吝賜教,以利於我們不斷改進自己的工作,與大家共同進步。
致教師 F?oreword 今天的學生面臨求職的強烈壓力,學校注重培養動手能力,能極大提高他們的競爭力。本書梳理了C語言知識重點、難點,補充了繪圖、貼圖知識,給出160多個開發任務,營造開發氛圍,為吸引學生參與編程做好準備,為培養學生的競爭力提供訓練。
本書所列訓練任務,有具體描述,詳細功能要求,必要的設計提示。任務分模組按難易等級劃分,使全體學生都有機會參與訓練。
在知識方面: 本書提供模組訓練所需教學課件,書中例題原始碼,便於教師集中進行教學輔導。
在開發任務方面: 本書分5個基礎模組(基礎知識,信息管理與存儲,字元串處理,繪圖,貼圖),一個綜合訓練(棋牌類遊戲設計與開發),使學生可以經過模組練習,能力拓展,走向綜合運用。
在考慮學生個性方面:每個模組訓練分3到4個難易等級的開發任務,尊重學生的個性不同,提供人人參與的機會。
在實驗報告方面:提供報告框架以及實驗報告樣本,使學生學會撰寫程式開發實驗報告,學會規範開發軟體,並總結開發經驗。
在管理方面:附有實驗管理表格和評分建議,便於教師記錄學生實驗過程中的表現,對實驗進行過程化管理。
在成績統計方面: 給出總分合計建議性公式,方便做好全方位評價學生實驗的能力。
建議教師選用本書時,儘量安排一段相對集中的時間開展實驗,依據本校學生的情況,把實驗內容分為必做和選做兩個部分,允許每個學生按能力選擇開發任務,積極鼓勵學生挑戰難題,使學生獲得上千行代碼編寫與調試經驗,在“魔鬼”訓練中“新生”。為防止學生選題過於集中,可以考慮基於學生(C語言)程式設計學習成績分配設計任務,從而保證學習效果。
每位教師都有自己的不少經驗與創意構想,敬請賜教,讓我們共同進步。
致學生 F?oreword 學完《程式設計基礎》 (C語言版),很想自己動手編寫一個Windows應用程式吧,但是真正動手,發現前面道路還很漫長,需要繼續學習Windows API或Windows MFC,面向對象設計思想和編程技術,於是乎,熱情在漫漫長路上消失殆盡。
這本書,就是想創造編程強化訓練中的樂趣,力圖在學習過標準C語言知識之後,帶領大家求解實際問題,並直接走進VC++6.0的MFC編程世界,基於MFC框架進行畫圖、貼圖、棋牌類遊戲開發,在快樂中邁入編程自由王國,激發創新思維,成為軟體開發後備軍。
如果C語言學得不太好,第1章幫你溫習重點,解答難點,掌握基本問題求解技巧,熟練調試程式技能。第2、3章,對檔案使用、字元串處理進行訓練,找到編程感覺。
如果已經掌握C語言基本知識,第4、5章,教會VC畫圖與貼圖技術,提高創作精美程式界面的能力。
第6章,一個棋牌類遊戲的設計與開發,帶給你成就感。
挽起你的袖子,走入編程訓練吧,挑戰與樂趣同在,創意與刻苦相伴。
圖書目錄
第1章 基礎訓練1
1.1 C語言知識總結1
1.1.1 C語言知識點歸納1
1.1.2 難點回顧與使用注意事項19
1.2 算法設計30
1.3 VC程式調試技術36
1.3.1 Visual C++調試工具36
1.3.2 調試過程中的跟蹤與監測39
1.3.3 斷點設定和使用50
1.4 基礎訓練舉例57
1.4.1 基本知識套用57
1.4.2 數組套用61
1.4.3 指針使用68
1.4.4 結構體套用76
1.5 程式測試82
1.5.1 單元測試83
1.5.2 集成測試86
1.6 基礎訓練注意事項86
1.7 基礎訓練任務87
本章參考文獻98
第2章 信息管理與存儲訓練99
2.1 檔案99
2.1.1 檔案中的數據99
2.1.2 檔案分類100
2.2 C語言檔案知識小結102
2.2.1 標準C語言檔案處理函式102目 錄◆程式設計實踐教程 2.2.2 檔案處理流程105
2.3 檔案函式使用舉例105
2.4 信息管理程式開發117
2.4.1 程式設計與實現117
2.4.2 程式測試121
2.5 檔案使用注意事項122
2.5.1 不同類型檔案比較122
2.5.2 常見錯誤及原因124
2.6 信息管理與存儲訓練任務124
2.6.1 信息管理訓練任務124
2.6.2 信息存儲訓練任務141
本章參考文獻144
第3章 字元串處理訓練145
3.1 字元串函式及函式設計145
3.1.1 C語言字元串函式145
3.1.2 字元串處理函式設計155
3.2 字元串處理舉例168
3.3 VC中三種字元串定義與使用注意事項179
3.3.1 字元數組和字元指針180
3.3.2 String類182
3.3.3 CString類187
3.3.4 三種類型字元串之間的轉換190
3.4 字元串處理訓練任務191
本章參考文獻199
第4章 繪圖技術訓練200
4.1 VC繪圖技術200
4.1.1 VC繪圖基礎200
4.1.2 繪圖流程202
4.2 繪圖函式206
4.2.1 繪製線條函式207
4.2.2 繪製形狀函式210
4.2.3 填充函式214
4.3 繪圖類及其使用舉例216
4.3.1 矩形類216
4.3.2 點類217
4.3.3 畫筆類218
4.3.4 畫刷類220
4.4 繪圖技術套用舉例221
4.4.1 繪圖技術解題221
4.4.2 繪圖難點239
4.5 文本顯示240
4.6 繪圖技術訓練任務244
本章參考文獻251
第5章 貼上圖片技術訓練252
5.1 VC貼圖知識252
5.1.1 貼上靜態圖片253
5.1.2 貼上動態圖片編程基礎255
5.1.3 貼上動態圖片流程260
5.2 貼上動態圖片舉例265
5.3 貼上圖片技術訓練任務275
本章參考文獻282
第6章 綜合訓練283
6.1 遊戲程式開發準備283
6.1.1 遊戲程式的一般結構284
6.1.2 遊戲程式的一般流程286
6.1.3 遊戲程式開發步驟288
6.1.4 遊戲程式設計中的注意事項290
6.2 遊戲程式開發舉例294
6.2.1 圖片對對碰製作295
6.2.2 俄羅斯方塊製作312
6.3 棋牌類遊戲設計任務341
本章參考文獻359
附錄A VC集成開發環境361
A.1 VC可視化集成開發環境 361
A.1.1 項目工作區361
A.1.2 應用程式嚮導(AppWizard)362
A.1.3 類嚮導(ClassWizard)363
A.1.4 組件庫(Component Gallery)363
A.1.5 輸出視窗(Output)363
A.2 VC創建項目工程363
A.2.1 創建C++程式364
A.2.2 創建Console應用程式364
A.2.3 創建Win32應用程式365
A.2.4 創建MFC應用程式368
本章參考文獻368
附錄B 基於MFC開發應用程式基礎369
B.1 程式坐標系統369
B.2 MFC項目工程實例370
B.2.1 添加新類372
B.2.2 添加新訊息處理函式373
B.2.3 添加成員變數375
B.2.4 添加成員函式377
B.2.5 重載虛擬函式377
B.3 應用程式訊息回響機制簡介378
B.3.1 Win32應用程式訊息回響機制378
B.3.2 MFC應用程式訊息回響機制381
B.4 對話框383
B.4.1 基本概念383
B.4.2 控制項383
B.4.3 製作對話框384
B.5 單文檔程式388
B.5.1 單文檔程式的檔案結構389
B.5.2 單文檔程式的類結構390
B.5.3 單文檔程式的MFC接口393
B.5.4 單文檔程式的執行過程397
本章參考文獻398
附錄C399
C.1 程式設計實驗報告框架399
C.2 程式設計實現報告樣本400
附錄D 程式設計實驗管理表與考核建議樣本406
附錄E 實例快速索引408