Visual C初學者入門的一條捷徑

2022-12-12 16:27:05 字數 4279 閱讀 3469

2005-02-14 09:19作者:cqfz出處:

部落格責任編輯:方舟首先宣告,我可不是什麼高手,也就是剛脫貧。因為運氣很好,買到了幾本好書,在學習過程中幾乎沒走什麼彎路,沒費什麼勁就入門了,現在一般的小程式能搞定了。

看到那些因為不知從何下手而苦苦掙扎的朋友,希望我的文章能給他們一些幫助。

學程式設計急不得,上來就學vc肯定碰一頭灰,說vc難就難在這點上了。如果硬上,意志堅強的話也許能挺過來,但也是會缺乏後勁,不得不回過頭來補習基礎知識。意志不堅強的話,很有可能就此放棄了,並留下乙個vc難得不得了的印象。

其實,只要踏踏實實一步一步來,vc也就是很簡單點事。在這裡我說一下,如果你還只是乙個初中生,那麼你就應當仔細考慮一下了。首先,限於你的知識和思維能力,學學c語言還應該沒問題,但要學vc是要下相當大的功夫的。

而且,你現在學到的東西將來一定會過時,所以不如把精力放在演算法的研究上,畢竟這些東西永遠都不會過時。

我覺著如果走對路子,入門vc,乙個暑假應該夠用了。

雖說學vc並不是傳說的那麼難,可不下些苦功夫是學不成的。在學vc前,你必須確定,你是因為熱愛程式設計才學vc的,而不是出於炫耀或其他。否則,恐怕你堅持不到勝利的那一天。

對於首次接觸程式設計的同學,我建議最好先學一下quick basic(dos裡就有帶,就是那個不用多學,知道什麼是整型什麼是浮點,以及do...loop for...next 等最基本的知識,能算個階乘,求個積分就行了,關鍵要明白計算機是怎麼執行命令的,對程式設計有個感性認識。

如果你對自己有自信,也可以直接學c++,應該也不會多費太多事。不過我覺著因為有很多資料是for vb的,並且網頁程式設計常用vb script,以後你也很有可能要用到vb,所以了解一些basic對以後也是有幫助的。而且如果只是要算個小題用qb比vc、vb之類方便多了。

(找個人教一兩天應該就能搞定了吧)

之後我建議找本初高中資訊學奧賽的書(有些奇怪吧)。這些書裡講解了基本的演算法,寫的卻比較通俗,沒什麼高深的數學知識,容易理解。這些東西在資料結構課程中有系統嚴密的講解,所以也可等以後再學。

但我覺著現階段寫一些小程式,實現些常用演算法對自己的思維是很好的鍛鍊,對以後的學習大有好處。我想,能排排序,求個八皇后,算個漢諾塔,再知道深、廣度優先搜尋就可以了。

如果你已經有一些程式設計的基礎知識了,自然就可以跳過以上兩步。

等你對程式設計有一定的認識後,就應該開始進軍c++了.注意,是c++而不是vc,這兩者根本不是一碼事!別買vc入門,你肯定看不懂!

c++是一門語言,而vc教程則是講解如何使用mfc類庫,學習vc應建立在充分了解c++的基礎上。

我覺著比起許多花花綠綠的大全、寶典,不如買本大學的c++教程(注意:別買等級考試的教程,那是應試用的),那些教程大都經過反覆錘煉,比較系統,很有含金量,有不會太貴。這裡我暴力推薦由清華大學出版社出版的一本《c++程式設計教程》,封面是紅色的,封底是黃色的,看起來很樸素,主編是錢能。

這本書簡直是好的沒法說,還便宜(39.5元)。這本書不但告訴你語法,還告訴你為什麼要這樣規定語法,看完之後,你會覺著那許許多多的規定是理所當然的,根本不用費心記,不但不枯燥,反而會使有一種美感。

書中還有許多實際程式設計時應注意的問題,很有價值。這本書還配有《實驗指導》,和《習題集》,不過對於有一定程式設計經驗的人應該是用處不大,所以我沒買。除了這本書,我建議再買本關於傳統c語言的書,要著重以下幾個方面:

編譯預處理、typedef的使用,位運算,標準庫函式的使用(最好有乙個比較詳細的列表,用的時候好查)。

c++的標準類模板是個不錯的東東,不過對於學習mfc卻沒有幫助,原因是mfc太落後了(^_^),可以先放一放,要不要學等搞定mfc時再作決定。雖然我沒怎麼學過,不過覺著它挺不錯,而且代表了一種發展方向。雖然學著費勁(那東西幾乎沒一點c++的樣子,簡直是在學新語言),但掌握它可使程式設計輕鬆不少。

學完了c++,該學vc了吧?別急,先找本win32程式設計的書,這次沒什麼講究,看著差不多的,便宜一些的就行了,如果有對於vc整合環境的介紹就最好了。win32程式設計是指用windows api程式設計,mfc是將眾多的api函式進行了封裝的類庫,用起來方便了不少,但如果沒有一些api程式設計基礎,對相關概念不了解,學起mfc來可能會很費解。

相信我,將來你不會覺著學api程式設計是浪費時間的。api函式有兩千多,要都學會累死。其實你只要知道如何建立視窗、對話方塊、控制項、訊息迴圈,了解了控制代碼的含義就差不多了,最好再了解一點gdi程式設計。

這個階段的關鍵是要理解win32程式是如何運作的,把握各種視窗間的關係。因為你以後應該很少直接用win32 sdk編寫程式,所以關鍵是理解整體結構,記住幾個函式並沒有什麼意義。函式用的時候可以現查。

手頭應有乙份比較全面的資料。中文的api函式大全好像只有for vb的,不過看起來應該是沒有任何障礙。英文的資料msdn中就有,相當全面,也比中文的詳細一些。

我建議用中文資料快速查詢,有問題再看英文。(我忘了我的html版中文api大全是從哪**的了,不過書店有售,白皮的,很厚一本,很貴就是了。誰想要可以與我聯絡

對於想學遊戲程式設計的朋友注意:從現在起,你不必去學什麼mfc了,相信我,那東西除了讓你頭疼一點用處都沒有。遊戲都使用win32 sdk編出來的。

現在,你要學的是directx。我推薦老王翻譯的directdraw文件(前面有一些老王自己寫的基礎知識,很適合入門, 在此特別感謝老王的辛勤勞動。我還買了一本《directx 7 速成教程》,機械工業出版社出版,封面封底都是紅色。

除了翻譯慘了點還算不錯,介紹的挺全面,還有一些遊戲程式設計基礎知識。如果你想圖省事,可以考慮用雲風編寫的風魂遊戲庫,很方便的( 對雲風的辛勤勞動表示感謝).不過我仍然建議至少了解一下directx.

這裡說一下,很多朋友抱怨找不到有關directx的書籍,我告訴你,別去程式設計書籍裡找,去多**製作書籍那找,還要把眼睛瞪得大大的、圓圓的。director.. director..

directx!!!知道了吧,書店工作的人眼神都不大好,我也是有一天沒事瞎轉才發現的,嚇了我一大跳。發現這個秘密後我發現其實有不少關於directx的書,只是一般人找不到罷了。

學會了directx,就可以開始奮鬥了,剩下的問題就只有積累經驗了。

對於志向是應用軟體的朋友,打好了基礎,現在進軍vc的障礙都已掃清了。不過還是應做好充分的思想準備,事情不會那麼順利的。剛開始,你就要面對乙個瓶頸,大量的緊密關聯的知識,使你必須一下理解乙個整體,而很難一點點來。

可以說,學vc最難的就是剛開始。情況有些類似於你第一次建立視窗時面對的那長長的程式,只不過更糟糕就是了。很多人就是在此被一大團知識噎著,放棄了學習。

事實上,這幾乎是windows程式設計的一大特點,在win32程式設計時你就應當有所體會,而directx和com都有類似問題。記住,一定要堅信:突破了這個瓶頸之後便是一片海闊天空,而有著紮實基礎的你是一定能闖過去的。

我的建議是,不要等徹底弄明白一句才看下一句,而是知道好像怎麼回事就向下看,實在看不懂也硬著頭皮往下看,等能比貓畫虎的作出個選單、對話方塊時便回過頭再看一遍,幾遍之後應該就可以大概明白mfc程式的運作了。注意:這裡有個關鍵,一定要用心體會物件導向程式設計的精神,努力將眼前的程式與你之前所學的知識聯絡起來。

通過比較成員函式和對應的api函式間的區別,嘗試去理解mfc是怎樣封裝相關的api的。例如,相當多的類將控制代碼封裝了起來,在傳遞引數時加以省略,這就是乙個很重要的特性。mfc中有許多的巨集,看起來很奇怪,但你不必理會其實現方法,只要知道如何使用便可,這點也很重要。

還有,千萬不要過於依賴classwizard,對於其生成的**要自己進行分析,偷懶就不能真正理解mfc。

這裡我介紹一種學法,不過學法這種東西因人而異,所以還要根據個人的情況決定。開始時,教程讓怎麼辦就怎麼辦,比貓畫虎的作出個選單、對話方塊,然後試著新增控制項。等能不看教程便做到這些時,開始逐字逐句的試著理解mfc程式的組織。

若看不懂就跳過看下面的。就這樣一遍一遍來。如果覺著頭大就先歇上兩天,等清醒了再接著來.

最好在這期間多找些介紹mfc框架的文章。注意:先不要碰有關文件/視結構的東西,否則你會更頭大。

然後便可試著寫個定時器、名片夾之類的小東西,熟悉一下各種控制項的使用。

突破了開始的瓶頸之後再學下去便會越學越容易,因為你可以一點一點的積累知識,而不用擔心被噎著了。再過不久,你就不得不開始使用api函式完成一些功能,如在系統托盤加圖示,自畫列表框等。這時,你也會體會到學習win32程式設計的好處了,沒學過的人很可能就此卡殼。

關於vc的教程遍地都是,但魚龍混雜,市場烏煙瘴氣,騙錢的書真不少。有些書很厚,內容當然也很全,對老鳥很不錯,但對於初學者似乎有些浪費錢,因為裡面絕大部分的東西msdn中都有,並且初學者用不著。老外寫的書一般內容不錯,但翻譯水平是個問題。

如果翻譯糟糕可夠你受的,加上**不菲,我也不建議初學者買。還有些什麼傻瓜書、**之類,好像是面向初學者,時則為騙錢,你看完後除了那幾個例子什麼也不會作。如果你看到有一本書花了大量的篇幅**並茂,生動形象的介紹如何畫圖,輸出文字,別買!

騙錢的!(:-< 我就被坑去42塊現大洋)那些花哨的東西對初學者除了轉移注意力沒任何好處。

Oracle的初學者入門心得

oracle的體系太龐大了,對於初學者來說,難免會有些無從下手的感覺,什麼都想學,結果什麼都學不好,所以把學習經驗共享一下,希望讓剛剛入門的人對oracle有乙個總體的認識,少走一些彎路。一 定位 oracle分兩大塊,一塊是開發,一塊是管理。開發主要是寫寫儲存過程 觸發器什麼的,還有就是用orac...

Oracle的初學者入門心得

oracle的體系太龐大了,對於初學者來說,難免會有些無從下手的感覺,什麼都想學,結果什麼都學不好,所以把學習經驗共享一下,希望讓剛剛入門的人對oracle有乙個總體的認識,少走一些彎路。一 定位 oracle分兩大塊,一塊是開發,一塊是管理。開發主要是寫寫儲存過程 觸發器什麼的,還有就是用orac...

Photoshop入門初學者常用的技巧與效果製作

對於初學ps的朋友來說,在學習的過程中感到十分的迷茫,當看到網上好多優秀的ps作品後,總是感到無從下手,那些優秀的作品是如何製作出來的呢?其實對於初學者來說,認真的學習ps中的最基礎性的操作,才是關鍵。藉此作者總結了一些初學者常用的技術技巧與效果製作,希望初學者能夠切實的到幫助。1.了解ps中的基本...