A. 為什麼編程入門要學c語言
C作為入門語言,其原因是C比較接近底層,又有一定的抽象性,雖然將來未必會使用它,但可以更了解計算機原理以及數據結構。可能對於大多數程序員來說沒太大用處,但原理和數據結構能以計算機角度來思考程序問題,寫出更高效的代碼。這算是專業的程序員的一種修為。而且C現在還是主流,作為入門語言是很適合的。
C語言是一種計算機程序設計語言,屬高級語言范疇。它既具有高級語言的特點,又具有匯編語言的特點。它可以作為工作系統設計語言,編寫系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬體的應用程序,代碼清晰精簡,十分靈活。
B. 什麼是c語言,為什麼要學c語言
最佳答案:從學習的角度來說,學習C語言是很必要的,C語言有如下優勢:① C語言比較靈活,可以直接使用指針。② C語言是跨平台的語言,幾乎...
C. 為什麼要學C語言呢 你有認真想過嗎
1、首先是雞湯,也就是為什麼要學C語言。你可以先問自己,為什麼我要學C語言?是為了應付考試,還是為了應聘,還是為了提高自己的編程能力。我想說的是,如果你打算以後長期從事計算機方面的工作,你就必須會一門編程語言,讓C來做你的啟蒙伴侶再好不過了。為什麼?
通用。
語法簡單,C語言學起來真的很簡單,關鍵字就那麼幾個。
貼近硬體,讓學會編程的同時,對計算機的有初步了解。
C語言無處不在。電飯鍋,路由器,操作系統 and so on 。
對以後學其他語言都是有很大幫助的,具體你會知道什麼是堆,什麼是棧,內存的分配與釋放。。。。。。這些都是所有語言都會涉及到的。
2、學習方法。多寫代碼,多寫代碼,多寫代碼,重要的事說三遍!有一種感覺加「碼感」。還有一件重要的是:多思考,多總結,多看別人的文章。推薦你去【CSDN】,或者【博-客-園】開通博客,記錄自己的學習點點滴滴。
遇到很頭疼的知識點怎麼辦,先跳過去,過一段時間再回頭來看。
實在解決不了就去Google,網路。你的問題很特別,搜不出來,就去論壇提問吧。
提問的藝術:不要問一些網路就能出來的語法問題。
具體學習方法:
第一階段《C Primer Plus》藍皮+郝斌的C語言視頻
我沒推薦經典的《The C Programming Language》,因為我舉得《C Primer Plus》比較??亂壞悖?比徽飫鐧??率嵌醞耆?躚д哂瀉艽蟀鎦?摹?茨闋約旱幕?「傘:鹵蟮氖悠狄彩嗆苤匾?模?躚д咄??枰?桓觥捌啊保?徊揭徊降惱兆嘔??詈蟛嘔嶁闖鱟約旱拇?搿?/p>
第二階段
《C與指針》學完C,不熟練指針,就是白學。
《C語言深度剖析》來自陳正沖前輩,這是一本關於C語言的「野史」,很有味道,強烈推薦。
《C缺陷與陷阱》多看別人掉坑史,前車之鑒後事之師。
第三階段數據結構結構學習。
D. 為什麼要學習C語言的詳細分析
因為將來應聘軟體專業編程方面的工作,至少要精通:C 語言。當然了,其他的語言也還是需要精通的。例如:JAVA、Java Script、Python 等。但是語言只是一個工具而已,更重要的是軟體編程的邏輯結構和數據結構、以及演算法,這些才是最最重要的!只要這些理論基礎扎實了、以及熟練掌握了軟體工程技術(軟體的概要設計、詳細設計),那麼再綜合、自如地使用各種語言編寫大規模的程序也就不感覺困難了。
E. 為啥要學c語言
基礎的話什麼都不用。往深學需要英語 主要為了看外文書籍和代碼注釋。還需要數據結構和操作系統的知識。當然要想寫出一段高效的代碼 還需要離散數學,計算機演算法的知識。
程序員之路——如何學習C語言並精通C語言
程序員之路——如何學習C語言
學習C語言不是一朝一夕的事情,但也不需要花費十年時間才能精通。如何以最小的代價學習並精通C語言是本文的主題。請注意,即使是「最小的代價」,也絕不是什麼捷徑,而是以最短的時間取得最多的收獲,同時也意味著需要經歷艱苦的過程。
一、要讀就讀好書,否則不如不讀
所有初學者面臨的第一個問題便是:如何選擇教材。好的開始是成功的一半,選擇一本優秀的教材是事半功倍的關鍵因素。不幸的是,學校通常會幫你指定一本很差勁的C語言課本;而幸運的是,還可以再次選擇。
大名鼎鼎的譚浩強教授出了一本《C語言程序設計》,據說發行量有超過400萬,據我所知,很多學校都會推薦這本書作為C語言課本。雖然本人的名字(譚浩宇)跟教授僅僅一字之差,但是無比堅定地黑他這本書的。這本書不是寫給計算機專業的學生的,而是給那些需要考計算機等級考試的其它專業學生看的。這本書的主要缺點是:例子程序非常不專業,不能教給程序設計應該掌握的思考方式;程序風格相當地不好,會養成亂寫代碼的惡習;
Kernighan和Ritchie的《The C ProgrammingLanguage》(中譯名《C程序設計語言》)堪稱經典中的經典,不過舊版的很多內容都已過時,和現在的標准C語言相去甚遠,大家一定要看最新的版本,否則不如不看。另外,即使是最經典最權威的書,也沒有辦法面面俱到,所以手邊常備一本《C語言參考手冊》是十分必要的。《C語言參考手冊》就是《CReferenceManual》,是C語言標準的詳細描述,包括絕大多數C標准庫函數的細節,算得上是最好的標准C語言的工具書。順便提一句,最新的《C程序設計語言》是
根據C89標准修訂的,而《C語言參考手冊》描述的是C99標准,二者可能會有些出入,建議按照C99標准學習。還有一本《C和指針》,寫得也是相當地不錯,英文名是《Pointers onC》,特別地強調指針的重要性,算是本書的一個特點吧。不過這本書並不十分適合初學者,如果曾經學過C語言,有那麼一些C語言的基礎但又不是很扎實,那麼可以嘗試一下這本書。相信,只要理解了指針,C語言便不再神秘。
如果已經啃完了一本C語言教材,想要更進一步,那麼有兩本書一定要看。首先是《C Traps andPitfalls》(中譯名《C陷井與缺陷》),很薄的一本小冊子,內容非常非常地有趣。要注意一點,這本書是二十多年前寫成的,裡面提到的很多C語言的缺陷都已被改進,不過能夠了解一些歷史也不是什麼壞事。然後可以挑戰一下《Expert CProgramming》(中譯名《C專家編程》),書如其名,這本書頗具難度,一旦仔細讀完並能透徹理解,便可以放心大膽地在簡歷上寫「精通C語言」了。
切記一個原則,不要讀自己目前還看不懂的書,那是浪費生命。如果看不懂,那一定是缺失了某些必需基礎知識。此時,要仔細分析自己需要補充哪些內容,然後再去書店尋找講述的這些內容的書籍。把基礎知識補充完畢再回頭來學習,才會真正的事半功倍。
二、Unix/Linux還是Windows,這是個很大的問題
不同的編程環境會造就出不同思維的程序員。Windows的程序員大多依賴集成開發環境,比如VisualStudio,而Unix程序員更加鍾愛Makefile與控制台。顯而易見,集成開發環境更容易上手,在Windows上學習C語言,只需要會按幾個基
本的Visutal C++工具欄按鈕就可以開始寫Hello,
World!了,而在Unix下,需要一些控制台操作的基本知識。有人也許認為Unix的環境更簡潔,但習慣的力量是很大的,大家都很熟悉Windows的基本操作,而為了學習C語言去專門裝一個Unix系統,似乎有點不劃算。
對於一個只懂得Windows基本操作、連DOS是什麼都不知道的新手而言,盡快做一些有趣而有意義的事情才是最重要的。用C語言寫一個小程序遠比學習
ls、cat等命令有趣,況且要專注於C語言本身,就不得不暫時忽略一些東西,比如編譯鏈接的過程、Makefile的寫法等等等等。
所以建議初學者應該以Visual C++ 6.0(不是VisualC++ .NET)或者DevC++作為主要的學習環境,而且千萬不要在IDE的使用技巧上過多糾纏,因為今後一定要轉向Unix環境的。Visual C++6.0使用很方便,調試也很直觀,但其默認的編譯器對C標準的支持並不好,而DevC++使用gcc編譯器,對C99的標准都支持良好。使用順帶提一下,很多大學的C語言課程還在使用Turbo C2.0作為實驗環境,這是相當不可取的,原因其一是TC 2.0對C標准幾乎沒有支持,其二是TC2.0編譯得到的程序是16位的,這對今後理解32位的程序會造成極大的困擾(當然,用djgpp之類的東西可以使TC2.0編譯出32位程序,不過那過於復雜了)。
等學完一本C語言的教材,一定要轉向Unix平台繼續學習,幾乎所有的C語言高級教程都是基於Unix平台的(比如《C專家編程》)。轉變的過程是痛
苦的,需要面對的是各種紛繁復雜的命令,完全不同於Windows平台的思考方式,但是這種痛苦是值得的。Unix與C是共生的,Unix的思考方式和習慣更加符合C語言的思考方式和習慣。在Unix下,可以找到無數優秀的源代碼供你盡情閱讀,可以方便地查看某個庫函數的聯機手冊,還可以看到最優秀的代碼風格
歸結起來就是一句話:初學C語言,建議使用Windows系統和集成開發環境,在准備向「高手」方向努力時,請先轉向Unix平台。
三、萬事俱備,就是東風
書已選定,環境配置完成,正所謂萬事俱備,只欠自己的努力了。請從書的前言開始,仔細地閱讀手頭的教材,很多人看書喜歡直接從第一章開始看,這是錯誤的做法。前言是作者對整本書的大體介紹,作者一般會告訴需要什麼基礎才能夠順利閱讀本書,這可以幫助你檢驗自己的基礎知識是否已經具備。看完前言,還要瀏覽一下目錄,了解一下書的整體結構,順便給自己安排一下學習計劃。
學習C語言,必需注意每一個細節,書上的例子代碼一定要自己親自敲一遍,編譯執行輸出都跟書上說的一致才能算是學完了一個例子,如果不一致,就要仔細找原因。出了書本上有的例子,自己還要「創造」一些例子,比如學習運算符優先順序的時候,可以寫幾個相同的表達式,在不同的位置加上括弧,看看有哪些不同的行為,比如*p++和(*p)++,又比如a = b == c、(a = b) == c和a = (b ==c)等等。自己抄的書上的例子以及改造之後的例子,還有自己「創造」的例子,都應該仔細地歸類保存,並且要在源代碼中寫上簡短的注釋,闡述這個例子的意圖。
例子之後就是習題了,建議初學者把所有的習題都獨立做一遍,然後對照答案的代碼,看看自己的代碼有那些不足,再試著修改自己的代碼。很多人不重視習題,這是極大的錯誤,因為作者通常會在習題中說明一些重要的道理,而不是單純地檢驗前面的知識。
也許認為這樣學習太慢,其實不然。學得細致就不用走回頭路,等學到後面才發現自己前面沒搞清楚,那才是真的得不償失。一般說來,整本書讀完,應該完數千行乃至上萬行的代碼,無論是原封不動照抄書上的,還是自己心血來潮寫就的,都是今後繼續學習的一筆財富。以自己舉例,閱讀《Windows核心編程》時(只閱讀了3/4的內容),除了抄書上的代碼,還自己寫了很多例子,一共有5574行(用unix下的wc工具統計),時隔多日,早已記不清Windows的系統編程了,但只要花幾分鍾翻出以前的代碼看看,便會重新瞭然於胸。所謂好記性不如爛筆頭,就是這個道理。
仔細讀書、認真抄寫源代碼、獨立完成習題外加更進一步的實驗,最後將所有的代碼留下,成為自己的經驗和財富,絕對的辛苦,也絕對的事半功倍。當然,這種方式只適合學習需要精通的技術,如果不是學習C語言,還要具體情況具體分析。
F. 為何編程就從學習C語言開始
由於種種原因,業界選擇了C,其中最主要的原因就在於它的效率。優秀C程序的效率幾乎和匯編語言程序一樣高,但C程序明顯比匯編語言程序更易於開發。和許多其他語言相比,C給予程序員更多的控制權,如控制數據的存儲位置和初始化過程等。C缺乏「安全網」特性,這雖有助於提高它的效率,但也增加了出錯的可能性。如,C對數組下標引用和指針訪問並不進行有效性檢查,這可以節省時間,但在使用這些特性時就必須特別小心。如果你在使用C語言時能夠嚴格遵守相關規定,就可以避免這些潛在的問題。C提供了豐富的操作符集合,它們可以讓程序員有效地執行一些底層的計算如移位和屏蔽等,而不必求助匯編語言。C的這個特點使很多人把C稱為「高層」的匯編語言。但是,當需要的時候,C程序可以很方便地提供匯編語言的介面。這些特性使C成為實現操作系統和嵌入性控制器軟體的良好選擇。C流行的另一個原因是由於它的普遍存在。C 編譯器在許多機器上實現。另外,ANSI標准提高了C程序在不同機器之間的可移植性。最後,C是C++的基礎。C++提供了一種和C不同的程序設計和實現的觀點。然而,如果你對C的知識和技巧,如指針和標准庫等成竹在胸,將非常有助於你成為一名優秀的C++程序員。
G. 為什麼要學C語言
C即C語言,可以從很多個角度來回答:
1.C是面向過程的語言.他的執行都是由上而下的瀑布式的.而現在流行的面向對象(例如JAVA.C++)的執行順序並
不是寫程序的人可以控制的.它是由某些動作來調用的
2.C是中級語言.一般我們認為匯編叫做低級語言.因為它直接提供了對硬體的操作.功能十分強大.效率也十分
的高.但是想完全使用匯編來寫一個應用幾乎是完全不可能的事情.並且匯編語言需要硬體的支持.也就是說
你針對自己的機器寫的匯編到別人的機器上未必就能跑的起來.而高級語言指的就是是用類似人類語言的語
言來表達的。比如JAVA.BASIC.PASCL等.這些語言與硬體之間的關系不大.通用性很強.開發應用程序效率比較
起低級語言來說要高很多。因為C提供了一種叫做指針的東西.可以直接操作系統的內存地址.這個功能是其
他高級語言所沒有的.所以人們習慣把C叫做中級語言.意思就是說既有高級語言類似人類語言的特點.又有匯
編的可以直接操作硬體的功能.
H. 我們為什麼學習c語言
國內大學的計算機專業中,c語言是必學課,但是還是很多同學學了c語言之後,仍然不知道c語言能幹什麼,唯一留下印象的就是那本譚浩強的書籍和那些枯燥的語法和關鍵字,學完之後就束之高閣了,完全不知道c語言到底干什麼,在這里就聊一聊c語言與整個it世界。
自從C語言在20世紀70年代誕生以來,伴隨著信息時代的飛速發展,它就成為最流行的程序設計語言。當時的IT世界還是各種專業語言各行其道的時代,設計一款系統軟體需要匯編語言,而匯編的代碼量相當之多(寫一個賦值語句就得好幾行,想想都蒙圈了)讓人望而生畏;C語言的簡潔以及結構化理念迅速席捲了IT世界。這期間也要歸功於一些大牛,比如Dennis Ritchie和Ken Thompson(C語言的發明者),用C語言編寫了UNIX操作系統,而UNIX操作系統及其變種至今仍然占據了當今伺服器操作系統的70%以上。
下面來了解下C語言和我們周圍的生活,其實我們現在的信息生活和今天所說的C語言息息相關;當我們打開電腦的時候,使用windows操作系統,而這個windows操作系統就是用C語言編寫的,在我們使用瀏覽器的時候,這個瀏覽器也是C語言開發的,而瀏覽器後端的伺服器操作系統,也是C語言(要們是windows,要麼是unix的變種),而支撐瀏覽器服務的,比如apache和nginx等等,也是C語言開發的;當我們使用網路或者谷歌的時候,網路和谷歌的搜索服務也是C語言開發的;當我們使用一些客戶端工具,比如QQ,MSN等,其實他們也是C語言開發的;當我們去玩一些大型的網路游戲的時候,網路游戲是C語言的大陣營。當我們使用銀行客戶端的時候,大部分的銀行客戶端也都是C語言開發的。由此可見,C語言和我們簡直都分不開了。
綜上所言,作為從業者,還是很有必要將C語言進行到底的。
?相關資料:學習C、C語言、C++、C#可以加q946009740(←長按復制)?
I. 為什麼要學習c語言它具有哪些特性
我在網上看到一些,也許對你有幫助:
1)相比較其他的編程語言(像c++,java),c語言是個低級語言。從總體上來說,低級的編程語言可以讓你更好的了解計算機。
2)設備驅動程序和操作系統只能用c語言來編寫。現在,你可能還從來沒有編寫過一個設備驅動程序或者一個操作系統,但是如果你需要去修改他們的時候,怎麼辦?
3)如果你想要得到一份編寫微控制器程序的工作的時候,該怎麼辦?他們都是用c語言編寫的。就因為不想學習一門新的語言,你就准備限制你能得到工作的機會嗎?
4)c的程序比其他用別的語言寫的程序,實現相同的功能,它用的代碼行數更少,而它帶來的運行效率卻更快。有時候,你的程序所需要的速度,只有c語言能做到。
5)如果你學習過c語言,你就能學習現在任何的高級編程語言。因為所有的高級語言都是以c語言為基礎的(像java,c++,c#等等)。
6)因為c語言已經存在很多年了,它有廣泛的使用團體並且有大量的現成代碼可以利用。這就使你能在過去程序的基礎上,快速和高效的編寫新的演算法和函數。
7)c語言是一個開源組織的語言。一個開源組織的產物--linux,就是用c語言寫的。如果你會c語言,你就能參加這個組織並且還能向眾多的開源組織投稿,比如參加source
forge並且給他們投稿。
8)c語言是唯一一個向你闡述指針的本質的語言。而c#和java乾脆跳過了指針這個題目。可是指針確實使c語言變得更加強大。
9)找編程開發方面的工作時,c語言仍然是最普遍需要的語言。所以它值得你花時間去學會它。
10)
任何裡面有微處理器的設備都支持c語言。從微波爐到手機,都是由c語言技術來推動的。