本文目錄一覽:
c語言為什麼這麼難學,我為什麼老是學不會
對初學者來說,C語言確實有一定的難點,但是C語言是基礎的語言,並不是最難的所以學不好的主要還是自身的問題。依據本人這麼多年的經驗,這嘗試分析下為何這麼多人學不好C語言?
C語言本身存在一定難度
C語言主要應用於操作系統、嵌入式底層開發等,在這些領域C語言一直都咱局主導位置,但是在入門上現在比較熱門的php、python、java等語言比C語言稍微容易一些。所以很多人學習到C語言的時候,理解起來很抽象,使用時變化莫測,覺得很難,自己就失去了興趣,慢慢地放棄了。特別是在指針的學習上,是一個檻,很多人就是倒在指針上的。
當然除了指針,C語言裡面還有一些回調、遞歸、函數指針、指針函數也有一定的難點,所以總的來講C語言還是有一定的難度 的,學習C語言一定要多練,不能光看書,多做一些項目慢慢地就好了。
意志力不夠沒有耐心,倒在黎明前夕
學習編程主要挺過去前兩年的積累經驗階段,後面就好多了,有些人就是迷迷糊糊的進入技術崗位了不知道到底做的是什麼,會有一天發現自己突然明白過來很多的事情,以前有些不明白的事情,突然覺得啥都明白了,看似是一件很神奇的事情,本質上來講都是日積月累構造成的。
很多人覺得自己學了這麼長時間還是很多不明白,就會產生厭倦心裡,自己都想要放棄,沒有了激情,慢慢地自己就放棄了,其實有時候默默地再堅持一會自己就會慢慢地掌握C語言的精髓,對C語言產生興趣。
C語言沒有別的語言好就業
這涉及一個很現實的問題,學習了編程語言就得找工作,如果學了不好找工作,肯定學習起來的動力就不足,畢竟C語言的工作崗位絕對數量並不少,但是相比java,php,python等語言還是沒法比,而且對入門者的要求相對更高點,薪資上也不一定有多大的優勢,所以對於初學者沒有多大的吸引力。目前這也是當前的市場實際情況。
C語言是不是就不值得學習了?其實這種說法是不對的,其實php,python等底層語言還不是一樣用C語言來實現,所以C語言的重要性不言而喻。不要聽信C語言已經過時之類的謠言,C語言一直都在默默無聞、踏踏實實地做著底層很重要的事情,經久不衰。想要在軟體行業立足發展,C語言還是很值得學習的。
現在還有學c語言的必要嗎 知乎
1. 與其它高級語言比起來,C 語言對硬體親和性差不多算最高,對硬體的利用率也最高(在會用的前提下)。 C 語言可以很方便地任意操作目前計算機內任何可以用地址來表示的東西——也就是說軟體能直接操作到的東西中,只有 CPU 裡邊的寄存器不能直接操作(嵌到 C 裡邊的彙編或者編譯器特殊處理的不算)。2. 比 C 更能全方位操作硬體的只有彙編,但是彙編對複雜程序設計實在是太不方便了。所以目前操作系統也只有很少的部分用彙編寫。3. C 語言本身對於應用程序的開發在時間上並不會造成太大的障礙。很多其它語言的高級特性其實只是庫的支持而已,如果有那些 library,C 語言在開發效率上並不會有太大的問題。並且發展了這麼多年,其實常用的 library 基本上也都能找到。4. 由於計算機性能的增強,越來越多的功能可以僅通過腳本在宿主環境中完成。這是 C 語言做不到的。5. C 語言也是高級語言中最能體現目前計算機硬體工作方式的語言。綜合前三點,如果計算機架構不改,C 語言必定還有很大的生存空間。誠然硬體資源和人力資源(編程時間)上的權衡,隨著計算機硬體的發展,越來越偏向人力資源,所以C 語言的分額會萎縮。但是人的慾望膨脹得也不慢(對計算機硬體性能的需求膨脹),在這個條件下 C 語言的需求萎縮並不會太快。上面第四點可能是 C 語言需求萎縮的最大原因,不過第四點在一定程度上也拓展了編程人員的需求量。由於最後一點,如果真的要對其它編程語言有很深入的理解,那必須理解計算機的架構(計算機到底是怎麼幹活的),那麼 C 語言是道邁不過的坎。只要涉及到操作系統就離不開 C 語言了(當然可以說有的操作系統用的 C++,但是如果 C 語言都沒搞清楚,C++是不可能搞清楚的)。對於比較上層的開發者來說就算不常用C語言,至少要知道 它是怎麼回事,就像寫驅動的人可能並不常用彙編,但是一定要知道它是怎麼回事,不然怎麼解那些莫名其妙的 bug?學了C 語言,最不濟的情況下,也是會讓你有機會成為使用其它任何語言的高手。
說的非常好,轉一下
作者:熊心源
鏈接:
來源:知乎
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。
C語言學不會怎麼辦?
?️作為一名計算機專業大三的學生,我對C語言之前也十分的頭痛。C語言主要是用於編寫電腦操作系統和其中大多數最底層部件的語言之一,因而很難理解,了解這種語言的難度比較大,但學習這類系統性很好地語言能使我們的編程能力更加牢固。
?️此外,因為電子計算機程序的執行流程很複雜,所以C語言的關鍵特點就是精確而繁雜,但是其執行效率很高,所以用這類語言開發設計底層系統,而且應用領域十分廣泛。
?️C語言作為最典型的高級語言,並且對於初學者短期內難以掌握。掌握了這個語言以後,對於程序員的程序編寫也會變得非常容易,越來越熟練。換句話說,這類語言給程序員一種思維模式,理解了這門語言就比較容易結合和學習別的語言,可以採用以下幾個方面來學習C語言。
⭐克服思想上的畏懼
⭐在C語言的學習中,我們作為初學者具有一種畏懼心理。往往學不好,是由於一開始很困惑就輕易放棄。我跟我身邊的許多同學都交流過C語言學習的問題,但他們的回應也都是聽不明白,不想聽,堅持不下去。
⭐我就思考了這個問題,這門課程我用心聽了嗎?回答是否定的。我在感覺到很難之後,也沒認真上課,怎能說自己聽不明白?根本就沒有認真學習,又何談能夠學習好呢?
⭐因此,我們必須將這種對C語言未知的恐懼轉化成學習C語言的驅動力,並慢慢能夠克服它。在課下能夠消化吸收聽到這些內容,能夠探有疑必問地探討問題,每一節課都需要克服心不在焉的情況去用心聽,慢慢養成良好的學習習慣性。
?做好課下的複習和預習
?如果要學習C語言,務必牢記「千金難買回頭看」這話,這是學習C語言技巧與方法。換句話說,學習後面的專業知識時,請別忘記要回望並找尋曾經留下來的難題和知識點,增強對前面所學到知識的應用,就比如後面學習到的演算法設計與分析、數據結構等,都需要C語言的基礎。雖然說這是對學生而言是最為困難的,但也是很重要的學習方式。
?比如C語言裡面講的是結構化程序設計的最典型的內容。不管是哪一種教材,從一開始就注重用這種方法。在開始學習的時候,你可能會都還沒了解這種編程思想,但在學習函數的時候,回過頭再次體會,你會有一種很驚訝的感覺。因此學習C語言是一個反覆的過程,只有我們始終如一地學習,才能啃下這塊硬骨頭。
?加強實踐以及共享編碼學習
?「實踐出真知」在C語言學習中是非常有道理的。因此在學習的過程當中,有不斷增加自己在電腦上訓練、寫題的機會,充分利用課後的時間進行編寫程序以及程序調試,而且在碰到程序錯誤的時候,也可以坦然面對,不再焦心爛額。
?此外,在學習C語言的過程當中,建議大家可以加入開源社區,為其中的某一項目作出自己微弱的貢獻。開源系統也代表著能夠免費試用、拷貝、程序研究和優化很多源代碼。
?在初步掌握C語言的基礎知識後,就可以考慮加入開源社區了。在開源社區中,我們可以獲得、學習許多免費的源代碼。這種源代碼能給我們許多啟迪和指導,幫助自己能夠迅速編寫源代碼。自然,還可以在開源社區中展現出自己出色的源代碼,並且能和大家一起討論和共享自己的作品和問題。
?結束語
?總的來說,C語言課是一門理論性以及實踐性都極強的課程內容,不但必須掌握相關概念,還需要把握程序編寫並在電腦上能夠成功調試運行,並且能對代碼進行優化。
?真真正正能夠學好C語言,不是一朝一夕的事。考量真正學會這門語言的標準,應當看我們能不能做出程序項目,而非看我們是不是了解到對應的知識點。我們要把學習的重點放到上機實驗,編譯程序和調試程序,只有這樣才能真真正正學精C語言。
為什麼有些人學C語言特別輕鬆,有些人卻怎麼也學不懂?
有些人學C語言是內化的,其實是心中有劍,想怎麼打都可,但是有些人練劍只是在表面,離開了劍法就什麼也不會了,也許這就叫程序中的 無招勝有招吧!!
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/187925.html