本文目錄一覽:
- 1、C語言、C++、C#和Java他們的特點是什麼。我現在會C,C++也會一點。想讓自己更精進下,應該選哪個語言呢?
- 2、怎麼學好C語言
- 3、為什麼很多人覺得C語言只要學會了指針基本上差不多掌握這門語言?
- 4、請問高手:學了一學期的C語言後怎樣鞏固C
C語言、C++、C#和Java他們的特點是什麼。我現在會C,C++也會一點。想讓自己更精進下,應該選哪個語言呢?
c是面向過程的,c++是面向過程和面向對象的結合,java和c#則是純面向對象的。
特點的話,c和c++偏底層,效率高一些,但開發人員需要自己維護的地方就較多,如內存,指針,
應用主要是系統級的開發以及嵌入式。
java跨平台和適合網路編程,應該是目前應用最多的語言,開源的框架多得很,學的人也多得很,
c#不太了解,應該是偏重於windows的開發吧。
主要看lz想精進的意圖,是精進程序開發方面的技能?還是工作,薪資上的更進一步。
就編程本身來講,各種語言的差別不太多,主要是數據結構和演算法。
怎麼學好C語言
不知道你是專業的還是業餘的
業餘的話就看譚浩強的,看完就完了.
如果是專業的話,可以先拿譚浩強的來初步學習一下,因為比較通俗,
方法就是用4天或者更短時間,仔仔細細看完那本書,指針那部分多看幾遍,完全懂為止,文件操作那部分,可看,也可以後面用到再看.反正以後你編程的話,函數,結構體和指針是最常用到的,結構體可以延伸到類.
後面就去看-林銳博士寫的,規範一下自己的風格,這個很重要,譚浩強大師的風格在現在真的不能這樣用.自己看都會瘋掉的.
然後可以開始寫,上面有題目和解法,先自己寫,然後對照看,這時候可以鞏固自己的書寫風格,也貫通之前看的C語言.
然後如果想精進自己的C的基礎,可以繼續看機械出版社的,當做複習也好,當做細化也好,也可以當做參考書,寫程序的時候有什麼要用的基礎函數也可以看看那.
最後如果想做一個真正的程序員,要去看
看完書之後,就看代碼,寫程序.把鏈表啊,二叉樹,圖啊,排序啊,結構化啊,什麼都弄熟去….這個有點偏向數據結構了…不過程序員都是要學的.
有可能的話,找個基礎比較好的師兄來帶帶唄.有什麼題可以馬上問.
為什麼很多人覺得C語言只要學會了指針基本上差不多掌握這門語言?
從事嵌入式開發十幾年,只要使用的編程語言有三種,C/C++ Java三種,其中C語言使用的時間最長,這門編程語言的最大特別是語法細節簡介,但是靈活性非常強,從大的方面看要真正掌握一種編程語言,需要真正的項目實戰,只是停留在理論層面上很難認清編程語言背後的本質,記得剛學習C語言階段,基本上一個多月就把基礎語法學習完了,並且做了大量的實習題目,覺得這門編程語言就這麼回事了。
於是從學校的圖書館裡面借了一本將近1000頁的linux內核講解書籍,開始先從戰略上藐視對手,在戰術上重視在開始幾十頁進展的還是比較順利,始終覺得掌握好了基礎的語法,後面的就是變通和靈活運用的問題了,還能變出什麼幺蛾子結果,看到後面簡直就是在閱讀天書了,才知道了自己認識的淺薄,只是掌握點語法皮毛就想著挑大樑這種想法在編程行業顯得非常的幼稚,編程行業除了理論之外實戰經驗顯得非常重要。
回到題目中的C語言的核心知識點指針,C語言關鍵語法點指針,數組,結構體,回調,遞歸,函數等等,剩下就是這些個概念在項目實戰中的應用了,指針對於初學者來講就是一種雙刃劍,如果真的掌握理解了,能在編程中提升非常大的效率,如果沒有掌握對於很多初學者來講就是一種折磨,很多人覺得學不好C語言版本的數據結構,其實很重要的一個障礙就是指針,如果對於指針了解清楚,再去切入數據結構的學習就會顯得輕鬆許多,指針作為C語言裡面最重要的語法一點不為過,但是認為掌握了指針C語言就會顯得非常膚淺。
任何一種編程語言的背後都是大量的編程模式以及編程的套路,這些只有在真正的項目實戰中才能掌握,而且對於一種編程語言越是做的時間長越是覺得自己的膚淺,更加不敢稱之為精通,倒是現在很多初生牛犢在簡歷上寫上精通幾種編程語言,越是乾的時間長越是忌諱提到精通兩個字眼,所以講只是掌握了指針就說掌握一門編程語言的一半顯得認識不足,真正掌握編程語言還是靠項目實戰,不是所謂幾個重點語法這麼簡單的事情。
學習一種編程語言需要掌握幾個重點要素,首先掌握理論基礎,世要真正的明白,雖然編程語言是一種實踐性的語言,但實踐的前提是掌握理論基礎,很多人不懂C語言的指針就是因為沒有徹底明白指針的含義,只想著快點追趕進度,結果欲速則不達,越是重要的概念越是要徹底掌握明白;第二點就是實戰,在掌握理論基礎上就是通過項目實戰獲取經驗,紙上談兵永遠也不做不了真正的項目,想盡一切辦法去做項目實戰,沒有別的途徑,直面問題的本質,希望能幫到你。
很高興能回答你的問題
C語言作為編程老祖,很多軟體工具腳本都是用C語言或C++來編寫的。那麼C語言到底學成什麼樣才算學的比較好?
我上大學一年級的時候,就開始接觸C語言了,C語言自認為學的還可以。像數據、變數、循環、判斷等都是手到擒來。但學到第8章,也就是學到了指針那一塊,就感覺有一點懵了,老師也說指針是比較費腦力的,死記硬背是不可取的,需要理解它的含義。
在學習指針之前,基本都沒了解面向對象是什麼意思。但學到了指針就懂得面向對象與面向過程的差異。(簡單來說,前者就是以對象為基礎,設定其屬性啊,行為等。後者就是以完成它的過程為主,比如說:計算兩個數相加。前者可以設計為小貓計算兩個數,也可以是小貓2……,而後者就是計算,而且可以具體到是哪兩個數相加。)面向對象對於現在的編程語言還是很重要的。
個人覺得,指針與面向對象密切相關,導致在C語言中指針就變得尤其重要,像我後面學習的Python、java就沒有指針一說,但出現了很多類。相對C語言來說,多出了很多很多類。可能是指針被封裝起來了吧。
更多精彩,敬請期待!
指針遠遠不是C語言的全部,
只是在C語言學習道路上相對而言比較難理解的一塊。
畢竟從一個高級語言的角度去理解地址,比較抽象。
作為一個高級語言,數據類型,流程式控制制,函數這些才是高級語言的重點。
說差不多掌握這門語言,應該就是指的指針的難度,和學習的耗時。
也對,也不對,學會指針只是入門了。位運算與文件學會才能寫應用。
只要學過嵌入式開發對指針必定是秒懂,無非就是內存定址。脫離了硬體去學C只能學點皮毛。充其量也只能說會點語法而已。線程進程信號量系統調用各種通訊協議這些才是精華所在。
c語言是結構性(相對面向對象編程語言)高級編程語言。單純語言本身來講,語法結構大致類同。c語言的一大特點是對內存操作的靈活性,如果理解了對內存操作和管理的知識點,基本就掌握了這門語言。而指針便是c語言對內存操作的金鑰匙。要想掌握c語言,也必須要精通指針相關知識點。
如果不算數據結構、操作系統和演算法這些東西。純粹從語言角度來看,掌握指針技巧,確實可以認為基本掌握語言了。要想更加精進的話,可以考慮學習各個硬體平台了。
比如SIMD在各個CPU平台的實現等。做一些針對性的硬體優化是可以考慮的。多媒體庫就做了大量的硬體針對性優化。這個內容也算是核心技術的一部分了。核心技術的另一部分可以認為是演算法和操作系統知識的應用。
首先說明的是指針是C語言的一個難點,但是不是全部。就好比不會指針,很多編程技巧無法掌握,同樣掌握指針也不見得你能做什麼。很多編程技巧需要在實際項目中去體會和學習。等覺得自己像編譯器一樣思考,自己寫的每句代碼,都很清楚編譯器背後是怎麼處理的時候再說自己熟練掌握C語言了。
最後總結來說,掌握指針只是C語言”真正”入門的一個表現。
語言本身掌握不算難,重點是演算法,數據結構,編程思想…
我一般自己設計編譯器 c指針按我自己的想法來寫 怎麼的
請問高手:學了一學期的C語言後怎樣鞏固C
我覺得一般都是要在基本掌握了C++以後,才能明白C的實質;這個如果不是非常有天賦的話,沒有三五年好像很難說精進,慢慢來就好了;
你現在的階段,先把課本多讀幾遍,再找本好點的書學習,學校課本一般也就是哄哄人的;把數據結構和演算法學好;
資料庫不光是只有操作的,如何有效的設計比較難,mysql是免費的,可以試試;
現在有很多應用就是處理數據,譬如這個百度如何管理這麼多資料的查詢:)
《inside windows 2000》現在可看可不看的,因為做windows程序,用的話也是用C++比較多;
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/158976.html