985、211的學(xué)霸們都是怎么理解C語言的?
C語言這么重要!來看看 985、211的學(xué)霸們都是怎么理解C語言的?

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

▎某211丁?。?/strong>
C語言難學(xué),個人認(rèn)為是被國人誤傳或誤教所致。
一直以來,高校理工科都開設(shè)了C語言,學(xué)生稀里糊涂開始學(xué)習(xí)。
在不清楚學(xué)習(xí)目的、所需前提知識的情況下,僅學(xué)習(xí)些基礎(chǔ)語法知識,導(dǎo)致大部分學(xué)生學(xué)習(xí)效果不理想,從而造就了C語言難學(xué)的傳說。
C語言是程序員與計算機進行交流的一種語言,目的是達到對計算機進行控制,實現(xiàn)程序員預(yù)期的效果或功能。
因此,為了能更加有效地進行交流或控制,除了學(xué)習(xí)些基礎(chǔ)的語法知識外,還要求學(xué)習(xí)者對交流對象要有較清楚的了解或熟悉(即所需前提知識),和掌握一些必要的交流技巧(思維方式或套路類的東西)。
▎某985阿強:
c的語法是現(xiàn)在語言中比較簡單的,要說語法是就只有c++最為復(fù)雜了。
大家說的c難是因為,用c開的東西一般與系統(tǒng)api和算法有關(guān)。
算法這個,沒個數(shù)學(xué)功底真的想不到,其它的語言沒有比較高級的算法,其它語言的算法也都是c語言從語言的底層(不是系統(tǒng)的底層)實現(xiàn)的,再封裝成語言的算法庫。
系統(tǒng)api,這個東西不像語言層級的api那么簡單,它是系統(tǒng)直接關(guān)系的相當(dāng)復(fù)雜,要了解系統(tǒng)、信號、返回值這東西表現(xiàn)出來的現(xiàn)象多,與你要做一個東西有不同的處理。
還有一個點c實現(xiàn)的東西要考慮到性能,這個不簡單,不是簡單的io性能,要考慮內(nèi)存拷貝的消耗、堆棧開關(guān)的消耗、cpu調(diào)度的消耗。
▎某高校胖紙:
從沒覺得c語言難學(xué),相比后來的大量的面向?qū)ο蟮恼Z言,c語言其實非常好學(xué),學(xué)習(xí)門檻并不高。
如果說到難,一個是數(shù)據(jù)結(jié)構(gòu),這個東西比較枯燥,而且嚴(yán)格說應(yīng)該是屬于數(shù)學(xué)問題而不是編程問題,第二是函數(shù)偏少,經(jīng)常需要自己動手,不像主流oop們?nèi)冀o你封裝好了直接用,不過,從這點講,也正是c語言的一大優(yōu)勢,讓你知其然亦能知其所以然。
c語言屬于高級語言中最接近底層的原因,意味著它具備oop們沒有或缺乏的對計算機底層資源的操控能力,因此操作系統(tǒng),驅(qū)動程序等基本都只能用c。

▎某985戴戴:
學(xué)好每一種語言其實都不容易,即便是看起來入門很輕松的也是一樣,想要做到精通非得有經(jīng)過一定的項目上的磨練才行。
C語言學(xué)習(xí)曲線相對陡峭,除了學(xué)習(xí)者的個人意愿和投入,教授者的能力也是很關(guān)鍵的 - 很難想象一個沒有C項目經(jīng)驗的人能教授的非常深入并有最佳實踐分享 - 當(dāng)然,平心而論,語法類的知識上的傳授還是好的,而且修行還是靠個人的。
建議我們學(xué)習(xí)者多加以實踐,重視調(diào)試的技能,逐步積累經(jīng)驗,聯(lián)系實際應(yīng)用,未來成功可以預(yù)期。
▎某高校留學(xué)生:
很多人在學(xué)習(xí)C語言的時候,本來對編程很感興趣的,最開始學(xué)習(xí)的時候也投入了大量的時間和精力在上面,理解了這,理解了那,到最后發(fā)現(xiàn)只是在黑窗口下面打印幾行數(shù)字和字母;
學(xué)起來會覺得比較枯燥,而且越學(xué)越發(fā)現(xiàn)沒意思,最后只能放棄,所以說,學(xué)習(xí)編程,換一種方式去學(xué)習(xí)可能會更好一些,比如說開發(fā)個小游戲啊,這樣學(xué)起來可能會更有成就感,讓人覺得學(xué)了這東西有用,可以做出東西來。

最后我們再總結(jié)一下了解C的必要性:
1.?對內(nèi)存和硬件的操作,是目前絕大部分高級語言所隱藏的,只有堅實C背景的同學(xué),才可以考慮的更多,如果我們想對原理有更多的了解,那么C其實是不可繞過的一個環(huán)節(jié)。
2.想要締造一個新的系統(tǒng)和語言,沒有C是不行滴(或許C++勉強)。
3.?不管是OC的消息系統(tǒng),Java的自動回收,Ruby的動態(tài)類擴充,這些花哨且時髦的東西,其實都可以用C來實現(xiàn),而且很多都是用C來實現(xiàn)的,如果我們想自己實施,那就看C吧。
4. 破解和分析程序,C可以起到很大的作用。C是可以人為創(chuàng)建Bug來破壞一個系統(tǒng)的。
最后再說一句
請不要忽視C語言!
它上可九天摘月
下可五洋捉鱉
對于熱愛編程的人來說,有一群一起學(xué)習(xí)一起解答的小伙伴很重要!如果你想更好的提升你的編程核心能力(內(nèi)功)不妨從現(xiàn)在開始!
微信公眾號:C語言編程學(xué)習(xí)基地
整理分享(多年學(xué)習(xí)的源碼、項目實戰(zhàn)視頻、項目筆記,基礎(chǔ)入門教程)
歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!
編程學(xué)習(xí)書籍分享:

粉絲編程交流:
