C 學習的問題,C 自學問題

2023-01-06 14:56:01 字數 5647 閱讀 8953

1樓:匿名使用者

c++是一門艱難的課程,因為包含的東西太多,所以絕大多數人學到一半就已經放棄了。如果你做好了挑戰這份痛苦的準備,那就來吧。

為什麼學習c++會如此困難呢?因為c++中牽涉到很多系統底層的概念,這些概念對於一個非計算機專業的人來講會十分抽象,會讓人感覺到程式設計不是一件非常簡單的事情。如果你之前學過vb.

net或者c#.net,你甚至會感覺c++是一門神經質的語言,你會經常問:為什麼c#和vb裡面這麼簡單的功能到了c++裡面實現起來這麼麻煩,需要這麼多亂七八糟,搞也搞不明白的概念?

這些問題是我學c++的時候經常問自己的問題。

想自學c++很好,如果你只是想學課堂上的知識,那是相當簡單的,只要每天混著好好聽課老師都會把物件導向的基本概念給你講明白的。但是如果僅僅這樣,想要**c++一些較深層次的東西是絕對不可能的。有一些非常經典的c++的書,包括《深入淺出mfc》、《windows核心程式設計》、《c++技術內幕》、《c++ primer》等,這些書要去讀,但不是馬上去讀,因為你如果連最基本的概念還掌握不好,或者還有點生疏的話,這些書只會增加你的負擔,基本上你讀一遍以後還是雲裡霧裡,況且這些書有些東西都是16位windows的東西,都已經過時了。

另一方面,寫這些書的作者已經是老手了,老手往往會忘了自己是新手時的感受,有些東西,有些**看多了就是一種感覺,一種美感,要深究地把**拆開來解釋將會支離破碎,高手們都不願意這麼做。所以如果你還只是一個新手的話,建議您先去買《visual c++技術大全》這種開發技術類的書,這些書籍後面的光碟裡面有現成的例項,可以讓你迅速進入狀態。當你駕馭**到一定的程度以後,你就可以開始研究**的結構了,你會知道訊息處理是windows程式設計最基本的概念,任何程序的通訊,過程的呼叫都是通過訊息迴圈機制來完成的,你會知道其實窗體本身就是一個死迴圈,因為它不斷呼叫了訊息迴圈,接受和等待其他程序傳遞過來的訊息,接下來你就會理解為什麼在主執行緒裡面放置一個死迴圈過程就算開了cpu中斷也不會響應,就是因為上述的緣故。

當你學到多執行緒程式設計的時候,你就會知道老師上作業系統課的時候講的那些程序訪問,程序衝突到底是怎麼回事,你甚至可以不呼叫系統內建的cmutex類,自己寫一個訊號量來控制程序的訪問,其實這就是一個變數的控制問題,根本不是那麼高深的問題,悟通了就悟通了。緊挨著你會欣喜地發現,原來c++是ieee指定的國際標準化程式設計標準之一,所以很多廠商都願意把自己的sdk整合到c++中去,例如cuda、tbb、opengl、opencv、directx等等,你就可以用這些工具實現非常複雜的運算和處理了。

另外,windows本身就是用c開發的,怎麼樣,很酷吧?祝你好運哦!

2樓:匿名使用者

學習c++ 最經典的書, 《thinking in c++》。看看這個吧,絕對有用的。

3樓:匿名使用者

數學和英語有一點基礎就ok了

c++很好學的 只要入門就很快了

4樓:伯虎無敵

錢能的c++程式設計

c++自學問題

5樓:小蝸牛冒險

1、沒有任何c語言學習經驗可以自學c++,因為c++是物件導向,c是程序導向,學了c再學c++反而會造成一時的混亂,c++又是一個從淺到難的過程(可以認為c++包含了c的所有內容,剛開始學c++其實就是學c(只是一些函式不一樣而已),只要肯學,c++還是很簡單。

2、對於沒有一點程式設計基礎的人來說(vf和c++兩碼事),您是應該先看《c++ primer luns》(第五版)。

3、用各種編譯器都合適,推薦您用turbo c++ 3.1 完全漢化版,因為您是入門級,而vc++是專業程式設計人員運用的,不適合初學者,且極大的佔用空間,許多東西對您來說都是沒有用處的。

4、沒有什麼要注意的問題了,注意勤奮就是!不要翻翻書覺得我學會了,這章不看了的心態。其他的《c++ primer luns》會教你的

祝你成功!

6樓:匿名使用者

我是學軟體的,這個還是有一定了解的,給你以下幾點建議:

1、 要學c++,c是必須學的.因為c++的大部分語言基礎是建立在c語言之上的,只是在輸出輸入和邏輯上有所改變。如果你不學c的話,很可能基本上看不懂c++裡面的程式。

2、 學c建議去買機械工業出版社的c程式設計語言(第2版·新版),這本書原作者之一就是c語言的開發者,而且翻譯水平也不錯。學的時候可以只學一部分,我覺得學完連結串列之後c語言大體上的知識就掌握了。

3、 你朋友說的那本書我們沒有學過,我們用的是清華大學的c++程式設計,我們系的同學普遍感覺還可以,推薦你試試。

4、 至於編譯器我覺得turbo c++ 3.1就是一垃圾,我用過一回就再也不想用了。我的同學做過一個實驗,把vc++6.

0中執行無誤的程式複製到turbo c++ ,結果莫名其妙的出了3、4個錯,實在令人難以置信。

5、 最後提醒一點,如果你的重心在c++上的話,c語言你的著重點就是各種函式的用法,一些程式設計思想最好淺嘗輒止,因為c++的物件導向程式設計思想和c的完全不一樣,如果c學的過於深,c++就有可能準不出來。

以上是我的經驗和建議,希望能對你有所幫助

7樓:匿名使用者

先看 《c++ primer》

再在 vc++6.0 上面練**。

《c++ primer plus》 和《c++ primer》的關係就是李鬼和李逵的關係,不建議你看,

如果實在想看基礎的書,建議你看看 《the c programming language》

記住:「慢就是快,快就是慢」

有問題可以互相交流。

8樓:匿名使用者

學c++易學難精,

你的提問很嚴謹;

給你一個建議:要學c++就得持之以恆,要是3分鐘熱度就算了,這樣沒意思。

for( 開始每天堅持寫上i條語句 ,i++);

if i<=100;

i++;

cout 《你自己也能回答你的問題了<

9樓:匿名使用者

如果是想寫個可行性報告,那我就不回答了.

我想說的是:程式設計中,語句不是瓶頸.演算法也可以再學.主要還是看程式設計思路.

想當年我c++就會用if和for,考試將就及格,但是競賽能獲獎.好多複雜功能的語句,也是由if和for整合的,就像是dos裡的bat那樣.

10樓:

我只曉得vc++6.0很好

應為我學c的時候就用的這個

介面相當的友好

用起來也很舒服

c++ 學習中有哪些障礙是初學者難以理解的

11樓:匿名使用者

複製控制。也是c++區別於任何其他語言的最主要的特點之一。

在沒有移動語意之前,複製控制主要包括下面的四個函式:建構函式,複製建構函式,賦值操作符解構函式。

這是類物件從產生到使用,最後到釋放整個生命週期中發生的一切的依據。這些全部由你來具體控制,當然你也可以放棄,用預設版本。

複製控制主要的作用是為拷貝是遇到大物件,自己含有指標成員是仍然保持使用正確而準備的機制。

有了這個機制加上智慧指標,c++既不需要垃圾**,也不會遇到c的指標問題。這是c++ 設計者的初衷。然而,現實並無如此美好。

例如,是很多人誤解c++只是比c多了物件導向的類定義部分,而沒有注意到複製控制的至高無上的地位。這樣使用c++的初學者一定會遇到記憶體問題,加上語法內容比c多,情況就會變得反而比c還複雜。

相反,只要理解了這一點,就會覺得c++比c要友好不知道多少倍,簡單明瞭。

理解了複製控制你就很容易理解標準庫容器支援的移動語意。同理,任何c++庫在你面前都是透明的,只要你花時間去研究。這個透明當然不是說你一看就會,像opelgl這樣領域相關的庫,你懂c++也僅僅是能走進大門而已。

c++怎麼就那麼難學

12樓:析璟

勤查msdn,多看源**,不光是看,也要學習別人的方法,多想想為什麼他們要這樣做,自己多練練手,保證每天**量在500至1000行,最後在找點參考書看看,就能很快上手勒。

13樓:匿名使用者

這兩個東西加在一起有你高中學的一半多? 高中三年只要不是放牛基本上能對80%的知識熟悉,c++ 彙編 計算機結構體系每天看個幾小時一年半還搞不定?

14樓:

俗話說「會者不難,難者不會」,當你堅持下去後,回頭看看這些都不是事,只要堅持,就一定能成功

15樓:

不難啊!只要你每天學習一點,不要想著一口吃完就不難

16樓:匿名使用者

我感覺還好呀,只要找到c++的樂趣就行。加油哦

17樓:

第二回:賈夫人仙逝揚州城,冷子興演說榮國府

18樓:匿名使用者

你覺得難學可能是你沒有掌握一個好的方法,首先要把基礎學好,不要一上來就去看一些比較複雜的**或者對你來說比較複雜的**,比如你還沒學類,你就直接去看直接用類的概念寫成的**,然後邊學邊練,可以加深理解。我就是學c++的,沒感覺多難,覺得就是正常的學習:掌握知識點,多練習,解決自己不懂的問題等。

碰到問題多查資料,以及向老師請教,如果一個知識點很重要,一定要把它搞懂,有需要的還需更深一層,不僅知道它怎麼用,還要知道其實現原理(可根據自身的階段適當調整了解深度)。最後,真感覺沒什麼可說的,就是學好基礎,我相信你真的把基礎學好了,你也不會這麼說了。

19樓:匿名使用者

學好c,c++不就行了。。

20樓:匿名使用者

不用懷疑,c++和彙編確實很難學

21樓:匿名使用者

學python吧 c++就是個無底深淵

22樓:匿名使用者

確實是有點難學,耐心點吧。

23樓:匿名使用者

多看書,學習c++不是一朝一夕的事。

24樓:長沙新華電腦學院

沒有任何程式設計經驗,可以找網上的成套成體系的公開課

25樓:陽光的凌寶寶

把手機藍芽關掉,然後進入到配對模式

關於c++學習問題的請叫

26樓:

我對你選擇的技術路線表示遺憾。

既然已經看完了這些書,還想繼續前進,為什麼非要在微軟的技術圈子裡糾結呢?仔細想一想,會用vc做幾個個mfc的介面程式就算是高手了嗎?

好好學習一下演算法,學一點linux作業系統的知識,比如你可以開始看《linux程式設計》和《unix環境高階程式設計》這樣的書了,還有侯捷的《stl原始碼剖析》以及cmu的《深入理解計算機系統》,這些書能讓你瞭解很多程式設計的本質,讓你擁有深入解決問題的能力,這些才是學習程式設計的正道。

接下可以看《unix網路程式設計》和《演算法導論》還有《深入淺出設計模式》、《敏捷軟體開發》之類的書,總之儘量地拓寬自己的技術視野。

前面這些書你都精通了,就可以看看《計算機程式設計藝術》和《計算程式的構造和解釋》這樣的大作了。我承認微軟是一個很大的軟體公司,可是微軟在計算機程式設計界的地位並不高,在武林中還達不到少林武當的地位。斯坦福大學、cmu、mit才是計算機程式設計界的少林武當,跟隨他們的技術路線才是進入高手殿堂的正確方向。

我見過的很多真正的高手都是t型人才。什麼是t型人才,就是在某個方面很深入,能夠研究和解決本質的問題,同時在很多技術方面又都有一定的建樹。

自學C語言,菜鳥級問題

第一個 d,就是後面的變數c的值,第二個就是變數d的值,那個 n 是個轉義字元,就是換行的意思 和word中的回車一樣 目的是為了顯示好看一點 樓主可以把那個 n去掉看看沒有換行的效果 printf a u d,b u d c,d d應該是十進位制輸出 電腦是2進位制的 換行 相當於寫完東西按了下e...

c語言問題,C語言問題

struct student拼寫成struct studnt了。拼寫錯誤 struct studnt沒有定義,所以無法執行sizeof。include typedef struct student int main c語言問題?嗯你的理解是對的,break就是用來跳出的switch,如果沒有brea...

c語言問題,c語言問題

首先你這個程式輸入個數是不可控的,n沒起到作用,因為你控制輸入的迴圈已經規定了i是從0到99,必須要輸入100個。而你這個 自認為統計總人數 的n n i,相當於n 1 2 3 那是不可能的。while xh i scanf d d xh i sg i n i sum sum sg i 用美元符號做...