當前位置:首頁 » 編程語言 » 為什麼要學習古老的c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

為什麼要學習古老的c語言

發布時間: 2022-08-24 01:21:19

① 為什麼要學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缺陷與陷阱》多看別人掉坑史,前車之鑒後事之師。

第三階段數據結構結構學習。

② 為啥要學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語言,還要具體情況具體分析。

③ 我們為什麼要學習C語言

1.簡約 雖說用好c語言很難,但是對於c語言的入門是很容易的,用一句話來形容c語言,我覺得是易於上手,難於精通,C語言在語法上的使用很簡單,因為它不是很高級,也不是很龐大,在第二版(K&R)中,它的參考手冊僅僅用了49頁就描述了整個C語言,沒有迭代器,沒有裝箱....C語言的這種「低級」讓我們在學習時會把重點放在自己控制上,所以什麼都會選擇自己動手,而在用java或python時,我的第一感覺,往往是,「嗯,我有哪些工具可以使用?」太多的工具選擇,有時候是件壞事,因為沒了許多鍛煉的機會,而且很難抓住重點,有的時候什麼都沒有反而是件好事。<!--more-- 2,原理 操作系統是一個程序員應該學好的一門課,但是我們在學習的那些操作系統概念很難深入理解,或者比較抽象,比如餓死哲學家之類的,僅僅知道概念,是不能解決實際問題的,比如,你可能學過一些進程的概念,或者內存分段之類的,那我問你,windows進程問什麼沒有僵死?在windows中如何修改一個進程中的數據?Linux的fork和Windows的createProcess有什麼不同?linux有線程嗎?你寫一個我看!你的理論不管用了,因為你沒有實踐過.所以,我覺得學習操作系統最好的方式就是用c語言進行系統調用,這種方式在unix和linux下能獲得更好的學習方式,因為win32-sdk不適合學習,更適合開發,在unix下,你能用你的操作系統知識與fork(),exe(),wait()等系統調用很好的結合. 而且不僅僅是操作系統你,在學習c語言的時候,你不得不接觸一些系統結構的知識,比如位元組對齊,比如c語言的地址空間,你就會知道堆棧這種東西,如果不是遞歸,是可以沒有的.你就會知道虛擬地址到實際地址的轉換.這些在java和c#中變得透明,但是透明是為了方便開發,透明對一個學習者是有害的,想像今後的雲計算,將會是怎樣的開發?它將培養更多的碼農。 3,數據結構與演算法 用C語言來學習數據結構和演算法在合適不過了,用指針去寫吧,用Java和c#下的學習更像是會用。你可能會說C++更好,但是你的類(變數+函數)本質跟c語言中的結構體+函數,沒有區別,除非你用模板,多態,重載,我才承認你在用c++,但是你的重點篇了,我們不是在討論學習數據結構與演算法嗎?你現在是在學習語言特性了。 4,更好的過渡 本文所寫的是為什麼學習C語言,作為一個學生,我覺得說什麼C語言開發更高效,就是個笑話,因為,談到開發,又開始談金錢,時間,一大堆的東西,你會問,為什麼不是java或python?開發是開發的事,你學的扎實還不會開發?我只是說c語言的路線更適合學習,你又會問錢都掙不上學什麼?我記得有一次一個來做java培訓的人說,「我們培訓java,你們把自己做成一個商品,推銷出去。」。我覺得很可笑,我們要做的不是商品,最起碼是一支股票。所以害怕學的東西找不到工作的人,用一切時間來猶豫徘徊。

④ 我們為什麼要學C語言

C語言,似乎是一門很久遠的語言了。但是身為程序員的我們,都對C語言有所了解。究竟我們為什麼要學習C? C是寫操作系統最常使用的編程語言(譯註:沒有之一)。Unix是用C寫的第一個操作系統。後來Microsoft Windows,Mac OS X,還有GNU/Linu也都是用C寫的。C不僅是操作系統的語言,也是其它幾乎所有今天最流行的高級語言的先驅和靈感來源。事實上,Perl,PHP,Python和Ruby都是用C寫的。 通過類推的方式,讓我們這么說你一直在學的西班牙語、義大利語、法語或者葡萄語。你想過知道點拉丁語會很有用嗎?因為拉丁語是所有這些語言的基礎,了解了C,你就能理解和欣賞建構在傳統C之上的整個編程語言家族。懂得C,就擁有了自由。 為什麼是C,而不是匯編語言? 匯編語言提供了速度和最大的編程可控性,C提供的是可移植性。 不同的處理器必須採用不同的匯編語言來編程,必須選擇其中一種,只能學習其中一種,這太*了。事實上,面對眾多的計算機架構,C的一個主要優勢在於其通用性和可移植性,而將硬體層的大多控制留給了匯編語言。 例如,C程序可以編譯運行在如下設備上,HP 50g計算器(ARM處理器)、TI-89計算器(68000處理器)、Palm OS Cobalt智能手機(ARM處理器)、原始的iMac(PowerPC)、Arino(Atmel AVR)和Intel iMac(Intel Core 2 Duo)。這些設備每個都有自己的專有匯編語言,並且完全不兼容於任何其它一個設備的匯編語言。 匯編語言,很強大,但很難去編寫大型應用程序,很難以邏輯方式去閱讀和解釋。C是一種編譯語言,可以產生快速有效的可執行文件。C也是一個小型「所見即所得」語言:一個C語句最多對應著幾個匯編語句,其它都以庫函數的形式提供。 所以這就是C是如此流行的語言的原因? 就像推度多米諾骨牌一樣,下一代的程序跟隨著它的先輩的足跡。用C設計的操作系統通常都有用C設計的系統庫。這些系統庫反過來用於構建高級庫(如OpenGL,或者GTK),這些庫的設計者通常又會採用系統庫所使用的語言。高級庫又被應用級開發者用來設計字處理程序、游戲、媒體播放器等諸如此類。他們多數會選擇採用高級庫所使用的語言來編程。這種模式就這樣如此如此進行... 為什麼是C,而不是另一個高級語言? C最主要的設計是用於生成可移植代碼,同時保持性能又能最小化腳印,而這本來就是「高級」介面打算在操作系統或者其它程序上發揮的作用。作為一種既穩定又成熟的語言,其特性長期來看未必會消失,而是移植到了大多(如果不是所有)的平台上。 例如,C程序能夠編譯運行在這些設備上,包括HP 50g計算器(ARM處理器)、TI-89計算器(68000處理器)、Palm OS Cobalt智能手機(ARM處理器)、原始的iMac(PowerPC)、Arino(Atmel AVR)和Intel iMac(Intel Core 2 Duo)。幾乎所有流行的編程語言都至少能運行在這些設備的其中一種上,而C可能是唯一可以運行在三種以上的這些設備的編程語言。 一個最有力的理由是內存分配。不像大多計算機語言,C允許程序員直接寫內存。在C中如結構體、指針和數組,這些設計的目的就是用一種高效且機器無關的方式去構建和操作內存。尤其是,C給出了在數據結構的內存層上的控制方法。此外,動態內存分配是程序員掌控,這必然意味著內存重分配成為了程序元的負擔。而Java和Perl之類的語言則將程序員從對內存分配和指針的擔心之中解救出來。一般而言這是件好事,因為寫高級程序時處理內存一個很容易出錯的過程。然而,當處理低層代碼時,例如操作系統控制一個設備的部分,C提供了一個統一清晰的介面。在其它的高級語言如Java中則沒有這些性能。 Perl、PHP、Python和Ruby這些語言可能很強大,能支持許多C預設不支持的特性,而一般這些語言是不能用自己實現的。恰恰相反,這些語言多數最初都是依賴C(或者另一種高性能編程語言)寫成,而且使用之前必須先要移植到新平台上。 與所有編程語言一樣,是否優先選擇C語言要視技術和商業需求而定

⑤ 為什麼要學習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語言技術來推動的。

⑥ 為什麼要學習C語言 C語言優勢分析

不止一個學生問到我:「老師,為什麼我們的應用程序設計要學C語言而不是別的?C語言不是已經過時了嗎?如果現在要寫一個Windows程序,用VB或Dephi開發多快呀,用C行嗎?退一萬步,為什麼選擇C而不是C++呢?」 不止一個學生問到我:「老師,為什麼我們的應用程序設計要學C語言而不是別的?C語言不是已經過時了嗎?如果現在要寫一個Windows程序,用VB或Dephi開發多快呀,用C行嗎?退一萬步,為什麼選擇C而不是C++呢?」 這個問題三言兩語還真說不全。簡單來說,C語言是計算機程序語言的基礎,是實用的程序設計工具,學好C語言對你今後學習JAVA、C++、VB 等可以打下良好的基礎,因為這些語言大部分都是由C語言擴充或衍生而來的。C可以用於開發比較底層的東西,比如驅動、通信協議之類,在Unix和 Linux環境中也是不可或缺的,另外在嵌入式領域也大有作為。 站在本專業的角度看,雖然信息管理對程序設計的要求不如計算機專業那麼高,但如果你不懂得C,基本上就很難理解程序設計的思想,因為想真正學會 程序設計就不可能不跟數據結構打交道,而初學者如果直接從VB或Java入手,基本上很難理解如何構造數組、鏈表、樹、圖等結構,這些東西很容易和封裝、 繼承等概念打架。而用C語言則可以清楚明白地把它們表示出來。也只有真正理解了數據結構,才有機會體驗程序設計的思想和演算法的精髓。 那麼為什麼還會有那麼多人認為C語言過時呢?原因很簡單,90%以上的中國人學的是Windows,用的是Windows,便認為非圖形即不 好。網上許多的觀點是值得懷疑的,什麼時下里Java和C#流行啦,什麼C語言寫出的程序沒有友好的用戶介面啦等等。然而若一個問題不用圖形介面都可以解 決,那何必做得這么復雜呢?試想,如果一條信息可以告訴你現在的時間是什麼,你又何必去翻個鬧鍾出來看看?中國人的心態總是很浮躁,什麼事都想「多快好 省」,可惜終究是「站在巨人的肩膀」上看問題,自己卻長不成巨人(似乎認為沒了微軟的開發工具,我們什麼都做不了)。 所以學C語言的必要性就很清楚了:C語言是基礎(但不是簡單的)。國外的人們拿C語言來處理現實問題,而我們現在還在用它來打磨自己的浮躁,所以我們距離國外的水平還太遠,但又不是不可企及的。 當然,如果想在Windows上開發圖形介面,用MFC或C#、Java都比C好的多。尺有所短,寸有所長。每種語言有自己適用的領域,C並不是萬能的,但想成為程序設計高手,不懂C是萬萬不能的。 至於為什麼選擇C而不是C++,那是因為我們的培養計劃無法提供足夠的學時。想學好學精C++,沒有100學時是不夠的,而我們現在選擇的C語 言都只有44課時的理論教學時間,面對如此豐富多彩的C世界,我已經頗感力有不逮,許多基本內容都得靠學生自學了,哪還能奢望C++啊?每個程序員在他們的編程生涯中都應該學習C語言,因為它有太多難以忽視的好處了。除了它會給你提供更多的工作機會之外,C語言還會教給你更多的關於計算機的知識。它能給我們提供的裨益,,簡單列舉如下:1.相比較其他的編程語言(像C++,JAVA),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語言技術來推動的。
11.好了,說了這么多,大家應該感到我們應該學習C語言的必要性和迫切性了吧!那就趕快學吧!讓它成為我們取得更大成功的階梯!

⑦ 什麼是c語言,為什麼要學c語言

最佳答案:從學習的角度來說,學習C語言是很必要的,C語言有如下優勢:① C語言比較靈活,可以直接使用指針。② C語言是跨平台的語言,幾乎...

⑧ 為什麼要學習c語言論文

C的主要設計是生成可移植代碼,同時保持性能並最小化佔用空間(CPU時間,內存使用,磁碟I / O等)。這對於操作系統,嵌入式系統或性能很重要的其他程序(「高級」介面會影響性能)非常有用。使用C,可以相對容易地保持對給定行真正做的事情的心理描述,因為大多數事情都是在代碼中明確寫出來的。C為低級應用程序提供了很大的代碼庫。它是UNIX的「本機」語言,使其具有靈活性和可移植性。它是一種穩定而成熟的語言,不太可能在很長一段時間內消失,並且已被移植到大多數(如果不是全部)平台。
一個有力的原因是內存分配。與大多數編程語言不同,C允許程序員直接寫入內存。C中的關鍵結構(如結構,指針和數組)旨在以高效,與機器無關的方式構造和操作內存。特別是,C可以控制數據結構的內存布局。此外,動態內存分配在程序員的控制之下(這也意味著內存釋放必須由程序員完成)。像Java和Perl 這樣的語言使程序員不必管理內存分配和指針的大部分細節(內存泄漏除外)和一些其他形式的超額內存使用)。這很有用,因為在構建高級程序時處理內存分配是一個高度容易出錯的過程。但是,在處理低級代碼(例如控制設備的操作系統部分)時,C提供了統一,干凈的界面。大多數其他語言都不存在這些功能。
雖然Perl,PHP,Python和Ruby可能功能強大,並且支持C中默認未提供的許多功能,但它們通常不是用自己的語言實現的。相反,大多數此類語言最初依賴於使用C(或其他高性能編程語言)編寫,並且需要將它們的實現移植到新平台才能使用它們。
與所有編程語言一樣,無論您是否想要選擇C而不是其他高級語言都是一個意見問題,技術和業務要求都可以決定所需的語言。

⑨ 為什麼要學C語言

C即C語言,可以從很多個角度來回答:
1.C是面向過程的語言.他的執行都是由上而下的瀑布式的.而現在流行的面向對象(例如JAVA.C++)的執行順序並
不是寫程序的人可以控制的.它是由某些動作來調用的
2.C是中級語言.一般我們認為匯編叫做低級語言.因為它直接提供了對硬體的操作.功能十分強大.效率也十分
的高.但是想完全使用匯編來寫一個應用幾乎是完全不可能的事情.並且匯編語言需要硬體的支持.也就是說
你針對自己的機器寫的匯編到別人的機器上未必就能跑的起來.而高級語言指的就是是用類似人類語言的語
言來表達的。比如JAVA.BASIC.PASCL等.這些語言與硬體之間的關系不大.通用性很強.開發應用程序效率比較
起低級語言來說要高很多。因為C提供了一種叫做指針的東西.可以直接操作系統的內存地址.這個功能是其
他高級語言所沒有的.所以人們習慣把C叫做中級語言.意思就是說既有高級語言類似人類語言的特點.又有匯
編的可以直接操作硬體的功能.