歡迎您光臨本站 註冊首頁

零基礎學習C/C++需要注意的地方

←手機掃碼閱讀     retouched @ 2020-06-26 , reply:0

       談及C/C++,功能強大、應用廣泛,一旦掌握了後,若是再自學其他語言就顯得輕而易舉了。那為什麼學C/C++的人少呢?很多人認為C/C++雖然博大精深,但也難學。其實就本人認為C/C++並非是“difficult(困難)”的,只要你能理清思路,掌握它的精髓,配合一套教材。那麼學C/C++是一件非常容易且又其樂無窮的事。今天本人就與大家一起談談如何學習C/C++或者說學習C/C++應從哪幾方面著手。

先來說說C語言。

1、入門後多看代碼

在有一定基礎以後一定要多看別人的代碼。注意代碼中的算法和數據結構。畢竟學C之後的關口就是算法和數據結構。提到數據結構,指針是其中重要的一環,絕大多數的數據結構是建立在指針之上的,如鏈表、隊列、樹、圖等等,所以只有學好指針才能真正學好C。別的方面也要關注一下,諸如變量的命名、庫函數的用法等等。有些庫函數是經常用到的。對於這些函數的用法就要牢牢記住。

2、要自己動手

編程序是個實幹的活,光說不練不行。剛開始學的時候可以多練習書上的習題。對於自己不明白的地方,自己編個小程序實驗一下是最好的方法,能給自己留下深刻的印象。自己動手的過程中要不斷糾正自己不好的編程習慣和認識錯誤。有一定的基礎以後可以嘗試編一點小遊戲,照著編作為練習。基礎很紮實的時候,可以編一些關於數據結構方面的東西。之後.....學彙編、硬件知識。

3、選擇一個好的編譯器

GCC或者VS都是一個好的選擇

4、關於養成良好的編程習慣

(1) 在比較複雜的代碼後面要有註釋。如果光溜溜一堆代碼,別人就不可能看懂你的代碼,而且也不利於查找錯誤。除非你一直編東西給自己看。能在代碼裡說明白的就一定要在代碼裡體現。比如變量名、函數名,在命名的時候儘量說明是幹什麼用的。

(2)注意語句的嵌套不能過長,一般來說,一段代碼裡Tab要少於8個。簡單說就是語句最多8個嵌套。對於新手來說,這個標準還要下降。有一個好習慣是,把主函數儘量寫簡短。經常看到別人的代碼是主函數只有幾行,幾個函數調用,而定義全在主函數外部。這樣一是減少了主函數內部的嵌套,二是比較精簡,容易讀懂。

(3)注意語句的選擇。並不是分支語句就用if循環就用while、for。在適當的情況下switch和do while語句也是要用的。在某些時候,switch語句比if語句更加精練明瞭,而do while比while少一個循環。

很多人對學習C語言感到無從下手,經常問我同一個問題:究竟怎樣學習C語言?我是一個教師,已經開發了很多年的程序,和很多剛剛起步的人一樣,學習的第一個計算機語言就是C語言。經過這些年的開發,我深深的體會到C語言對於一個程序設計人員多麼的重要,如果不懂C語言,你想寫底層程序這幾乎聽起來很可笑,不懂C語言,你想寫出優秀高效的程序,這簡直就是天方夜譚。為什麼C語言如此重要呢?

  • 第一:C語言語法結構很簡潔精妙,寫出的程序也很高效,很便於描述算法,大多數的程序員願意使用C語言去描述算法本身,所以,如果你想在程序設計方面有所建樹,就必須去學它。

  • 第二:C語言能夠讓你深入系統底層,你知道的操作系統,哪一個不是C語言寫的?所有的windows,Unix,Linux,Mac,os/2,沒有一個裡外的,如果你不懂C語言,怎麼可能深入到這些操作系統當中去呢?更不要說你去寫它們的內核程序了。

  • 第三:很多新型的語言都是衍生自C語言,C++,Java,C#,J#,perl...哪個不是呢?掌握了C語言,可以說你就掌握了很多門語言,經過簡單的學習,你就可以用這些新型的語言去開發了,這個再一次驗證了C語言是程序設計的重要基礎。還有啊,多說一點:即使現在招聘程序員,很多考試都是考C語言,你想加入it行業,那麼就一定要掌握好C語言。

系統學習編程的方式。首先你要了解什麼語言能做什麼,學來幹嘛,然後學相對應的知識,而不是盲目的去學習。

C語言很多人都是剛剛接觸 完全都不知道這是什麼,那麼就要先裝個編譯器,IED,或者gcc等都可以,只要能用。

C語言知識流程:

學數據類型,-進制轉換-運算符-循環語句-開關分支語句-函數-數組-字符串-指針-結構體-內存管理-文件操作-函數指針-指針函數-多維數組-高級指針-結構圖嵌套-高級內存管理-鏈表-排序算法-二樹叉-APi函數-linux命令-linuxAPi函數-shell腳本-socket通信-等。

初學者看得會有點亂,到了學API函數 的時候也就是開發項目的時候了,但是有一點注意,因為部分知識沒法在書上表達出來,所以目前書上知識是不完善的。

一門語言開發出項目來才算是真正的開始,也就是說,你開發出來項目,才有可能去接觸工作,C語言的工作崗位相對來說是比較少的。

再來說說C++:

C++ 知識很多,主要部分就是框架,QT,MFC這兩種框架目前用的是比較多的,也有人會直接學C++,但是學起來會比直接學C還難,而學過C在學C++是容易很多,主要學的就是框架方面的知識了,C語言的知識和C++的差不多,區別不大,所以學C++的時候主要學的就是框架了。

C++知識流程:

編譯環境配置-名字空間-函數重載-啞元函數-內聯函數-引用-類型轉換-面向對象-類的使用-構造函數-析構函數-拷貝構造-拷貝賦值-this指針-常對象-常函數-動態內存分配-靜態成員-運算符重載-繼承-多重繼承-函數重寫-多態-虛函數-抽類象-虛析構-動態綁定-文件i/o-異常處理-標準異常-泛型編程-十大容器-算法-迭代器-QT編程-QT三維圖形-API函數編程-MFC框架編程。

C語言是面向過程的,而C++是面向對象的。

C和C++的區別:

C是一個結構化語言,它的重點在於算法和數據結構。C程序的設計首要考慮的是如何通過一個過程,對輸入(或環境條件)進行運算處理得到輸出(或實現過程(事務)控制)。

C++,首要考慮的是如何構造一個對象模型,讓這個模型能夠契合與之對應的問題域,這樣就可以通過獲取對象的狀態信息得到輸出或實現過程(事務)控制。所以C與C++的最大區別在於它們的用於解決問題的思想方法不一樣。之所以說C++比C更先進,是因為“ 設計這個概念已經被融入到C++之中 ”。

C與C++的最大區別:在於它們的用於解決問題的思想方法不一樣。之所以說C++比C更先進,是因為“ 設計這個概念已經被融入到C++之中 ”,而就語言本身而言,在C中更多的是算法的概念。那麼是不是C就不重要了,錯!算法是程序設計的基礎,好的設計如果沒有好的算法,一樣不行。而且,“C加上好的設計”也能寫出非常好的東西。

上面知識學完就該到項目開發,只有開發出項目,你才能去工作,開發軟件等。

以上就是一個學習的流程,從零基礎有順序的學習,才能走得快一點,而不是盲目。



[retouched ] 零基礎學習C/C++需要注意的地方已經有248次圍觀

http://coctec.com/docs/c/language/show-post-239739.html