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

為什麼程序員會學c語言

發布時間: 2022-03-06 01:33:39

A. 為什麼要學習c語言

為什麼C語言依然如此流行?由於種種原因,業界選擇了C,其中最主要的原因就在於它的效率。優秀C程序的效率幾乎和匯編語言程序一樣高,但C程序明顯比匯編語言程序更易於開發。和許多其他語言相比,C給予程序員更多的控制權,如控制數據的存儲位置和初始化過程等。C缺乏「安全網」特性,這雖有助於提高它的效率,但也增加了出錯的可能性。如,C對數組下標引用和指針訪問並不進行有效性檢查,這可以節省時間,但在使用這些特性時就必須特別小心。如果你在使用C語言時能夠嚴格遵守相關規定,就可以避免這些潛在的問題。
C提供了豐富的操作符集合,它們可以讓程序員有效地執行一些底層的計算如移位和屏蔽等,而不必求助匯編語言。C的這個特點使很多人把C稱為「高層」的匯編語言。但是,當需要的時候,C程序可以很方便地提供匯編語言的介面。這些特性使C成為實現操作系統和嵌入性控制器軟體的良好選擇。C流行的另一個原因是由於它的普遍存在。C 編譯器在許多機器上實現。另外,ANSI標准提高了C程序在不同機器之間的可移植性。
最後,C是C++的基礎。C++提供了一種和C不同的程序設計和實現的觀點。然而,如果你對C的知識和技巧,如指針和標准庫等成竹在胸,將非常有助於你成為一名優秀的C++程序員。

B. 程序員一定要學C語言嗎

基礎應該學 學了沒壞處

C. 程序員必須學習C語言么

真正的編程基礎,絕不是某種具體的開發語言,而是計算機基本知識,如操作系統原理,計算機組成原理,程序運行原理(尤其是程序運行時各種元素在內存中的存儲狀態)等,弄懂了這些,任何語言都不難學,而且往往是一通百通。說到底,所有的編程語言都大同小異,也就是語法表達上有點差異而已。所以,學java不一定非得先學C或C++,反過來也一樣。除非你自己感興趣或工作中確實需要用到,或為了以後找工作時有更多選擇的餘地(畢竟藝多不壓身),否則完全沒必要去浪費那時間和精力。
另外,建議你別去考什麼JAVA工程師認證之類的了,現在很少有公司看這個,有那時間和精力的話不如多學學一些第三方框架(如Struts、Spring、Hibernate等)和設計模式方面的知識,對你以後的職業發展很有好處的。

D. 為什麼要學C語言

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

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 的優點:
2.1)結構化設計語言,語法清晰、結構簡單,模塊化使得程序的各個部分除了必要的信息交流外彼此獨立,便於開發、調試以及調試。
2.2)運算符多,把括弧、賦值、強制類型轉換等都作為運算符處理,靈活使用各種運算符可以大大提高編程效率。
2.3)數據結構豐富,能實現各種復雜的數據類型的運算,引入指針、結構體概念使程序效率更高。
2.4)為操作系統而生,可以像匯編語言一樣對位、位元組和地址進行操作,允許直接訪問物理地址對硬體進行操作,把高級語言的基本結構和語句與低級語言的實用性結合起來。
2.5)程序執行效率高,一般比匯編程序生成的目標代碼效率低 10%~20%。
2.6)可移植性好,C 語言抽象了針對 CPU 編程的細節,能廣泛應用於針對大型操作系統和系統軟體的編寫。
2.7)具備強大的繪圖功能,和 C++ 一樣也可以寫出很優雅的二維、三維圖形和動畫。

G. 為什麼每個程序員都要學C語言的五個理由

為什麼每個程序員都要學C語言的五個理由 - CSDN博客
http://blog.csdn.net/wishfly/article/details/1934741

H. 為什麼編程入門要學C語言

現在都是信息化的時代,沒有一門好的技術是難以在社會之中立足的,
現在的電腦技術飛速增長,每家公司都需要電腦人才,你可以去學習電腦專業,
在這個領域中還是有很大的發展空間的,只要自己好好學習,以後的前景不可限量。

I. 我們為什麼要學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語言要視技術和商業需求而定

J. 為何編程就從學習C語言開始

由於種種原因,業界選擇了C,其中最主要的原因就在於它的效率。優秀C程序的效率幾乎和匯編語言程序一樣高,但C程序明顯比匯編語言程序更易於開發。和許多其他語言相比,C給予程序員更多的控制權,如控制數據的存儲位置和初始化過程等。C缺乏「安全網」特性,這雖有助於提高它的效率,但也增加了出錯的可能性。如,C對數組下標引用和指針訪問並不進行有效性檢查,這可以節省時間,但在使用這些特性時就必須特別小心。如果你在使用C語言時能夠嚴格遵守相關規定,就可以避免這些潛在的問題。C提供了豐富的操作符集合,它們可以讓程序員有效地執行一些底層的計算如移位和屏蔽等,而不必求助匯編語言。C的這個特點使很多人把C稱為「高層」的匯編語言。但是,當需要的時候,C程序可以很方便地提供匯編語言的介面。這些特性使C成為實現操作系統和嵌入性控制器軟體的良好選擇。C流行的另一個原因是由於它的普遍存在。C 編譯器在許多機器上實現。另外,ANSI標准提高了C程序在不同機器之間的可移植性。最後,C是C++的基礎。C++提供了一種和C不同的程序設計和實現的觀點。然而,如果你對C的知識和技巧,如指針和標准庫等成竹在胸,將非常有助於你成為一名優秀的C++程序員。