"子曰:"三人行,必有我師焉;擇其善者而從之,其不善者而改之。
我們先看下學霸們的學法.
學霸一:
C語言是最基礎的程式語言了,其實,對於理工科專業的人來說,C語言並不難,C語言都學不好,怎麼學習C++、C#、Java、彙編語言等,這些語言比C語言要難得多。也許是因爲剛接觸C語言,剛剛接觸一門全新的課程,所以感覺比較難。
記得本人大學剛開始接觸C語言的時候,也是一頭霧水,根本不懂C語言是幹嘛用的,聽課時也是暈乎乎的。感覺很虛的東西,計算機二級考試也是勉強合格。後來,本人報名了一個電子設計競賽,經常在實驗室裏程式設計做專案,才慢慢體會到C語言的真正用處。後來對C語言產生了興趣,課餘時間經常到實驗室設計專案。到大三的時候,報名參加了全國電子設計競賽,估計是運氣好吧,拿了一等獎。
學霸二:
C語言難學,個人認爲是被國人誤傳或誤教所致。一直以來,高校理工科都開設了C語言,學生稀裏糊塗開始學習。在不清楚學習目的、所需前提知識的情況下,僅學習些基礎語法知識,導致大部分學生學習效果不理想,從而造就了C語言難學的傳說。
C語言是程式設計師與計算機進行交流的一種語言,目的是達到對計算機進行控制,實現程式設計師預期的效果或功能。因此,爲了能更加有效地進行交流或控制,除了學習些基礎的語法知識外,還要求學習者對交流物件要有較清楚的瞭解或熟悉(即所需前提知識),和掌握一些必要的交流技巧(思維方式或套路類的東西)。
學霸三:
在上大學之前,我對這個專業僅僅的認知是學電腦的,對程式設計來說更是一無所知,而我選擇計算機專業完全是因爲我從小就喜歡玩電腦,僅此而已。記得小時候還不會拼音和英文的時候,我玩的第一個遊戲就是俠盜飛車,靠着記憶按着start和quit game。
這就是我對電腦的啓蒙,但是我小時候就對電子產品非常感興趣,而我的父母並沒有向其他家長一樣阻止我接觸電腦,相反,他們認爲讓我從網路瞭解世界是一件正確的事情,只要自己掌握好尺度。所以從小影碟機,電視,電腦,手機沒有人教我我就自己琢磨,父母有些問題我都能解決。漸漸的,那時候對大學的專業沒有概念,就是想,如果上大學我還想上計算機專業,而我母親每次在我玩遊戲的時候就說:玩遊戲不是本事,能做遊戲讓別人玩纔是本事。能夠來到自己心目中的大學和喜歡的專業也是一件非常開心的事。
本學期前的假期,我提前學習了c語言,上課之前我很忐忑,對於我這種僅僅停留在玩電腦的小白來說能否學懂程式設計是個很難的事情。但是後來我發現,程式設計就是和計算機對話,就像學習外語一樣,讓人與計算機有聯繫。讓計算機明白人的意圖。這其中包還含着數學的知識。我認爲c語言就是所有程式語言的基礎,舉一反三,一門學精了其他的也就弄懂了,而c語言的精髓就是指針,這是其他程式語言沒有的。
學霸四:
c的語法是現在語言中比較簡單的,要說語法是就只有c++最爲複雜了。大家說的c難是因爲,用c開的的東西一般與系統api和演算法有關。演算法這個,沒個數學功底真的想不到,其它的語言沒有比較高階的演算法,其它語言的演算法也都是c語言從語言的底層(不是系統的底層)實現的,再封裝成語言的演算法庫。
系統api,這個東西不像語言層級的api那麼簡單,它是系統直接關係的相當複雜,要瞭解系統、信號、返回值這東西表現出來的現象多,與你要做一個東西有不同的處理。還有一個點c實現的東西要考慮到效能,這個不簡單,不是簡單的io效能,要考慮記憶體拷貝的消耗、堆疊開關的消耗、cpu排程的消耗。
學霸五:
從沒覺得c語言難學,相比後來的大量的面相物件的語言,c語言其實非常好學,學習門檻並不高。
如果說到難,一個是數據結構,這個東西比較枯燥,而且嚴格說應該是屬於數學問題而不是程式設計問題,第二是函數偏少,經常需要自己動手,不像主流oop們全都給你封裝好了直接用,不過,從這點講,也正是c語言的一大優勢,讓你知其然亦能知其所以然。
c語言屬於中級語言,意味着它具備oop們沒有或缺乏的的對計算機底層資源的操控能力,因此操作系統,驅動程式等基本都只能用c。
學霸六:
很多人在學習C語言的時候,本來對程式設計很感興趣的,最開始學習的時候也投入了大量的時間和精力在上面,理解了這,理解了那,到最後發現只是在黑視窗下面 下麪列印幾行數位和字母;
學起來會覺得比較枯燥,而且越學越發現沒意思,最後只能放棄,所以說,學習程式設計,換一種方式去學習可能會更好一些,比如說開發個小遊戲啊,這樣學起來可能會更有成就感,讓人覺得學了這東西有用,可以做出東西來。
這些總結起來就是:
1.對數位要很靈敏。像很多時候打字是用編碼輸入的,看到一個漢字我都能看到它背後那個那個程式碼。
2.要算無遺漏。程式設計步驟多的時候容易搞錯細節。比如中英文的句號,小數點,標點符號和平時寫文章時的些微不同意義,等等。這麼多個指令合起來後有無漏洞,或者整合後有沒有更強大的用途。
3.要保持「計算機程式」一樣的思維。想問題的時候多換位,把自己當成電腦,用電腦的思維(角度)來想。
4.看到一些好的軟體,就發揮想象和所查資料結合,將它的每個零件都剝析清楚,也就是將它的來龍去脈搞得明明白白。最好還能常常自己設計一點東西,無論實不實用,這是從「懂了」到「會運用了」的關鍵一步。
5.不怕辛苦,不怕錯,不惜花錢。將自己不懂的問題無論國家大事、雞毛蒜皮統統列印下來,見到老師就問,問了就記筆記--當然是計算機方面的問題。
6.每學一個知識,事前問學長學姐當年心得,事中問同學有何感受、感想,事後多總結。別人不會但你會的,你就盡心去教別人。可能你以爲這個你已經很瞭解了,但往往在教別人時,別人問了點問題你才發現原來自己這個也不時很懂啊...
7.常和老師一起談話,除了問不懂的問題,儘量少開口多聽他講。如果老師不健談,那你要會引導他談話。宗旨是多想、多問、多聽、少說。
想提升你的程式設計能力,成爲一個強大的程式設計師!不妨和一些志同道合的小夥伴一起學習成長!
C語言C++程式設計學習交流圈子,【點選進入】微信公衆號:C語言程式設計學習基地
有一些原始碼和資料分享,歡迎轉行也學習程式設計的夥伴,和大家一起交流成長會比自己琢磨更快哦!