Ⅰ 學習c語言簡單嗎
學習任何一門語言都是不容易的,但是只要堅持有恆心,最後一定會有所成功。
設計語言中也是有[1] 「單詞」,「語法」,「語義」三部分組成,其中跟人類語言一樣,「單詞」「語法」是基礎,而為達到交流的目的「語義」是整個程序設計語言的重點。當然相對人類語言(以英語為例)而言程序設計語言(以C語言為例)顯然要有簡單得多的組成,所以這里我們要首先確立自己對學好程序設計語言的信心。
1、基礎, C語言的單詞是由26個英文字母、數字(0,1,2……9)、運算符以及其他特殊符號組成,所以相比而言學習C語言是多麼的幸福。
「語法」,在英語中是如常見構詞法、時態、常用句型、特殊用法、固定用法等等(呵呵,不是語言專家如有興趣可以參考英語語法書籍),僅拿構詞法來說動詞後面加er就變成名詞(work-worker),名詞後面加y就變成形容詞(wind-windy)等十多種變換還要記憶些特殊變換,復雜且繁瑣,假如算上時態、句型等那就更復雜了。在C語言中也同樣也存在有語法,比如標識符、常量、表達式、數據定義、函數定義、變數初始化、語句構成、預處理命令等大致8種語法,如標識符[2]可由字母、數字以及下劃線組成,且必須以字母或下劃線開頭,區分大小寫,另外在不同的編譯器中字元數目有不同的規定,一般為7個字元。不過這里有些可能會被忽略的就是書寫格式,在C語言中書寫格式也是需要被注意的,因為格式也可以當作C語言的語法項目,如語句是以分號『;』作為結束的標志的而不是以換行作為結束標志.
綜上所述要學好一門程序設計語言首先就要象學習英語一樣先熟記至少要熟悉這門語言的「單詞」和「語法」然後才能談得上使用,俗話說「萬丈高樓平地起」,學好C語言的必要前提就是先打下堅實的C語言基礎.
2、重點
「語義」即語句的意思、含義。同人類語言一樣,程序設計語言最重要的目的還是「交流」,所以寫一段沒有任何作用的代碼就如同說一句沒有任何意思的話是沒有意義的,在這一點上兩者是共同的,至於在其他某些方面兩者也有驚人的相似之處,不過與人類語言相比,程序設計語言畢竟是與計算機交流,交流對象計算機與人類的不同也決定了程序設計語言與人類語言還是有所區別,甚至可以說是存在巨大的「鴻溝」,這也就是學習程序設計語言的重點。
首先明確,即要在與計算機交流時「語義」必須明確,否則計算機將無所適從,因此作為交流工具的程序設計語言的「語義」也必須是能夠明確無二義的。其次正確,包括正確的輸入以及正確的邏輯。由於計算機
輸入測試用例也能夠完全正確,看看源程序,其中增加了一個標志位便把所有的情況給考慮進去了,相比前一個程序,程序2就是直白的描述了解題的思路,而程序3看起來好象不好理解但似乎更能滿足「天才程序員」的慾望,這也就是編程時使用的一些小技巧。
總體比較三個程序,可以說類似程序1的錯誤——邏輯錯誤是我們程序員比較容易犯的,也是在編程調試過程中最費時間的,至於語法錯誤編譯器可以很快的給我們找出錯誤的地方程序2邏輯正確但相比程序1思路要更難想到,程序3思路不但正確而且還在編程的過程中使用了一些編程技巧,所有這些開闊的邏輯思路(解決問題),快速的調試方法及過程(發現錯誤).
3、兩者之間的關系
綜合上面的敘述,我們把編程看成程序設計語言的「單詞」「語法」「明確的語義」「正確的語義」四個部分,可以看出前面三個部分是幾乎所有的程序設計語言自身所具有的,「單詞」「語法」不同的程序設計語言有所不同,但如果你仔細觀察所有的程序設計語言,可以分成幾類,而且有很多地方也有相通的地方,有點象一通百通的味道,這也就是為什麼很多有經驗的程序員可以在很短的時間就能熟悉其他語言的原因。最後「正確的語義」包括開闊的,正確的邏輯思路以及發現並糾正錯誤的能力則是屬於我們自己的,這也是我們區別於其他人的地方,這些都需要在經常性的編程實踐中去積累去開闊,所以是所應該關注的重中之重。
書本是綱領,我們首先要熟悉一門語言的粗枝大葉,在編程的過程中不至於老是去翻書查找一門語言的基本語法,比如說函數的傳遞方式,函數調用的一些特點,這樣不僅非常浪費時間而且一直困擾於語法中使得自己有種身緣「廬山」中的那種非常迷茫的感覺。因此編程實踐同樣不可少,編程實踐不僅可以「讓語義正確」即開闊編程思路,發現錯誤(調試),累計編程技巧,而且可以在編程過程中熟悉這門語言,熟悉這門語言的細節部分,但也請記住這些細節雖然重要,但也僅僅是細節。當然光看書,光有理論那也是不行的,有「綱領」而沒有「章程」,有「綱領」而沒有實施那同樣也是沒用的,畢竟實踐是檢驗真理的唯一標准,實踐過程中給理論修枝剪葉。
總得來說熟悉一門程序設計語言的語法是編程實踐的先行,而編程實踐是可以更好促進對程序設計語言基本語法知識的理解和熟悉。
Ⅱ c語言好學嗎
非常難的了。
Ⅲ 是不是用c語言做單片機編程是最簡單的程序員
單片機系統是軟硬體結合的產品,設計人員必須軟硬體兼顧,才能有所作為,C語言編程雖簡單一些,但還不能脫離硬體
它不象計算系統那樣,軟硬體分工明確,軟體開發還分好多層次,專做硬體或專門開發軟體都大有文章
Ⅳ C語言的編程語言難嗎
C語言還是要求一定的數學知識的,但是編程語言本就沒有什麼難於不難,總結了一下學習方法,希望能幫到你!
一.C語言的背景
就個人感觸,無論學習哪門語言首先應該了解一下自己所學語言的背景,也可以說它的發展史。
C語言屬於高級程序語言的一種,它的前身是「ALGOL」。其創始人是布朗·W·卡尼漢和丹尼斯·M·利奇。C語言問世時是帶有很大的局限性,因為它只能用於UNIX系統上。然而隨著科學技術的進步,計算機工業的發展,C語言逐漸脫離UNIX。1987年美國標准化協會制定了C語言的國際標准,簡稱「ANSI C」,從此以後它便成為一種廣泛使用的程序語言。C語言的優點很多,主要的有如下四點:
1.兼備高級語言與低級語言的優點,屬於一種中間語言。
2.它是一種結構化程序設計語言,非常適合結構化程序設計。
3.有較豐富的數據類型、運算符以及函數供以選用。
4.直接與內存打交道,使修改、編輯其他程序與文檔變得輕松,簡單。
二.二大語系二種不同的學習方法
筆者學習過很多程序語言,例如:C,C++(C語言的擴展),QBASIC,VB(BASIC的可視化),javascript,JSCRIPT ,VBSCRIPT,JAVA,ASP,FOXPRO,PERL等等,就本人實踐所得,其實高級程序語言分為兩大語系。一路是以C為主的程序語言,例如:javascript,JAVA等,這類語言在函數的調用,程序語句的書寫,循環的控制都極為相似。另一路是以BASIC為首的程序語言,例如:FOXPRO,VBSCRIPT等,此類語言同樣具有相似的函數調用,程序語句書寫以及循環控制,但與C語系是不同的。因此若是您以前是從QBASIC起家的,那麼在學習C語言前最好是先洗洗腦,千萬不要把學習BASIC的方法以及思路用在C身上。
講到這里,我想大家對C語言一定有了感性認識吧!下面讓我們再升華一下,全方位親密接觸它。學習C語言必須從以下四點入手,也就是說,只要你能掌握這四點的內容,那麼基本上就大功告成了。
如果你也是在學習C語言/C++,小編推薦一個學C語言/C++的學習裙【 815393895 】,無論你是大牛還是小白,是想轉行還是想入行都可以來了解一起進步一起學習!裙內有開發工具,很多干貨和技術資料分享!
1、入門後多看代碼
在有一定基礎以後一定要多看別人的代碼。 注意代碼中的演算法和數據結構。 畢竟學C之後的關口就是演算法和數據結構。提到數據結構,指針是其中重要的一環,絕大多數的數據結構是建立在指針之上的,如鏈表、隊列、樹、圖等等,所以只有學好指針才能真正學好C。別的方面也要關注一下,諸如變數的命名、庫函數的用法等等。有些庫函數是經常用到的。對於這些函數的用法就要牢牢記住。
2、要自己動手
編程序是個實乾的活,光說不練不行。剛開始學的時候可以多練習書上的習題。 對於自己不明白的地方,自己編個小程序實驗一下是最好的方法,能給自己留下深刻的印象。 自己動手的過程中要不斷糾正自己不好的編程習慣和認識錯誤。有一定的基礎以後可以嘗試編一點小游戲,照著編作為練習。基礎很扎實的時候,可以編一些關於數據結構方面的東西。之後.....學匯編、硬體知識。
3、選擇一個好的編譯器
GCC或者VS都是一個號的選擇
4、關於養成良好的編程習慣
(1) 在比較復雜的代碼後面要有注釋。 如果光溜溜一堆代碼,別人就不可能看懂你的代碼,而且也不利於查找錯誤。除非你一直編東西給自己看。能在代碼里說明白的就一定要在代碼里體現。比如變數名、函數名,在命名的時候盡量說明是干什麼用的。
(2)注意語句的嵌套不能過長,一般來說,一段代碼里Tab要少於8個。 簡單說就是語句最多8個嵌套。 對於新手來說,這個標准還要下降。有一個好習慣是,把主函數盡量寫簡短。經常看到別人的代碼是主函數只有幾行,幾個函數調用,而定義全在主函數外部。這樣一是減少了主函數內部的嵌套,二是比較精簡,容易讀懂。
(3)注意語句的選擇。並不是分支語句就用if循環就用while、for。在適當的情況下switch和do while語句也是要用的。在某些時候,switch語句比if語句更加精練明了,而do while比while少一個循環。
很多人對學習C語言感到無從下手,經常問我同一個問題:究竟怎樣學習C語言?我是一個教師,已經開發了很多年的程序,和很多剛剛起步的人一樣,學習的第一個計算機語言就是C語言。經過這些年的開發,我深深的體會到C語言對於一個程序設計人員多麼的重要,如果不懂C語言,你想寫底層程序這幾乎聽起來很可笑,不懂C語言,你想寫出優秀高效的程序,這簡直就是天方夜譚。為什麼C語言如此重要呢?
第一:C語言語法結構很簡潔精妙,寫出的程序也很高效,很便於描述演算法,大多數的程序員願意使用C語言去描述演算法本身,所以,如果你想在程序設計方面有所建樹,就必須去學它。
第二:C語言能夠讓你深入系統底層,你知道的操作系統,哪一個不是C語言寫的?所有的windows,Unix,Linux,Mac,os/2,沒有一個里外的,如果你不懂C語言,怎麼可能深入到這些操作系統當中去呢?更不要說你去寫它們的內核程序了。
第三:很多新型的語言都是衍生自C語言,C++,Java,C#,J#,perl...哪個不是呢?掌握了C語言,可以說你就掌握了很多門語言,經過簡單的學習,你就可以用這些新型的語言去開發了,這個再一次驗證了C語言是程序設計的重要基礎。還有啊,多說一點:即使現在招聘程序員,很多考試都是考C語言,你想加入it行業,那麼就一定要掌握好C語言。
Ⅳ 想學c語言.目標是做程序員.能不能學會,有多難
沒有學不會的東西,程序員做的是最簡單的也是最基層的。從現在開始都不晚
Ⅵ c語言好學么
作為一個理工科大學文科生,我有話說!
c語言對我來說並不難(我是文科生,學的可能沒有特別深入)
首先,答主也不知道為什麼文科生要學c語言,可能是因為工科大學的title吧
c語言好學不僅僅是我個人總結出來的,還有很多學長學姐的共同想法。
1、c語言的學習過程
先說說c語言的學習,我們文科生的學習是從基本語句開始的,然後帶入程序開始運行
互聯網時代,社會需要更多這種類型的人才,我想學習c語言的時候,你也可以對自己的未來發展有更多的選擇
總的來說,c語言學習的難易程度取決於個人,堅持才會得到回報。
想學什麼就去學,不能讓自己留下遺憾,不要害怕困難,也不要半途而廢,想學就勇敢地學。
Ⅶ c語言好學嗎!是不是頭腦很聰明的人才能學了,怎樣才有編程思想呀!
C語言說簡單也不簡單,說難也不難,當然這是需要努力的,不是聰明不聰明的問題。C語言的確是入門比較容易的語言,之所以說它難,是難在精通,一個精通C/C++語言的程序員一個月最多可以拿到4000+8000的月薪,從這個月薪就不難看出它的難度,而且現大C語言大都用於LINUX系統的系統軟體開發,想要精通到用到工作中,就得看看有關LINUX系統的書。
Ⅷ C語言好學嗎
選擇糾結症。很多初學者總想著學一門萬能的編程語言,這種編程語言既時尚還能好學,還能方便找到工作,現在主流的編程語言數量也是非常有限的,小眾的編程語言數量倒是很多,現在全球的編程語言的總體數量有500多種,真正被大家認可熟知的也就是十幾種,而且這十幾種裡面真正主流的也就是5種左右,所以選擇起來沒有那麼復雜,而且建議盡量按照自己的興趣導向去走。
在選擇編程語言的時候,如果沒有明確的方向,那麼就去招聘網站選擇職位最多的編程語言,一種非常簡單直接的辦法。
老是懷疑自己不是編程的料。很多人選擇了一種編程語言就開始信誓旦旦的學習了,一般學習的第一階段屬於興奮期,無論哪種編程開始階段都會相對簡單,但任何編程語言在學習過程中總會遇到困難,這個時候其實很簡單的就是死磕,但不是鑽牛角,這是兩種不同的性質,死磕就是不斷的鼓勵自己堅持下去,記住一句話編程語言的學習屬於循序漸進的過程,屬於非常理性的學習過程,不是因為你的一腔熱血就很快把事情給做好了,遇到問題充分調動自己去思考,搜集相關的資料,現在網路上有關各類編程語言的書籍和視頻資料多的很,選擇一個對應去看就可以了。
由於編程是一個相對入門比較難的職業,需要經過一段很長的過渡期,很多自學編程的人在過渡期倒下了,堅持不下去了,覺得自己的能力和性格不適合做程序員,任何職業想要真正了解必須經歷一個痛苦的蛻變過程,所以這個時候有疑慮或者退縮都是正常的,沒有什麼人天生就是做某個職業的料,無論什麼職業想做點成績出來,都是踏踏實實干出來的。
Ⅸ C語言編程難嗎 學好有用嗎
C語言也沒有多少英語和數學,基本的都是些保留字,變數名可以自定的,那些單詞背也能背下來,餘下的就是編程的思想了,注意多問,可去上面的那個那些論壇里發貼子和高手交流一下。 其實C語言挺好學的,但是做不成什麼有用的程序,現在主要被初學者用來鍛煉編程思想,作為典型的過程性語言具有很強的邏輯性,可以讓人迅速的對計算機指令的執行過程有個初步的了解。 建議c語言能寫出一般的程序就行,關鍵是觸類旁通,了解一些其他的編程語言,C具有很強的通性。 現在真正在用的基本上都是面向對象的VC++、PB、.net等,總之,學好C語言對於以後的學習有很大的幫助,對於立志在IT行業有所發展的人來說,是更應該掌握C的。(真正的程序員用C,聰明的程序員用delphi。這是一句老話,但是到現在依然是真理,雖然用delphi人依舊那麼些,但是學習C的人卻越來越多。。。。 最後,真心的祝願你能夠通過自己的努力能夠獲取回報,在IT行業有所發展,有所成就!
Ⅹ c語言難嗎
還好,萬事開頭難,堅持下去就可以了。
看你的態度了,一定要相信自己,對自己有信心。
學習忌貪多、忌浮躁、忌急功近利。把學習計劃放的長一些,培養一個好的學習方法,一步一步慢慢走,終能學好的。
那麼究竟怎樣學習C語言呢?
1:工欲善其事,必先利其器
這里介紹幾個學習C語言必備的東東:
一個開發環境,例如turbo C 2.0,這個曾經占據了DOS時代開發程序的大半個江山。但是現在windows時代,用turbo C有感覺不方面,編輯程序起來很吃力,並且拖放,更沒有函數變數自動感應功能,查詢參考資料也不方便。建議使用Visual C++,這個東西雖然比較大塊頭,但是一旦安裝好了,用起來很方便。
一本學習教程,現在C語言教材多如牛毛,但推薦大家使用《C語言程序設計》譚浩強主編 第二版 清華大學出版社,此書編寫的很適合初學者,並且內容也很精到。
除此以外,現在有很多輔助學習的軟體,畢竟現在是Window時代了,學習軟體多如牛毛,不象我們當初學習,只有讀書做題這么老套。我向大家推薦一個「集成學習環境(C語言)」,里邊的知識點總結和常式講解都非常好,還有題庫測試環境,據說有好幾千題,甚至還有一個windows下的trubo C,初學者甚至不用裝其它的編譯器,就可以練習編程了,非常適合初學者。還有一個「C語言學習系統」軟體,不過感覺只是一個題庫系統,如果你覺得題做的不夠,不妨也可以試試。
2:葵花寶典
學習計算機語言最好的方法是什麼?答曰:讀程序。
沒錯,讀程序是學習C語言入門最快,也是最好的方法。如同我,現在學習新的J#,C#等其他語言,不再是抱著書本逐行啃,而是學習它們的常式。當然,對於沒有學過任何計算機語言的初學者,最好還是先閱讀教程,學習完每一章,都要認真體會這一章的所有概念,然後不放過這一章中提到的所有常式,然後仔細研讀程序,直到每一行都理解了,然後找幾個編程題目,最好是和常式類似的或一樣的,自己試圖寫出這段已經讀懂的程序,不要以為常式你已經讀懂了,你就可以寫出和它一樣的程序,絕對不一定,不相信你就試一試吧,如果寫不出來,也不要著急,回過頭來再繼續研究常式,想想自己為什麼寫不出來,然後再去寫這段程序,反反復復,直到你手到擒來為止,祝賀你,你快入門了。
3:登峰造極
寫程序的最高境界其實就是掌握各種解決問題的手段(數據結構)和解決問題的方法(演算法)。
是不是寫出底層程序就是程序設計高手呢?非也,寫底層程序,無非是掌握了硬體的結構,況且硬體和硬體還不一樣,要給一個晶元寫驅動程序,無非就是掌握這塊晶元的各種寄存器及其組合,然後寫值讀值,僅此而已。這不過是熟悉一些io函數罷了。那麼怎樣才算精通程序設計呢?怎樣才能精通程序設計呢?舉個例子:你面前有10個人,找出一個叫「張三」的人,你該怎麼辦?第一種方法:直接對這10個人問:「誰叫張三」。第2種方法:你挨個去問「你是不是張三?」,直到問到的這個人就是張三。第三種方法:你去挨個問一個人「你認不認識張三,指給我看」。不要小看這個問題,你說當然會選第一種方法,沒錯恭喜你答對了,因為這個方法最快,效率最高,但是在程序設計中找到解決問題的最優方法和你用的手段卻是考驗一個程序員程序設計水平的重要標志,而且是不容易達到的。剛才這個問題類似於數據結構和演算法中的:Map數據結構,窮舉查找和折半查找。所以掌握好數據結構和一些常用演算法,是登峰造極的必然之路。最後給大家推薦嚴尉敏的《數據結構》清華大學出版社,希望每一個想成為程序設計高手的人研讀此書。