怎樣學好C和C 2

2021-05-26 00:07:02 字數 3355 閱讀 5162

是被同學

們問到,如何學習c

和c++才不茫然,才不是亂學,想了一下,這裡

給出乙個總的回

復。一家之言,歡迎拍

磚。 1

、可以考慮先學

習c。

大多數時

候,我們學習語

言的目的,不是為了成

為乙個語言

專家,而是希望成

為乙個解決問題的

專家。做乙個有用的程式

員,做乙個

賺錢的程式設計師。我

們的價值,將體現在客

戶價值上,而不是

語言寫得好不好看。

c++是c的乙個面向

物件的解

釋,c++為c

擴充了大

規模工程應用,

複雜的系

統結構的

組織和掌控方法,但是,我

認為,c++骨子裡

還是c的。 畢

竟,解決具體問題,

每個函式內部,都是用c的方式寫程式,

還是面向

過程的。

因此,想要學

習好c++,我的建

議,先學習c

,先學解決

問題的能力,再

討論解決大

問題的能力。就是先學習怎

麼走路,再學習怎

麼跑步。

2、學習

c的過程中,一定要理解結構化

程式設計思維。

為什麼呢,我前面有文章說過,

軟體語言的

發展過程,就是乙個資料私有化的

過程,大型工程應用,

強調高內聚,低耦合,模組化

設計,保持代

碼最大的靈活性和安全性。 這

是現代工程化

開發的核心和靈魂。

因此,利用c

這門語言入

門,藉此理解結構化

開發思維,可以

說是個很方便的路子。因為c

的函式,本來就是

為重用做準

備的。同

時,全域性

變數和cpp內部私有

變數的差

別,其使用原則,

這些都能學到很多結構化

開發思維。

3、開始學習

c++

c++不

難學的,很多人

覺得c++

難學,其實是因

為它在c之外,又提供了很多的概念,尤其是

物件,很

難以理解。不過

我經過這麼

多年,把這個

問題反而看淡了,我

認為物件導向相

對面向過程,

僅僅是結構化程式

設計的乙個具體體現,是

編譯器提供手段,

強迫程式設計師必

須遵循資料私有化的乙個

例項,c++和c的

關係,最核心的莫

過於此。現在我

們回到c再看看,如果我

們把乙個全域性

變數,寫到乙個cpp裡面,並且在

對應的h檔案中不宣告,它是不是就只有這個模

塊可以使用?它是不是就是私有

變數,以

這個理解,

類能明白了嗎?

4、學習

c++的深入技巧

c++在類

的基礎上,經過這麼

多年的發

展,其實

提供了很多深入的概念,看起來很

複雜,其

實我看也很

簡單。比如模板,我的理解就是「類的

類」,大家說

是不是?

既然模板理解了,stl,atl

這些,靜態模板

庫,動態模板庫,

還難理解

嗎?就是一大堆類的

類,可以藉此

實現很多

應用中需要的

類,不需要程式

員再自己寫而已。 ok

,stl都理解了,泛型

開發還難嗎?所謂

泛型開發,其實

就是我做乙個模板,來定

義一套演算法

規則,但是呢,我希望

這個演算法

規則,能進一

步抽象,

對核心資料

型別不要限死,我把各

種資料套

進去,都可以用,這樣,

僅演算法這部分,我不需要重寫了。你想想是不是

這個道理? 學到

這裡,c++和c,其實已

經差不多了。再學

語言,就是求全責備,

過於鑽牛角尖了。 5

、學習應用開發

前面說了,學

習語言,目的不是讓別人

認為自己是

專家,是

為了寫程式

賺錢。因此,

語言學完,要學習應用

開發。什麼

叫應用開發

呢,我會一

門語言,但是,客

戶不懂,客

戶說的很直接,在windows下

給我寫個程式,我要什麼什

麼功能。

為啥windows

呢?因為我習慣

。ok,很多時候,應

用開發要尊重客

戶習慣,一般說來,

語言這個

東東,還是要

結合具體平台的

開發,才能

開發出有意義的

應用程式

賣錢。那

麼,一般

說來, 客

戶端是windows系統,服

務器是linux,

這些都是行

業習慣,嵌入式不好說,各

種平台都有,palm,s60,linux,wince,等等。要 根據自己的目標客

戶來定。

當我們選定目標

平台後,有乙個問題,

選什麼語言,很多

時候,學生和商用程式設計師差

別就在這裡,學生一般沒得

選,自己會啥就用

啥唄,企

業裡的程式

員不會,要先

評估需求,看哪個

語言更合適,不會的

語言,要去學。

ok,假定我

們選了c和c++,那麼,我

們需要選擇開發

平台,windows下不用

說了,vc,

這是最好用的,linux下呢,gcc,其他的也差不多。

假如我們開發

vc,並且使用c++,這個

時候,才需要考慮學

習mfc

了,因為這是微軟

的標準類庫

,至少windows平台下,它最

權威,你看

見沒有,我們從學

習開始,走了多少

步,才走到mfc?是不是mfc不是學

習c++

上來就必

須學的?

怎樣學好C 程式設計

1 打好堅實的基礎 變數 流程控制語句 類 介面 特別是繼承關係,一定要理解,當然剛開始的時候肯定理解程度不深,但至少要求記住。2 2 看別人寫的程式,完整看完乙個例子。比如乙個c 編寫的簡單 然後好好的思考下,給你的啟發,哪些地方讓你理解了基礎知識沒理解透的內容,哪些地方讓你茅塞頓開!33 自己動...

求職遭遇的問題(C 和C )。(2)

c 中靜態函式的作用?c 中線程池的概念?c 中純虛函式的作用?c 中靜態函式的作用?我自己的理解 最直接的回答是 靜態變數和靜態函式都是屬於累而不是屬於物件的,靜態函式只能訪問靜態變數,而不能訪問普通的成員變數。引申來說,靜態函式通過操作靜態變數,可以實現很多功能或者說是設計模式,舉例 1,靜態變...

資料結構 C 2

模板 今天看了模板一章,真是頭疼啊,什麼亂七八糟的東西,template,class,以是 的,真是乙個字亂,看書上的源 還有點感覺,不過有些怪,上機除錯一下,果不其然,錯誤十好幾個 真是有些悲哀啊,書都出了這麼多年了,錯誤還是錯誤,根本沒有改,發行量小一些還好,偏偏發行量還那麼大,如果一點也不了解...