我們為什麼要苦苦學習C語言?

2020-12-25 電子發燒友

我們為什麼要苦苦學習C語言?

工程師譚軍 發表於 2018-07-04 16:22:56

今天想跟大家聊的話題是:大學時上的那些課到底有什麼用?

尤其是想和大家聊聊大學裡的一個熱(keng)門(die)課程:C語言

上了大學才知道,不是只有學計算機的孩子才學C語言。

作為理工類的基礎課程之一,相信很多小夥伴都親身經歷的C語言的「坑害」,據了解還有一些學校的文科專業也開設了C語言課程,這簡直是把文科同學往火坑裡推啊!

你見過能編出一手漂亮C語言的笨蛋嗎?

你吐槽過譚浩強寫的C語言教材嗎?「 

很多小夥伴說C語言又沒有「對象」,我為什麼要學呢?

原因就是,當你掌握了C語言的精髓,你就基本掌握了女生的特點。

網際網路作為當下最有「錢景」的行業之一,那麼今天我們就聊聊,C語言這個做網際網路行業影響究竟有多大呢?

程式設計師

對於程式設計師來說,學C語言往往是學編程的敲門磚,就像學武術前要扎馬步一樣,這是一種基本功。

有了C語言的基礎,學C++、Java等等都是順其自然,PHP和Python什麼的更是so easy。另外,很多底層的工程師,依然要用C語言做程序的。嵌入式開發、單片機、實時系統很多都用C語言哦。

產品經理

如果你認為做產品經理可以不會編程,那你就too young too simple了。

你一定沒有見過程式設計師「忽悠」產品經理的樣子,不會技術容易丟掉話語權。產品經理懂技術絕對是加分項,每一個產品都是一行行代碼支撐起來的,技術改變世界嘛。

運營&設計部分

運營小夥伴和設計師小夥伴很多時候是要跟程式設計師打交道的,什麼JavaScript的,什麼HTML5的。

其實如果C語言能學好,PHP、HTML、JS簡直就是小菜一碟。那在跟程式設計師打交道時,自然就更能遊刃有餘啦。

市場

技多不壓身,做市場的最重要的就是出去和別人聊嘛,如果和一些技術公司打交道,一個市場專員能和別人聊編程聊得頭頭是道,那肯定讓對方刮目相看,市場都懂技術那這公司肯定牛逼,說不定就促成了一次合作呢。

以下圖片純屬虛構,如有巧合,純屬雷同

@小師兄

總的來說吧,C語言健腦,提神,明目。

以後做工程師,搞科研的話,你就乖乖好好學C語言吧,說不定什麼時候就用到了,多學點總是好的。

而且這是內功,利於你觸類旁通。反之,當成科普知識學一學也挺好的。就像普通人學英語似的,打點基礎,技多不壓身。

何況編程都要從娃娃抓起了....

@某金融行業

學習C語言除了學習一門計算機語言,知道怎麼編程,其他的益處還包括更好的理解邏輯化程序化的處理問題,這其實也屬於數學。

雖然沒有系統學習算法和數據結構等課程,但是對這方面是有啟發式的。

畢業以後,非計算機專業的學生可能(事實上很多理工科都是)要面對用計算機來處理龐大複雜的計算量或數據量問題,C語言的入門能讓他們更好理解這些方式。

@機械工程

我們這邊搞圖像的,光MATLAB肯定不行,有些地方畢竟沒法優化,還是要根據平臺自己寫

@程式設計師

一直感覺學了 C 以後,之後的語言可以很快的上手。語言基本的邏輯都是一樣的,大部分只是寫法不一樣而已

@公務員

木有辦法啊,如果要考公務員什麼的有些崗位必須過計算機二級

@行政

不是excel麼,excel也要用到程序語言吖

@飛行器設計

我們飛行器設計,也是大一學C,沒覺得痛苦。剛學完確實不知道能做什麼,只能過計算機等級。後來有實踐課,用C寫一些數值計算的小程序。牛頓迭代什麼的。

後來接觸到了完整的C程序,流體計算的,補了點指針什麼的,發現以前學的竟然都挺有用。看程序和修改都沒問題。當然在很多方面不如專業的。

@北郵畢業生

我大北郵任何專業都要學你們怕不怕!

@科研工作者

說實話,現在搞科研的(理工科,其他不清楚),不會編點小程序還真不好進行下去,讓程式設計師幫你寫吧,他又不懂理論,不知道哪些參數重要,哪些是可以忽略,哪些是必需考慮的。

比如解個微分方程吧,簡單的還好說,通常用個Fourier step-by-step,分離變量還可以勉強筆算出來,要是有個三階、四階的還真不好處理。

再說,在計算機解的時候,幾秒鐘~1分鐘就完事兒,還能保證個正確性。

可是筆算,那用的時間就不好說了,還不一定算出來正確。能用好的工具進行科研沒理由不用啊,工具開發出來就是方便大家使用,提高工作效率的嘛

@物理學家

大部分搞程序的都認為不要。這幾天不就有人在討論怎麼畫熱力圖,怎麼去修改原有算法麼?這都還是很基礎的,程式設計師就都搞不好了,何況更深入的。

最後一個建議:

想好好學C語言,儘量不要單一的只是看書(尤指譚浩強老師的,這是來自眾多社群小夥伴的建議),多動手才是王道。

在學習時,一定要理解的核心是,通過學習C語言來理解編程的思想,一種思路。這些東西不僅僅只是在編程時會用到的。

學習本來就是一個融會貫通的過程。

所謂技多不壓身,我們所讀過的每一本書,所學過的每一門語言,在未來指不定都能給我們意想不到的回饋呢。

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 為什麼要學習「 C」程式語言?
    「 C」編程是另一種程式語言的基本基礎,像java、php,C++等熱門程式語言都是「 C」編程最為底層開發,所以我們通常稱「 C」編程編程「母語」。「 C」編程是一種簡單的語言,可以更快地執行。「 C」編程還是一種極其緊湊的語言,這意味著以「 C」編程方式尋址的程序可以在不同的機器上運行。C程式語言的優勢作為中級語言,C連接了低級和高級語言的功能。C語言可用於底層編程。例如用於內核和驅動程序的腳本,它還有助於使用高級程式語言,例如用於軟體應用程式的腳本等。
  • 為什麼要把學習C語言作為第一門程式語言?
    編程是向計算機發出指令以執行特定任務或執行指令的行為,目前專業行業和學術界使用數百種程式語言。一個人需要熟悉並且能夠使用至少幾種程式語言進行編程才能作為目前專業開發者的成功。學習編程的最好理由在於它對所有人開放,你不需要大學學位即可通過自學成為專業程式設計師。
  • 為什麼要學習C語言?學C有哪些要求
    在上面一篇文章中,小編給大家介紹了C語言,C++,C#,Java,之間的關係,通過上面那篇文章,大家應該知道C語言的重要性了吧。我們現在很多語言都是一句C語言改變出來的。所以,如果你要你要學其他的語言,比如Java,C++,python等,先好好跑C,C語言學好了,這些東西就比較理解了。C語言有一定的優勢,我們電腦的系統都是根據C語言改編的,執行速度是所有高級語言中最快的,為什麼他是所以高級語言中執行速度最快的呢?這個C語言是高級語言中出現最早的。
  • 為什麼很多人選擇放棄學習C語言?
    最近公司招聘兩個崗位一個是web後臺開發,一個嵌入式開發,投送簡歷的比例差不多是十比一,從這個態勢看學習C語言的比例相比前幾年熱度下降了許多,因為大家從招聘力度上看要C語言的公司比例很低,而且相對來說C語言學習起來還難入門,所以越來越多的人選擇學習更加好入門的語言,這也是語言發展的一個趨勢
  • 學習c語言筆記——C庫函數printf()
    c語言中的printf是什麼來的?」。我答:「它是一個函數,主要用來輸出運算結果。」 ,下面就給大家介紹C庫函數printf()使用方法。下面我們通過一個調用c庫函數的c語言案例來說明printf()函數的使用方法,如c語言1。
  • 【C語言】02.第一個C語言程序
    學習任何一門語言,首先要掌握的肯定是語法。學習C語言語法的目的:就是能夠利用C語言編寫程序,然後運行程序跟硬體(計算機、手機等硬體設備)進行交互。由於我們的最終目的是學習iOS開發,學習iOS開發的話必須在Mac系統下,因此我就在Mac系統環境下開發C語言程序,而不是在Windows環境下。
  • 大一上c語言學習總結
    (1)main()----在c語言中稱之為「主函數」,一個c程序有且僅有一個main函數,任何一個c程序總是從main函數開始執行,main函數後面的一對圓括號不能省略。(2)源程序的擴展名為 .c ,目標程序的擴展名為 .obj , 可執行程序的擴展名為 .exe。(3)預定義標識符:背誦define scanf printf include。記住預定義標識符可以做為用戶標識符。 符號常量是由宏定義「#define「定義的常量,在C程序中可用標識符代表一個常量。例:計算圓的面積的c程序。
  • 軟體工程專業的大學生為什麼要學習C語言?
    在多年的教學實踐中,有一個問題是同學們會經常提出來的,那就是:軟體工程專業的本科生為什麼要學習C語言?第一門程式語言應該能夠為整個專業學習打下良好的基礎。三、入門難度不大。正是由於C語言的簡捷性,對於初學者來說,學習成本小,時間不長,能夠快速掌握編程技術,進入到程序設計世界。另外,在全世界程式語言的排行榜中,C語言、Java、Python和C++長期霸佔了前幾名,擁有絕對優勢。
  • 為什麼一定要學習C語言?
    體型小巧,C語言完全基於變量、宏、函數以及結構,因此可被嵌入至幾乎一切現代處理器中——從冰箱到鬧鐘都可作為其運行平臺。開枝散葉,幾乎所有現代程式語言都起源於C語言,無論是從語法還是程序結構上來說,都像極了C語言,可謂一通百通,學一門語言,你就學會了千千萬萬門高級的程式語言。
  • 學習C語言必看的最經典書籍
    、提高、開發、拓展全攻略》  這本比較好的c語言學習書籍從實際應用入手,以實驗過程和實驗現象為主導,循序漸進地講述51單片機c語言編程方法以及51單片機的硬體結構和功能應用。本學習c語言必看的最經典書籍內容豐富,實用性強,書中大部分內容均來自科研工作及教學實踐,許多c語言代碼可以直接應用到工程項目中。本書配套光碟提供13講近30學時的教學視頻和本書實例代碼,可使讀者更快更好地掌握單片機知識和應用技能。這本比較好的c語言學習書籍作者還可提供與本書配套的單片機實驗板。
  • 為什麼要學C語言
    C語言是面向過程的,所以抽象程度相對較低,更像是需要一拳一腳練習的《少林基本功》,所以搞清楚,要想學習編程,並且想在這條路上走很久的話,建議好好學練好紮實的基本功,為了更方便以後的學習。C語言更像是武功的基礎,《python》這樣的語言也許一上來就直接舞一套《闢邪劍法》,但是如果對於體內真氣走向不清晰的話,一旦出問題就容易走火入魔,更甚至是只有厲害的劍招,沒有雄厚的內力支撐,這樣的後果就是,一旦江湖再出現什麼厲害的武功,你就只能感嘆一句「*****」,然後加入爭奪秘籍的隊伍中,否則只能淪為後背的墊腳石。
  • C語言學習推薦書籍
    第10章 文本處理第11章 分離用戶界面與內部實現第12章 撰寫設計文檔附錄C語言中接口定義的不同形式《華為技術有限公司c語言編程規範》有一句話說的很好,「規範大於配置」。如果你需要為一個團隊制定C編程規範,《華為技術有限公司c語言編程規範》可以作為你的參考。
  • 為什麼指針被譽為 C 語言靈魂?
    (過於自信「指針存儲的是變量的內存地址」這句話應該任何講 C  語言的書都會提到吧。所以,要想徹底理解指針,首先要理解 C 語言中變量的存儲本質,也就是內存。實際上任何語言都有這個需求,只不過很多語言為了安全性,給指針戴上了一層枷鎖,將指針包裝成了引用。可能大家學習的時候都是自然而然的接受指針這個東西,但是還是希望這段囉嗦的解釋對你有一定啟發。
  • c語言答疑:學完了能幹嘛?為什麼界面一直是黑框框?
    不少同學剛接觸c語言的時候,不知道c語言是幹嘛用的,學完了好像也沒有什麼地方能用到,實際上,c語言是學習編程的基礎,所有的程式語言都是基於c語言而逐步發展的,只要你學好了c語言,其它語言基本是一看就能看懂裡面的代碼邏輯,業務邏輯不用看,單純的從代碼角度就大致能明白這行代碼是幹什麼的
  • 書籍分享|零基礎學習C語言(附電子書)
    它能為你系統學習c提供一個良好的平臺。作者:普拉達《The C programming language》拿到這本薄薄的書,很多人開始懷疑,C語言是這麼幾百頁能講清楚的麼。看完這本書,我想答案已經很明了,卻真的讓人感到震憾。什麼是好書?無法刪減的書才是真正的好書。
  • 學習C語言的辛酸淚(四)
    「看的不夠、沒抓住重點、你要花時間啊!」,我再努力一下下,fighting。    第二,關於作業練習。如之前所說,做練習不是那麼的順利。特別是這幾次作業,當你看到提示或者參考答案那麼「多」的時候,潛意識就告訴你:「完了,不會,好難」。當然,再難你也得完成它啊,然後「逼著自己看懂著實有點艱難」,因為你真的不知道你是不是真的懂了,比如這次你是會了,下次就「你好,我們認識不?」,尷尬。
  • 為什麼有人說指針是 C 語言的精髓?
    程序在運行過程中需要的是數據和指令的地址,變量名、函數名、字符串名和數組名在本質上是一樣的,它們都是地址的助記符:在編寫代碼的過程中,我們認為變量名表示的是數據本身,而函數名、字符串名和數組名表示的是代碼塊或數據塊的首地址;程序被編譯和連結後,這些名字都會消失,取而代之的是它們對應的地址。
  • C語言為什麼要有「->」運算符,為何不使用點運算符代替它呢?
    C語言為何要有「->」運算符?C語言為何要有「->」運算符?拋開結構體不談,C語言中的指針本身並無需要用到點運算符「.」的地方,因此結構體指針與點運算符「.」結合時,編譯器把這種結合解釋為訪問結構體成員,按理說並不會產生歧義,C語言以語法簡潔聞名,那為什麼還要提供「多餘」的「->」運算符呢?或者說,C語言中的箭頭運算符「->」有什麼歷史淵源嗎?
  • c語言程序設計自學教程
    」這是一聲直擊靈魂的質問.是啊,人人生而有翼,只要肯努力地展開雙翅,朝天空飛去,誰都能擁有一片廣闊的天地.可為什麼,你只是一動不動地匍匐在地,形同蟲蟻?如果您不甘落後,那麼請自製自控,自學c語言程序設計也是完全可能的。
  • 自學編程:C語言的概述
    C語言概述1.為什麼學習C語言1).C的起源和發展C語言是在B語言的基礎上發展起來的。驅動一般是用C語言和彙編語言寫的,C++ 在這方面稍弱。 資料庫:SQL Server、Oracle、MySQL、DB2②應用軟體開發 辦公軟體:WPS。 圖形圖像多媒體:Photoshop、Mediaplayer。 嵌入式軟體開發:嵌入式軟體開發說得簡單點就是晶片編程,比如我們以後學習在單片機和 ARM 上進行的開發都屬於嵌入式軟體開發。