-
1 # 閒人老盧
-
2 # 石階
尤其是C++語言確實是有比較多的知識點,需要慢慢的來掌握。樓主可能聽說過,程式設計師在寫求職簡歷時,通常不會寫“精通C++”而是寫“有若干年的C++開發經驗。”由此可以看到這種語言的複雜程度。
但是這是有學習的方法的。首先題主要先學習c語言,這是因為總體上說c++是c語言的擴充套件。c語言有32個關鍵字,而c++將關鍵字擴充套件為63個,並且在c語言的基礎上加入了很多新的資料型別與支援面相物件的思想。有人打趣到“c++就是給豬插上了翅膀(這裡的豬指c語言)”。因此先學會這隻“豬”——c語言,是很明智的。
第一,c語言這種面相過程的程式語言,不涉及難懂的類概念,包括繼承,友元,模板,泛程式設計等等入門同學不好理解的概念都沒有,相對容易學習與掌握。
第二,c++是c的擴充套件,也就是說c的程式碼是可以在c++中使用的,並且在實際中這部c分程式碼通常佔很大比例。
當題主掌握了基本的c語言知識後,再學習c++就會感覺輕鬆一些了。因為有了c語言的基礎後再來學習c++中的新特性也會比較容易理解了,包括新的資料結構,類這些新東西在記憶體中的情況。當然這也是一個需要不停學習的過程。
最後給樓主一些學習建議,尤其是在學習c++語言時。首先要選擇一本好的教材,我推薦C++ Primer Plus 第6版中文版 。很權威並且適合入門。其次,如果樓主在學習完這本書後還想進一步深刻理解,可以去針對性的學習一些c++高階課程,例如c++網路程式設計、c++多執行緒程式設計、c++編寫驅動程式等等。
總之學習c++是一段壯麗的旅程,在這裡題主將學習到很多的程式設計知識。有過這段過程之後,再學習其他的程式語言也會很快上手了。
-
3 # 方外靜軒
教過程式設計,根據教學經驗說說看法。
C/C++ 是比其他語言難些,但差距不大。以往很多人說 C/C++ 難,那是舊時代的產物。那時作業系統(例如 DOS)還沒有如今這麼強大的功能,像介面設計和底層設計都要靠應用程式來實現。由於 C 的高效率,高階設計大都用 C 語言和組合語言來寫,程式搞得很複雜,初學者有望塵莫及的感覺。C 的簡捷表達法比 Fortran, Cobol, Pascal 和 BASIC 更難記住,有些程式設計“高手”又喜歡玩弄技巧,程式可讀性很差。種種原因讓初學者感覺 C 語言很難。
C++ 在 C 語言基礎上擴充套件了 OOP(面向物件程式設計)功能。語言基本元素沒多大變化,但 OOP 概念需要深入學習才能掌握,所以 C++ 又增加了另一層難度。但這時其他語言也有了 OOP 功能,如 Delphi 的 Object Pascal 和 帶 OOP 的各種 BASIC 程式設計環境。同時,作業系統也大為增強,介面設計和底層任務可以直接呼叫系統功能來實現。於是,程式設計的難度轉移到兩點。一是要熟練掌握 OOP 設計方法,二是要寫出緊內聚松耦合的易讀易維護程式。這對各種語言都一樣,早先 C/C++ 的難點反倒不算什麼事了。
網際網路普及之後,程式設計重心轉向網路設計。如 B/S(browser/server)系統,客戶端和伺服器端都有各種設計方法。像 Javascript, PHP, JAVA 和 C# 都是這個時代的產物。這些語言又都模仿 C/C++ 的寫法,基本表達方式和 C++ 很相似。網路程式有一套獨特的設計要求,這又給程式設計增加了另一層難度。手機程式和普通網路程式本質上相同,但手機螢幕很小,介面非常獨特,需要一套獨立的設計方法。
看起來有點可怕?還好,大公司提供了各種整合開發環境,第三方設計者又提供了數不清的擴充套件呼叫。應用程式主要是去呼叫現成功能,很多事情反倒更簡單了。
綜合以上情況,初學者最好先在單機平臺學習 C 語言的基本元素和函式構建。熟悉之後,再學習 C++ 的 OOP 方法,然後學習網路設計要領。循序漸進,一點一滴做起。關鍵是要做大量例項練習,千萬不要一遍遍去讀那些教科書。不做例項,讀多少遍也是雲裡霧裡一團亂麻。成功與否,就看你能不能把例項程式調通。一旦調通,你會有頓悟的感覺。有些人始終不能調通程式,只好放棄。當然,有高手相助幫你分析程式的問題,那是再好不過,成功機率會大增。
先說這些,願每個有志者都能跨入這個神秘又神聖的領域。
-
4 # 菜菜菜鳥
一開始就要養成良好的變成習慣:
儘量的把函式弄的通用點,程式碼行少點,一個函式只完成一個簡單的功能,一眼就能看出來此函式有沒有程式碼錯誤,每個函式都是健壯的,那麼你的程式就是健壯的。
完成一個功能的時候在邏輯清楚的情況下程式碼越少越好,千萬不要比程式碼誰寫的多。
在完成一個功能的時候要考慮效率,目前計算機的記憶體很大,所以記憶體已經不是首要考慮的因素了,但是在某些特殊的地方效率還是很重要的。有效率高的演算法,就不用效率低的演算法
命名要清楚,最要用漢語中的謂賓結構如set_buffsize(),規範化命名
儘量把一個大的程式安功能分成多個檔案,一個檔案儘量不要超作1000行,這樣就很清楚的知道那個檔案程式碼是健壯的,那個檔案有可能有隱患,在程式碼檢查的時候可以有針對性的檢查某幾個檔案
入門的話先買本基礎的教材來看看,使得對C語言或者c++有個初步的認識。
如果你的身邊有用經驗的開發人員可以請教的話,那麼再好不過了,多多向別人請教。多多學系資料庫、作業系統、計算機網路、資料庫等知識,不斷的提高自己的知識體系和程式設計水平。
多去論壇社群逛逛,上面也可以提問、看看大佬的程式碼啥的。
-
5 # 玩著學程式設計
想要輕鬆的學習C語言,選對教程很重要的。
很多人開始學習C語言都是透過“黑視窗”的方式來學習的,在命令提示符下面列印數字,或者是幾個圖形,把C語言的課程學完了,還不知道具體C語言能做什麼。
你會發現你除了會敲一些黑底白色的字元以外,你啥也不會。這個時候你將會陷入困境中,覺得C語言學習一點意思也沒有,除了會敲黑底白字以外,一點用處也沒有。
所以說,初學C語言,可以透過一種比較好玩的方式來進行學習。
可以看下“如鵬網”的《C語言也能幹大事》影片教程,透過開發超級瑪麗,飛機大戰,吃金幣,桌面彈球等經典小遊戲,用C語言來開發網站,開發校園一卡通系統等來講解C語言的基礎知識點,沒想到C語言還可以這麼學。蠻有成就感的。
影片教程,課件,原始碼等都是可以免費下載的,有問題隨時提問,實時答疑。
-
6 # C語言答疑課堂
題主這個問法是不對的,C語言和C++語言是兩門程式語言,學習這兩門軟體開發的語言是沒問題的,但是想輕鬆的學習這兩者基本是不可能的。下面的回答我重點講講該怎麼學習C語言。
一、耐得住性子真想把C語言學好,首先不是你智商得有多高,而是你是不是耐得住性子坐下來學習。要知道,C語言的基本知識多而雜,有些章節的知識還是非常的抽象,比如指標、連結串列、二維陣列等。如果定力不夠,那麼在學到這些章節的時候,你很可能就會選擇放棄,因為臣妾實在是看不懂啊、看不懂啊、看不懂啊!
其實你真的看不懂嗎?我看你是想偷懶吧。全國、全世界有那麼多的軟體開發者,或者程式設計師學好了C語言,而且都學的很棒,為什麼你不行呢?那些從事IT行業的開發者的智商不見得比你高啊,你想過其中的原因嗎?
二、選一門好的C語言教材初學C語言的人,選一本好的教材是非常重要的。由於C語言這種程式語言是老外發明的,因此還是老外對這種程式語言理解的更透徹一些,因此還是多看看國外的有關C語言程式設計的書籍吧。
記住,選一本好的書籍是成功的一半。
三、多寫程式碼學習程式設計時,寫程式碼是少不了的,而且如果想把C語言程式設計學好,必須得多寫程式碼、多程式設計。
寫程式碼一方面是鞏固你學習的C程式設計知識,另一方面也是訓練你寫程式碼的靈感。總有小夥伴說書都看得懂,就是寫不出程式碼,根本原因還是C程式程式碼寫的太少。當然,剛開始寫C程式程式碼肯定會寫不出,但是熟能生巧,等你寫熟悉了說不定作出一個驚世駭俗的程式專案也是有可能的!我看好你喲!
回覆列表
對於智商在合理範圍內的初學者,沒有任何輕鬆的方法學習c語言和c++。c語言是為計算機從業人員準備的基礎工具,並不是給普通工程師使用的。因為學習c語言主要目的是理解編譯原理,作業系統和計算機組成原理等一些涉及計算機底層系統。如果只是學習c語言的語法,基本上幾天時間就夠了。但是僅僅學會語法並不等於學會了c語言,還要學習其他的知識,才能對c語言有個初步的理解。而其他知識,比如作業系統,那就不是一兩年能精通的知識了。