-
1 # C語言基礎
-
2 # 山海皆可平z
首先要掌握c語言基本知識,基礎的語法、語句、資料型別和結構這些很重要,這個就像是房子的地基,需要紮實的掌握。《c程式設計》譚浩強,現在都有第四版了,這個書合適初學者入門。基礎有基本的掌握後,就可以開始做基本練習,有很多小的練習,一般跟著《c程式設計》後面的習題做就行。這個要實際去敲程式碼,最好不要複製,因為有原始碼的,我的建議是最好是自己手動一個個字母自己敲下來,這樣對於程式編寫,才會有逐漸的有感覺。做高階的練習,一般是那些經典的演算法練習,比如冒泡演算法、各種排序演算法,這些在明白演算法本身的前提下,實際自己去編碼練習一遍。這樣能把基本的c語音演算法都熟悉一遍。要多看原始碼,這個非常重要。儘量去GitHub上,先找一些簡單的原始碼看起來。另外可以看一些經典的原始碼。看原始碼這個過程,可以看到前輩的編碼邏輯和程式設計技巧,能揣摩清楚作者的程式設計思想。
-
3 # IT人劉俊明
這是一個初學者非常常見的問題,作為一名IT從業者,同時也是一名教育工作者,我來回答一下。
首先,C語言是比較典型的面向程序式程式設計語言,由於語法結構比較清晰簡單,而且C語言的生態體系比較完善,所以當前C語言在IT行業依然有非常廣泛的應用,隨著物聯網的快速發展,未來C語言在物聯網領域會有更多的應用場景。所以,對於初學者來說,當前學習C語言依然是不錯的選擇。
在學習C語言的初期,往往會遇到三方面問題,其一是如何理解C語言中的抽象概念,雖然C語言的抽象程度沒有面向物件程式語言(Java)高,但是對於沒有接觸過程式語言的初學者來說,在理解一些概念時依然存在困難;其二是如何理解C語言的程式設計過程;其三是如何構建自己的程式設計思想。實際上,要想解決這三個問題,最為直接和有效的辦法就是多做實驗。
在能看懂程式碼的情況下,說明初學者已經初步理解了C語言的抽象概念和程式設計過程,但是不能自己動手完成程式設計,主要的原因還是沒有形成自己的程式設計思想,所以下一個階段就需要構建自己的程式設計思想。
構建C語言的程式設計思想需要從三個方面入手,其一是透過大量的實驗來深入理解C語言的程式設計過程;其二是實驗的過程要有一定的層次,既要注重驗證性的小實驗,同時要注重一些綜合性實驗;其三是做好總結,形成自己的方法論,這也可以看成是自己的程式設計思想。
最後,學習C語言最好確定一個學習方向,當前C語言在作業系統開發領域和嵌入式開發領域有比較廣泛的應用,對於初學者來說,當前以嵌入式開發作為主攻方向也是不錯的選擇。
-
4 # 使用者1800375975612
郭德綱相聲聽得懂吧,你能說嗎?這個類比可能過份了一些,但道理是一樣的。結論:不適合幹這行。程式設計需要一些天賦。真正的程式設計師的程式設計思維來自自己的大腦,讀別人的程式只是輔助。
-
5 # 吾所承之道
是的,我也是這種差不多的半吊子選手,寫bug是一把好手。所以我一般用matlab,儘量避免用c。實在不行學學Python和c混著用方便多了。
-
6 # 嘉靖不上朝
說明基礎還是不夠深,同時缺乏實際動手操練寫程式碼。
不要怕錯,就怕你不動手。遇到錯誤找問題,分析錯誤,這樣提高很快。
-
7 # 編碼之道
作為一個有多年程式設計經驗的過來人,說一說我的看法吧。
樓主說的問題,能看懂程式碼卻寫不出來,或者就是寫出來有這樣那樣的問題。這就和讀書與寫書一樣,只要你識字,就能讀書,但不是每一個識字的人都會寫書。寫書必須要識字,然而除此之外,還要懂得語言的藝術,能夠合理的組織內容,此外,寫專業書籍還需要充足的專業知識。
從你的情況看,你現在處於初級階段,但是能讀懂程式碼說明你已經掌握了C語言的基本語法,已經有了寫程式碼的基礎。下面是我給的幾條建議:
1、 動手寫程式,即使錯誤百出,在修改的過程中你也能彌補自己的不足,學到很多新的技巧。俗話說熟能生巧,寫的多了自然就會不斷積累經驗,就如寫作需要經常練筆一樣。
2、 學習資料結構與演算法,人們常說計算機是演算法的藝術,實際上程式設計就是把一個個演算法變成程式碼的過程,你對算法理解深刻了,寫程式碼自認會如有神助。資料是程式的載體,資料結構則是把現實資料轉換為計算機資料的技巧,熟悉資料結構之後就容易將實際需求轉換為程式碼。
3、 專研一些優秀開源庫的原始碼,學習那些優秀的程式的編碼風格、實現過程、組織結構等。這就和讀書讀名著一樣,增長你的見識,學習行業高手的技巧。
4、 學習一些相關的專業知識,比如你要寫一個通訊程式,過程可能就是傳送與接收資料,但是如果你不懂通訊原理與相關協議,即使你的程式設計水平再高,也很難寫出高效的通訊程式。所以,像通訊協議、作業系統、編譯原理等專業知識也能輔助你提高程式設計水平。
5、 多瀏覽一些程式設計論壇,有問題可以在上面提出尋求幫助,同時也要積極的回答一些其他人的問題,在交流的過程中也會積累越來越多的技巧與經驗。
-
8 # 深度視野
建立“深度關(連)系(接)”
當我們擅長一件事情,必然是與這件事情產生了深度連線,這種連線在很多書中會被叫做“深度關係”,僅僅是看看C程式碼示例,那麼這個知識僅僅是過了一遍大腦,還沒有產生深度連線。所以說要想成為一個,至少需要10萬個小時的反覆實踐。作為一個從事了10年C,C++開發的工程師,目前我依然不敢說自己已經精通這些語言。所以說需要多參與專案,勤於練習和使用才能導致最終的信手捏來。
技巧不可能一蹴而就。高水平的程式設計師往往在同一個問題上會有多種方法解答,而且最終透過實踐能找到最優的解決方法,然後將這種解決方案內化,當需要同樣或者類似的解決方案的時候能第一時間想到最快的方法,在持續的積累中產生了超多的技巧,甚至在職業中期和後期出N本書。對這些大神,大家只能跪服。然而這樣人的成功是可以複製的嗎?當然可以,只要勤于思考,勤於動手總結整理,有一天你也會成為別人口中的大神?
既然說了以上兩點,並且你還認同。那麼就從現在做起多實踐多思考多總結。
-
9 # 小縣城裡的故鄉往事
寫程式碼不可避免會出現這樣那樣的問題,有時候是不仔細變數賦值錯誤,有時候是邏輯不嚴謹有遺漏的條件沒判斷,有時候是編譯器本身的問題造成不同環境下執行有差異等等五花八門。但是要善於排查問題這才是關鍵,當你擼出一大串優美的程式碼的時候感覺很完美程式碼也很漂亮,但是執行之後一邊測一邊改往往到最後那一串程式碼就膨脹好幾倍,並且還多了很多分支才執行出正確的結果。
-
10 # C遊戲小白
我大一,也是才學C語言不久。之前甚至經常會出現某處的標點,格式有誤等等的問題。當然,現在好多了。就我個人看來,我推薦你和我一樣去這兩個網站學習。
1.菜鳥教程(https://www.runoob.com/cprogramming/c-tutorial.html)
這裡附上C語言的網址。我學C語言多久,它就伴了我多久。其中有很多C語言基礎的說明和舉例。(這裡的舉例確實不錯)每一次一有模糊的概念我就我像查字典一樣去查。
2.洛谷(https://www.luogu.com.cn/)在這首頁裡面註冊登入之後就會有有梯度的題目。你可以用C語言編寫。現在我才堪堪過了新手村(笑哭)。也不用怕自己不會,上面還很貼心地會有題解。
常加練習吧,祝我拿C語言得心應手的時候,你早已成為了大神。
-
11 # 江南一散人
學習任何一門計算機程式語言,入門之後,要想真正熟悉並掌握這門語言,沒有捷徑,只能透過不斷的加強練習。
C語言易於入門,難於精通作為大多數人學習計算機程式設計的入門語言,C語言具有語法簡單,易於學習的特點,入門相對比較容易。
但是C語言雖然簡單,但是卻十分靈活,技巧性比較強,尤其指標的運用,更是需要不斷的練習才能真正理解指標的精髓,所以很多使用C語言幾年甚至十幾年的程式設計師,都不敢自信地說自己完全精通C語言。
適合自己的才是最重要的,不要迷信所謂的“聖經”對於入門來說,可以找一本適合自己的書籍,先了解一下C語言的基本語法,提供的基本資料結構等基礎知識。
對於書籍的選擇,一定要合適自己,不要盲目跟風去硬啃那種所謂的聖經。當然,可以嘗試著去閱讀一下,如果覺得適合自己,當然最好。一旦發現不適合自己,比如閱讀起來非常困難,甚至不知所云,那麼果斷放棄,選擇另外一本自己相對比較容易理解的書籍來看。
因為,一般被稱為聖經的書籍,一般適合有了一定基礎之後再細細品讀的,卻不適合作為入門書籍。入門時,最重要的是培養對這門語言的興趣,對程式設計開發的興趣,一本讀不懂的書籍,往往容易打擊自己的積極性,進而影響自己對程式設計開發的興趣。
透過不斷練習加深理解,掌握程式設計的技巧入門之後,接下來就是要透過不斷練習來加深對語法的理解,學習程式設計的基本技巧。我們學習任何新的知識,一般都是先觀察,然後模仿,進而不斷練習,逐漸轉變成自己的知識。
對於程式設計開發也是一樣,前期可以多去看別人的程式碼,學習別人的程式設計思路,程式設計技巧,然後自己動手進行練習,從最簡單的“Hello world”開始,由淺入深,循序漸進。等你看夠一定量的程式碼,自己動手寫夠一定量的程式碼之後,就會發現程式設計開發並非想象中的那麼難。
專案實戰,效果最好此外,如果可能的話,最好是參與一些實際的專案,在專案中進行學習是效果最好的。如果能有比較有經驗的前輩指導,更是事半功倍。
參與開源專案如果有精力的話,可以參加一些開源專案,和世界各地的程式設計師一起交流,相互學習,可以迅速提高自己的程式設計能力。
回覆列表
學C語言看懂程式碼
首先你要明確一點,學習C語言,除了要學習語法,還要學習記憶體、字元編碼、除錯技巧以及程式設計思維,看得懂程式碼,知識代表你學習了語法,看的懂而已,就像一個不識字的人也能做車一樣的道理,但是讓她自己去寫就很難了。
自己寫就費勁如何處理這是一個沒有統一答案的問題。每個人投入的時間、學習效率和基礎都不一樣。如果你每天都拿出大把的時間來學習,那麼兩三個月就可以學會C/C++,不到半年時間就可以編寫出一些軟體。但你不是大神。要想出類拔萃,沒有幾年功夫是不行的。
學習程式設計不是看幾本書就能搞定的,需要你不斷的練習,編寫程式碼,積累零散的知識點,程式碼量跟你的程式設計水平直接相關,沒有幾萬行程式碼,沒有拿得出手的作品,怎能
讓自己寫程式感覺很輕鬆,不費勁呢!
每個人程式設計師都是這樣過來的,開始都是一頭霧水,連輸出九九乘法表都很吃力,只有透過不斷練習才能熟悉,這是一個強化思維方式的過程。知識點可以在短時間內瞭解,但是思維方式和程式設計經驗需要不斷實踐才能強化,這就是為什麼很多初學者已經瞭解了C語言的基本概念,但是仍然不會編寫程式碼的原因。也不要壓力太大,一切程式語言都可以熟能生巧,練的多了,就容易了。
尾言