編程入門:985 學霸的經(jīng)驗之談,看看他們是如何入門C語言的?
"子曰:"三人行,必有我?guī)熝?擇其善者而從之,其不善者而改之。

我們先看下學霸們的學法.
學霸一:
C語言是最基礎的編程語言了,其實,對于理工科專業(yè)的人來說,C語言并不難,C語言都學不好,怎么學習C++、C#、Java、匯編語言等,這些語言比C語言要難得多。也許是因為剛接觸C語言,剛剛接觸一門全新的課程,所以感覺比較難。
記得本人大學剛開始接觸C語言的時候,也是一頭霧水,根本不懂C語言是干嘛用的,聽課時也是暈乎乎的。感覺很虛的東西,計算機二級考試也是勉強合格。后來,本人報名了一個電子設計競賽,經(jīng)常在實驗室里編程做項目,才慢慢體會到C語言的真正用處。后來對C語言產(chǎn)生了興趣,課余時間經(jīng)常到實驗室設計項目。到大三的時候,報名參加了全國電子設計競賽,估計是運氣好吧,拿了一等獎。

學霸二:
C語言難學,個人認為是被國人誤傳或誤教所致。一直以來,高校理工科都開設了C語言,學生稀里糊涂開始學習。在不清楚學習目的、所需前提知識的情況下,僅學習些基礎語法知識,導致大部分學生學習效果不理想,從而造就了C語言難學的傳說。
C語言是程序員與計算機進行交流的一種語言,目的是達到對計算機進行控制,實現(xiàn)程序員預期的效果或功能。因此,為了能更加有效地進行交流或控制,除了學習些基礎的語法知識外,還要求學習者對交流對象要有較清楚的了解或熟悉(即所需前提知識),和掌握一些必要的交流技巧(思維方式或套路類的東西)。

學霸三:
在上大學之前,我對這個專業(yè)僅僅的認知是學電腦的,對編程來說更是一無所知,而我選擇計算機專業(yè)完全是因為我從小就喜歡玩電腦,僅此而已。記得小時候還不會拼音和英文的時候,我玩的第一個游戲就是俠盜飛車,靠著記憶按著start和quit game。
這就是我對電腦的啟蒙,但是我小時候就對電子產(chǎn)品非常感興趣,而我的父母并沒有向其他家長一樣阻止我接觸電腦,相反,他們認為讓我從網(wǎng)絡了解世界是一件正確的事情,只要自己掌握好尺度。所以從小影碟機,電視,電腦,手機沒有人教我我就自己琢磨,父母有些問題我都能解決。漸漸的,那時候?qū)Υ髮W的專業(yè)沒有概念,就是想,如果上大學我還想上計算機專業(yè),而我母親每次在我玩游戲的時候就說:玩游戲不是本事,能做游戲讓別人玩才是本事。能夠來到自己心目中的大學和喜歡的專業(yè)也是一件非常開心的事。
本學期前的假期,我提前學習了c語言,上課之前我很忐忑,對于我這種僅僅停留在玩電腦的小白來說能否學懂編程是個很難的事情。但是后來我發(fā)現(xiàn),編程就是和計算機對話,就像學習外語一樣,讓人與計算機有聯(lián)系。讓計算機明白人的意圖。這其中包還含著數(shù)學的知識。我認為c語言就是所有編程語言的基礎,舉一反三,一門學精了其他的也就弄懂了,而c語言的精髓就是指針,這是其他編程語言沒有的。

學霸四:
c的語法是現(xiàn)在語言中比較簡單的,要說語法是就只有c++最為復雜了。大家說的c難是因為,用c開的的東西一般與系統(tǒng)api和算法有關。算法這個,沒個數(shù)學功底真的想不到,其它的語言沒有比較高級的算法,其它語言的算法也都是c語言從語言的底層(不是系統(tǒng)的底層)實現(xiàn)的,再封裝成語言的算法庫。
系統(tǒng)api,這個東西不像語言層級的api那么簡單,它是系統(tǒng)直接關系的相當復雜,要了解系統(tǒng)、信號、返回值這東西表現(xiàn)出來的現(xiàn)象多,與你要做一個東西有不同的處理。還有一個點c實現(xiàn)的東西要考慮到性能,這個不簡單,不是簡單的io性能,要考慮內(nèi)存拷貝的消耗、堆棧開關的消耗、cpu調(diào)度的消耗。

學霸五:
從沒覺得c語言難學,相比后來的大量的面相對象的語言,c語言其實非常好學,學習門檻并不高。
如果說到難,一個是數(shù)據(jù)結構,這個東西比較枯燥,而且嚴格說應該是屬于數(shù)學問題而不是編程問題,第二是函數(shù)偏少,經(jīng)常需要自己動手,不像主流oop們?nèi)冀o你封裝好了直接用,不過,從這點講,也正是c語言的一大優(yōu)勢,讓你知其然亦能知其所以然。
c語言屬于中級語言,意味著它具備oop們沒有或缺乏的的對計算機底層資源的操控能力,因此操作系統(tǒng),驅(qū)動程序等基本都只能用c。
學霸六:
很多人在學習C語言的時候,本來對編程很感興趣的,最開始學習的時候也投入了大量的時間和精力在上面,理解了這,理解了那,到最后發(fā)現(xiàn)只是在黑窗口下面打印幾行數(shù)字和字母;
學起來會覺得比較枯燥,而且越學越發(fā)現(xiàn)沒意思,最后只能放棄,所以說,學習編程,換一種方式去學習可能會更好一些,比如說開發(fā)個小游戲啊,這樣學起來可能會更有成就感,讓人覺得學了這東西有用,可以做出東西來。

這些總結起來就是:
1.對數(shù)字要很靈敏。像很多時候打字是用編碼輸入的,看到一個漢字我都能看到它背后那個那個代碼。
2.要算無遺漏。編程步驟多的時候容易搞錯細節(jié)。比如中英文的句號,小數(shù)點,標點符號和平時寫文章時的些微不同意義,等等。這么多個指令合起來后有無漏洞,或者整合后有沒有更強大的用途。
3.要保持“計算機程序”一樣的思維。想問題的時候多換位,把自己當成電腦,用電腦的思維(角度)來想。
4.看到一些好的軟件,就發(fā)揮想象和所查資料結合,將它的每個零件都剝析清楚,也就是將它的來龍去脈搞得明明白白。最好還能常常自己設計一點東西,無論實不實用,這是從“懂了”到“會運用了”的關鍵一步。
5.不怕辛苦,不怕錯,不惜花錢。將自己不懂的問題無論國家大事、雞毛蒜皮統(tǒng)統(tǒng)打印下來,見到老師就問,問了就記筆記--當然是計算機方面的問題。
6.每學一個知識,事前問學長學姐當年心得,事中問同學有何感受、感想,事后多總結。別人不會但你會的,你就盡心去教別人??赡苣阋詾檫@個你已經(jīng)很了解了,但往往在教別人時,別人問了點問題你才發(fā)現(xiàn)原來自己這個也不時很懂啊...
7.常和老師一起談話,除了問不懂的問題,盡量少開口多聽他講。如果老師不健談,那你要會引導他談話。宗旨是多想、多問、多聽、少說。
想提升你的編程能力,成為一個強大的程序員!不妨和一些志同道合的小伙伴一起學習成長!

學習C/C++編程知識,提升C/C++編程能力,歡迎關注UP一起來成長!
另外,UP在主頁上傳了一些學習C/C++編程的視頻教程,有興趣或者正在學習的小伙伴一定要去看一看哦!會對你有幫助的~