985、211的學霸們如何輕鬆學習C語言?請不要在説C語言難了

  C語言是面向過程編程的語言

  C 是面向對象編程的語言

  兩者有本質的區別

  是完全不同的兩種語言

  不過C 兼容C語言

  C 一般看作是對C語言的擴展

  因為C語言沒有面向對象的語法結構

  當時業界迫切需要面向對象的編程特性

  所以貝爾實驗室的開發者

  為C語言添加了面向對象的結構

  現在C 已經不只是C語言的擴展了

  它被看作一種新的編程語言

  雖然C語言的特性以及庫函數,仍然被C 支持

  不過C 擁有自己的獨立的類庫體系,功能相當強大

  C/C 的優點在於與底層比較接近

  可以控制的粒度更加精細

  是開發系統級應用的最佳選擇

  關於跨平台

  C/C 也是很好的語言

  因為所有平台都支持

  不同的是

  不同平台支持的實現不同

  類庫不同

  要編寫跨平台的程序

  需要選擇跨平台的類庫

  如標準類庫

  如果標準類庫的支持不夠

  也只需要附加編寫一個跨平台的支持類庫

985、211的學霸們如何輕鬆學習C語言?請不要在説C語言難了
  下面來看看 985、211的學霸們都是怎麼理解C語言的?

  ▎某211小風:

  C語言是最基礎的編程語言了,其實,對於理工科專業的人來説,C語言並不難。

  C語言都學不好,怎麼學習C 、C#、Java、彙編語言等,這些語言比C語言要難得多。也許是因為剛接觸C語言,剛剛接觸一門全新的課程,所以感覺比較難。

  記得本人大學剛開始接觸C語言的時候,也是一頭霧水,根本不懂C語言是幹嘛用的,聽課時也是暈乎乎的。感覺很虛的東西,計算機二級考試也是勉強合格。

  後來,本人報名了一個電子設計競賽,經常在實驗室裏編程做項目,才慢慢體會到C語言的真正用處。後來對C語言產生了興趣,課餘時間經常到實驗室設計項目。到大三的時候,報名參加了全國電子設計競賽,估計是運氣好吧,拿了一等獎。

985、211的學霸們如何輕鬆學習C語言?請不要在説C語言難了
  ▎某211丁丁:

  C語言難學,個人認為是被國人誤傳或誤教所致。

  一直以來,高校理工科都開設了C語言,學生稀裏糊塗開始學習。

  在不清楚學習目的、所需前提知識的情況下,僅學習些基礎語法知識,導致大部分學生學習效果不理想,從而造就了C語言難學的傳説。

  C語言是程序員與計算機進行交流的一種語言,目的是達到對計算機進行控制,實現程序員預期的效果或功能。

  因此,為了能更加有效地進行交流或控制,除了學習些基礎的語法知識外,還要求學習者對交流對象要有較清楚的瞭解或熟悉(即所需前提知識),和掌握一些必要的交流技巧(思維方式或套路類的東西)。

  ▎某985阿強:

  c的語法是現在語言中比較簡單的,要説語法是就只有c 最為複雜了。

  大家説的c難是因為,用c開的東西一般與系統api和算法有關。

  算法這個,沒個數學功底真的想不到,其它的語言沒有比較高級的算法,其它語言的算法也都是c語言從語言的底層(不是系統的底層)實現的,再封裝成語言的算法庫。

  系統api,這個東西不像語言層級的api那麼簡單,它是系統直接關係的相當複雜,要了解系統、信號、返回值這東西表現出來的現象多,與你要做一個東西有不同的處理。

  還有一個點c實現的東西要考慮到性能,這個不簡單,不是簡單的io性能,要考慮內存拷貝的消耗、堆棧開關的消耗、cpu調度的消耗。

985、211的學霸們如何輕鬆學習C語言?請不要在説C語言難了
  ▎某高校胖紙:

  從沒覺得c語言難學,相比後來的大量的面向對象的語言,c語言其實非常好學,學習門檻並不高。

  如果説到難,一個是數據結構,這個東西比較枯燥,而且嚴格説應該是屬於數學問題而不是編程問題,第二是函數偏少,經常需要自己動手,不像主流oop們全都給你封裝好了直接用,不過,從這點講,也正是c語言的一大優勢,讓你知其然亦能知其所以然。

  c語言屬於高級語言中最接近底層的原因,意味着它具備oop們沒有或缺乏的對計算機底層資源的操控能力,因此操作系統,驅動程序等基本都只能用c。

  ▎某985戴戴:

  學好每一種語言其實都不容易,即便是看起來入門很輕鬆的也是一樣,想要做到精通非得有經過一定的項目上的磨練才行。

  C語言學習曲線相對陡峭,除了學習者的個人意願和投入,教授者的能力也是很關鍵的 - 很難想象一個沒有C項目經驗的人能教授的非常深入並有最佳實踐分享 - 當然,平心而論,語法類的知識上的傳授還是好的,而且修行還是靠個人的。

  建議我們學習者多加以實踐,重視調試的技能,逐步積累經驗,聯繫實際應用,未來成功可以預期。

985、211的學霸們如何輕鬆學習C語言?請不要在説C語言難了
  ▎某高校留學生:

  很多人在學習C語言的時候,本來對編程很感興趣的,最開始學習的時候也投入了大量的時間和精力在上面,理解了這,理解了那,到最後發現只是在黑窗口下面打印幾行數字和字母;

  學起來會覺得比較枯燥,而且越學越發現沒意思,最後只能放棄,所以説,學習編程,換一種方式去學習可能會更好一些,比如説開發個小遊戲啊,這樣學起來可能會更有成就感,讓人覺得學了這東西有用,可以做出東西來。

985、211的學霸們如何輕鬆學習C語言?請不要在説C語言難了
  最後我們再總結一下了解C的必要性:

  1.對內存和硬件的操作,是目前絕大部分高級語言所隱藏的,只有堅實C背景的同學,才可以考慮的更多,如果我們想對原理有更多的瞭解,那麼C其實是不可繞過的一個環節。

  2.想要締造一個新的系統和語言,沒有C是不行滴(或許C 勉強)。

  3.不管是OC的消息系統,Java的自動回收,Ruby的動態類擴充,這些花哨且時髦的東西,其實都可以用C來實現,而且很多都是用C來實現的,如果我們想自己實施,那就看C吧。

  4.破解和分析程序,C可以起到很大的作用。C是可以人為創建Bug來破壞一個系統的。

  最後再説一句

  請不要忽視C語言

  它上可九天摘月

  下可五洋捉鱉

  對於熱愛編程的人來説,有一羣一起學習一起解答的小夥伴很重要!

版權聲明:本文源自 網絡, 於,由 楠木軒 整理發佈,共 2294 字。

轉載請註明: 985、211的學霸們如何輕鬆學習C語言?請不要在説C語言難了 - 楠木軒