c語言重要麼
① c語言的重要性是什麼
你閱讀完下面的文章就知道了
(一)「項目驅動」式教學
目前最著名、最有影響、應用最廣泛的windows、linux和UNIX三個操作系統都是用C語言編寫的。0S是計算機系統(由軟硬體兩個子系統構成)的核心和靈魂,它是軟體中最龐大最復雜的系統軟體。既然如此龐大復雜的0S都可以用c語言編寫,從狹義而言,還有什麼系統軟體和應用軟體不能用c語言編寫呢?由此可以肯定的說,c語言是一門十分優秀而又重要的語言。
c語言程序設計是過程性程序設計語言,它的發展貫穿了計算機發展的歷程,它蘊含了程序設計的基本思想,囊括了程序設計的基本概念,所以它是理工科高等院校的一門基礎課程。
從市面上有關c語言的書籍和高等院校採用的教材來看,它們有一個共性,那就是:脫離了實際應用(全是小打小鬧的小例子),純粹的過程性程序設計,沒有軟體工程思想的體現,沒有一定程序設計風格,僅僅是為了讓大家明白什麼是c語言而已。
高等院校開設c語言程序設計的目的是讓學生對程序設計有個入門,有個直觀的理解,同時為其他後續課程作鋪墊。但是如果教學僅僅以此為目的,那麼教學本身就效果而言是個大大的失敗。
大家知道,在商業上講究唯利是圖,「利」是商業追求的目標,離開了「利」經商,則商無動力,其結果是必敗無疑。在c語言程序設計教學當中,教師應該把「唯用是圖」作為教學的首要目標。如果拋開了實際應用進行程序設計教學,就是紙上談兵,就是「說明書」式的教學。印度的程序設計課程採用「事件驅動式」教學,我認為在中國的c語言程序設計教學中應該採用「項目驅動式」教學。「項目驅動式」教學就是以項目為目的,以c語言理論教學為過程,最終能用c語言設計項目,實現項目的要求。「項目驅動式」教學的關鍵在於培養學生「如何做什麼」和「可以干什麼」。一個項目就是一個工程,在「項目驅動式」教學中,首先應該讓學生簡單了解什麼是軟體工程思想,其次在c語言理論教學過程中,讓學生懂得面向對象的程序設計的風格,最後引導他們來設計項目。
(二)「項目驅動」式教學應注意的問題
1.c語言程序設計教學要幫助學生樹立面向工程的觀點
在計算機行業中,軟體是通過人們的智力活動、把知識與技術轉化成信息的一種產品。軟體的設計已經用工程的觀念來進行管理。軟體設計工作被當作一項系統工程來對待。軟體的的生存周期一般可分為以下階段:問題定義、可行性研究、需求分析、概要設計、詳細設計、編碼、測試、運行與維護。我們不難看出軟體工程的復雜程度是很大的。理工科高等院校把c語言作為一門基礎課程,也是為了給社會培養信息技術人才。眾所周知,養成一個好的習慣是非常重要的,所以c語言程序設計作為大多數工科院校學生接觸的第一門程序設計語言(有的院校講pascal),就應該讓學生樹立正確的觀點。那麼當前的程序設計教學也必須以切合將來軟體工程開發的實際需要為第一目標,使學生在學習程序設計的初級階段就樹立正確的軟體工程觀點。這樣做不僅可以為學生將來從事計算機應用設計打下良好的基礎,而且有利於培養學生分析問題的完備性,以及統籌全局,協調關系的基本素質。
2.理論教學應從單一的「結構化程序設計」向「結構化與面向對象並舉」轉變
「結構化程序設計」方法是程序設計的基礎,必須讓學生掌握得堅實可靠。結構化程序設計的過程是培養學生思維能力的過程,在教學中經常發現有些學生的思維混亂。這些都是缺乏思維訓練的結果。結構化程序設計的訓練不僅可以讓學生養成良好的程序設計習慣,而且可以有效地培養學生思維的條理性和邏輯性。所以在授課過程中要注意講解結構化程序設計的思想時應突出兩點:(1)程序的質量首先取決於它的結構。(2)程序設計的基本方法是自頂向下地逐步求精和模塊化。
在c程序教學過程中,越到後面的章節,學生越會產生設計程序逐漸變難的感覺,這是不符合邏輯的一種怪現象。按照常理,C語言學的越多,說明你的程序設計知識越多,設計起程序來應該更加得心應手,那麼出現這種現象的原因何在呢?當然該問題的出現的原因是多方面的,但是其中最重要的一點就是長期以來程序設計的觀念不是以如何處理好對象為出發點,而是以如何使用好語言為基本點。受這種思想的影響,我們的程序設計教學大多數不是以如何解決好問題為重點,而是以講解語法規則和語句格式為重點,是「說明書」式的教學。這樣做造成的結果就是見到一個程序後學生首先想到是該用哪條語句,而不是思考怎樣合理的解析。要切實解決這個問題,首先應該改變程序設計的觀念。「面向對象程序設計」思想是目前最為流行、極為實用的一種程序設計方法,但是讓學生直接接觸「面向對象程序設計」,肯定不能對程序設計打下牢固的基礎。「結構化與面向對象並舉」是現代計算機程序設計的發展趨勢,應該認真探索研究,讓學生有一個較為輕松的學習過程。程序設計的實質就是編寫處理對象的過程,所以將c與c++有機的融為一體的教材應該是首選教材,在教學過程中,我們應該從社會發展的角度進行探索研究,將目前最為流行又極為實用「面向對象程序設計」思想融合到c語言教學中。
3.c語言教學應培養學生良好的程序設計風格
具有良好的設計風格應該是程序員所具備的基本素質,在實際的項目中程序員往往都有自己的一些編程風格。目前95%以上的程序設計書籍不注重程序設計風格問題,這導致了很多學生沒有良好的程序設計風格,在他們剛剛畢業踏入社會時,如果周圍的同事沒有良好的編程風格,那麼很難通過環境來使自己提高這方面的素質,即使有提高也不容易比較全面的提高。因此在學生接觸的第一門程序設計語言教學中,就應該培養學生良好的程序設計風格,使他們一進工作環境就具備這個素質。
Pascal設計者N.Writh教授十分重視程序設計風格的養成,他堅信「教給學生們以表達他們思維的語言會深深地影響他們思維和創造發明的習慣,而正是這些語言本身的混亂直接影響著學生們的程序設計的風格」,他這里所指的「這些運用」是當時那些主要用於程序設計教學的計算機語言。對學生來講,一開始就強調程序設計風格很有必要,良好的程序設計風格不僅有助於提高程序的可靠性、可理解性、可測試性、可維護性和可重用性,而且也能夠促進技術的交流,改善軟體的質量。所以培養良好的程序設計風格對於初學者來說非常重要。
程序設計風格,實際上是指的是編碼風格。在教學過程中應從源程序文檔化,數據說明的原則,輸入/輸出方法這三個方面培養學生的編碼風格,進而從編碼原則探討提高程序的可讀性、改善程序質量的方法。
(1)源程序文檔化。編碼的目的是產生程序,但是為了提高程序的可維護性。源代碼是需要實現文檔化的。源程序文檔化包括選擇標識符(變數和標號)的名字、安排注釋以及標準的書寫格式等。
①選擇標識符的命名規則。標識符包括模塊名、變數名、常量名、標號名、子程序名等。這些名字應能反映它所代表的實際東西,應有一定實際意義,使其能顧名思義。另外在模塊名、變數名、常量名、標號名、子程序名中使用下劃線是一種風格。使用這一技術的一種廣為人知的命名規則就是匈牙利命名法(變數類型由一個或兩個字元表示,並且這些字元將作為變數名的前綴)。當然使用匈牙利命名法與否都沒有錯誤,重要的是要保持一致性——在整個程序中使用相同的命名規則。這就是說,如果你在一個小組環境中編程,你和其他小組成員應該制定一種命名規則。並自始至終使用這種規則。如果有人使用了別的命名規則,那麼集成的程序讀起來將是很費勁的。此外,你還要與程序中用到的第三方庫(如果有的話)所使用的風格保持一致。如果可能的話,你應該盡量使用與第三方庫相同的命名規則,這將加強你的程序的可讀性和一致性。
②注釋。程序中的注釋是程序設計者與程序閱讀者之間通信的重要手段。注釋能夠幫助讀者理解程序,並為後續測試維護提供明確的指導信息。因此,注釋是十分重要的,大多數程序設計語言提供了使用自然語言來寫注釋的環境,為程序閱讀者帶來很大的方便。注釋分為功能性注釋和序言性注釋。
a.功能性注釋。功能性注釋在源程序中,用以描述其後的語句或程序段是在做什麼工作,也就是解釋下面要「做什麼」,而不是解釋下面怎麼做。對於書寫功能性注釋,要注意以下幾點:第一描述一段程序,而不是每一個語句。第二利用縮進和空行,使程序與注釋容易區別。第三注釋要准確無誤。
b.序言性注釋。序言性注釋通常位於每個程序模塊的開頭部分,它給出程序的整體說明,對於理解程序具有引導作用。有些軟體開發部門對序言性注釋做了明確而嚴格的規定,要求程序編制者逐項列出。有關內容包括:程序標題;有關該模塊功能和目的的說明;主要演算法;介面說明:包括調用形式,參數描述,子程序清單;有關數據描述;模塊位置(在哪一個源文件中,或隸屬於哪一個軟體包);開發簡歷:模塊設計者、復審考、復審日期。
③用標準的書寫格式。源程序清單的書寫建議採用以下幾點:
a.每行只寫一條語句;
b.用分層縮進的寫法顯示嵌套結構層次,這樣可使程序的邏輯結構更加清晰,層次更加分明。
c.書寫表達式時適當使用空格或圓括弧作隔離符。
d.在注釋段周圍加上邊框;
e.注釋段與程序段、以及不同的程序段之間插入字行;
(2)數據說明採用的原則。在編寫程序時,要注意數據說明的風格。
數據說明的次序如果規范,將有利於測試,排錯和維護。首先說明的先後次序要固定,例如,按常量說明、簡單變數類型說明、數組說明用數據塊說明、所有的文件說明的順序說明。當然在類型說明中還可進一步要求,例如按如下順序排列:整型量說明、實型量說明、字元量說明、邏輯說明。
其次當用一個語句說明多個變數名時,應當對這些變數按字母的順序排列。
最後對於復雜數據結構,應利用注釋說明實現這個數據結構的特點。
(3)輸入/輸出方法。輸入/輸出的方式和格式應當盡量避免因設計不當給用戶帶來的麻煩。這就要求,源程序的輸入/輸出風格必須滿足能否為用戶接受這一原則。所以在設計程序時,應考慮以下原則:輸入數據時,要使輸入的步驟和操作盡可能簡單,應允許使用自由格式輸入;應允許預設值;對輸入的數據要進行檢驗,以保證每個數據的有效性。
(三)結束語
在教學過程中,我們讓學生設計一個程序模擬體育彩票的銷售與對獎的過程,取得了良好的效果。他不僅啟發和誘導了學生獨立思考、積極思維的主動性,而且充分調動了學生學習的自覺性和積極性,使學生融會貫通地掌握了所學知識,提高了分析問題和解決實際問題的能力。
搞好c程序設計的教學工作涉及的因素很多,如果以項目來驅動教學,首先讓學生樹立面向工程的思想,其次把教學從單一的「結構化程序設計」向「結構化與面向對象並舉」轉變,最後特別要培養學生養成良好的編碼風格,從而使他們學會能夠「干什麼」,那麼我們認為教學目的就達到了。
② 學習C語言的重要性
由於種種原因,業界選擇了C,其中最主要的原因就在於它的效率。優秀C程序的效率幾乎和匯編語言程序一樣高,但C程序明顯比匯編語言程序更易於開發。和許多其他語言相比,C給予程序員更多的控制權,如控制數據的存儲位置和初始化過程等。C缺乏「安全網」特性,這雖有助於提高它的效率,但也增加了出錯的可能性。如,C對數組下標引用和指針訪問並不進行有效性檢查,這可以節省時間,但在使用這些特性時就必須特別小心。如果你在使用C語言時能夠嚴格遵守相關規定,就可以避免這些潛在的問題。C提供了豐富的操作符集合,它們可以讓程序員有效地執行一些底層的計算如移位和屏蔽等,而不必求助匯編語言。C的這個特點使很多人把C稱為「高層」的匯編語言。但是,當需要的時候,C程序可以很方便地提供匯編語言的介面。這些特性使C成為實現操作系統和嵌入性控制器軟體的良好選擇。C流行的另一個原因是由於它的普遍存在。C 編譯器在許多機器上實現。另外,ANSI標准提高了C程序在不同機器之間的可移植性。最後,C是C++的基礎。C++提供了一種和C不同的程序設計和實現的觀點。然而,如果你對C的知識和技巧,如指針和標准庫等成竹在胸,將非常有助於你成為一名優秀的C++程序員。
③ c語言為什麼重要
C語言重不重要 要看你是什麼專業的,如果你是學計算機專業的 將來要面臨找工作的問題,那麼C語言就是你將來要運用到實際工作中的,如果你不重視的話將來工作中運用起來就比較困難,達內C語言教程你可以看看應該會有比較大的幫助
④ 大一下學期c語言重要嗎
重要,有的東西就和英語一樣,學好語法,至於具體意義,不用死記硬背,那是熟練就記下來了。多多聯系就好。
c語言是許多語言的基礎,學號c語言,將來再遇到哪種語言都不怕
⑤ 大學考計算機C語言證書很重要嗎
樓主你好,C語言本身確實很重要,對於數學專業來說,你可以不學習C語言,因為Matlab這一個強大的數學軟體就夠你在大學用了,當然,你也可以學習下VB,畢竟他比C語言簡單一點,如果樓主想繼續深造考研的話,那就應該學習C語言!至於證書,那是因為現在找工作,很多公司都有硬性要求,其中英語四級和計算機二級是要求最多的!
⑥ c語言重要嗎
大學考C語言、計算機二級考C語言,單片機、嵌入式還是C語言,你說C語言能不重要嗎。
設備驅動程序和操作系統只能用C寫
設備驅動程序和操作系統只能用C語言來編寫。現在,你可能還從來沒有編寫過一個設備驅動程序或者一個操作系統,但是如果你需要去修改他們的時候,怎麼辦?只能用C語言了。
微控制器程序只能用C寫
如果你想要得到一份編寫微控制器程序的工作的時候,該怎麼辦?他們都是用C語言編寫的。就因為不想學習一門新的語言,你就准備限制你能得到工作的機會嗎?
C是最基礎的編程語言
如果你學習過C語言,你就能學習現在任何的高級編程語言。因為所有的高級語言都是以C語言為基礎的(像java,C++,C#等等)。
C是開源的
C語言是一個開源組織的語言。一個開源組織的產物--LINUX,就是用C語言寫的。如果你會C語言,你就能參加這個組織並且還能向眾多的開源組織投稿,比如參加Source
Forge並且給他們投稿。
C語言是唯一闡述指針本質的語言
C語言是唯一一個向你闡述指針的本質的語言。而C#和Java乾脆跳過了指針這個題目。可是指針確實使C語言變得更加強大。
⑦ 計算機中的C語言重要嗎
看你打算做什麼了?
你以後的工作與編程無關,那麼就不重要了,如果你以後要做程序員的話
也要看你是做什麼語言編程的!和C只能算個基礎,學學還是好的!主要看你以後怎麼發展了!
⑧ C語言真的特重要嗎 是否為基礎呀可我覺得沒什麼意思
推薦你看看C語言的歷史
C語言的歷史,
著名的計算機科學家丹尼斯·里奇(Dennis Ritchie)創造的。1967年, Ritchie進入貝爾實驗室工作。貝爾實驗室是當時世界上最有創造力的地方之一,著名的C語言、C++語言和Unix操作系統都誕生於此。一開始, 里奇和他的同事肯·湯普生開始研究DEC PDP-7機器,但是在這個機器上寫程序很困難,只能用很底層很高深的匯編語言。於是湯普生設計了一種高級程序語言,並把它命名為B語言。但是由於B語言本身設計的缺陷,使他在內存的限制面前一籌莫展。1973年,里奇決定對B語言進行改良,他賦予了新語言強有力的系統控制方面的能力,並且新語言非常簡潔、高效,里奇把它命名為C語言,意為B語言的下一代。
在開發C語言的同時,里奇和湯普生、布朗(貝爾實驗室的另一名科學家)還接受了一個新任務,就是在DEC PDP-7上開發一個多任務、多用戶的操作系統,1969年,他們用匯編語言完成了這個操作系統的第一個版本,里奇受一個更早的項目Multics的啟發,將這個系統命名為Unix。
為了在全世界面前展現C語言強大的能力,里奇用C語言把Unix操作系統重寫了一遍,這就是Unix第三版。而之前的第二版是用B語言開發的。1977年,為了推廣貝爾實驗室開發的Unix操作系統,里奇發表了不依賴於具體機器系統的C語言編譯文本《可移植的C語言編譯程序》,使C語言再向前跨出一大步,各種計算機都開始支持C語言。
1978年裡奇和布朗一起出版了《C語言》一書,從而使C語言成為世界上應用最廣泛的高級程序設計語言,而該書也成為計算機科學界最暢銷的書籍之一。里奇把全部精力都放到Unix、C語言、C++語言的應用和推廣上,曾在很多國家進行過教學和講座活動。2000年,他來到了中國,在北京大學和復旦大學進行了題為《貝爾實驗室與操作系統》的講演,為推動中國Unix/Linux的應用和發展貢獻了力量。
1983年,人們將計算機科學方面的最高榮譽——圖靈獎頒發給了里奇,以表彰他對計算機科學所做出的傑出貢獻。
C語言的特色
C語言是高級程序語言,也就是說程序員不必知道具體的中央處理器型號也可以為計算機進行程序編制。它主要用來進行計算機的程序設計。C語言具有高效、靈活、功能豐富、表達力強和移植性好等的特點,在計算機語言中備受青睞。
在程序能夠運行前,源代碼必須有編譯器編譯成機器語言。相對於匯編語言只能針對具體型號的CPU才能運行,C語言的便捷性是很明顯的。
C語言的主要特性
C語言保留了低級語言的特性,例如涉及內存的指針。
C語言通過參數在函數里傳遞數值。
使用了預處理機制,使得程序里可以通過包含例如宏處理的方式來處理源程序。
C語言提供了一套標准庫,這些庫里提供了十分有用的功能。
但是並不是所有的這些特性都是有效的。例如,預處理通常作為一個獨立的程序被處理,這使得與處理的程序並不一定被完全編譯。
雖然C是高級語言,但是它同時擁有一些匯編語言的特性,對其它的語言來說這是接近低級語言的特點。例如,在C語言里,程序員可以對計算機內存進行管理。在默認的情況下,C語言不會對數組的范圍進行檢查,也就是說即使數組越界,C語言也不會作出錯誤提示。對計算機內存的管理使得程序員可以變出更快捷、更有效的程序,這對於設備驅動程序來說尤為重要。但是這也使得程序容易產生令人討厭的「臭蟲」,例如緩沖器溢出錯誤。然而,這些錯誤可以由一些工具來避免。
C語言的不足可以由由C語言發展而來的更新的編程語言改進。Cyclone語言的擁有提防對於內存錯誤的特性。C++和Objective C提供了用於面向對象的編程結構。Java和C#增加了面向對象的結構使得對內存的管理自動化。
C語言的版本
K&R C
C不斷的從它的第一版本進行改進。在1978年,Kernighan和里奇的C編程語言第一版出版。它介紹了下面的有關C語言版本的特性:
struct數據類型
long int數據類型
unsigned int數據類型
把運算符=+改為+=,依次類推。因為=+使得編譯器混淆。
在以後的幾年裡,C編程語言一直被廣泛作為C語言事實上的規范。在這本書中,C語言通常被表述成"K&R C"。(第二版的包括了ANSI C標准)
K&R C通常被作為C編譯器所支持的最基本的C語言部分。雖然現在的編譯器並不一定都完全遵循ANSI標准,但K&R C作為C語言的最底要求仍然要編程人員掌握。但是無論怎樣,現在使用廣泛的C語言版本都已經與K&R C相距甚遠了,因為這些編譯器都使用ANSI C標准。
ANSI C和ISO C
1989年,C語言被ANSI標准化。(ANSI X3.159-1989)。標准化的一個目的是擴展K&R C。這個標准包括了一些新的特性。在K&R出版後,一些新的特徵被「非官方」的加到C語言中。
void函數
函數返回struct或union類型
void *數據類型
在ANSI標准化自己的過程中,一些新的特徵被加了進去。ANSI也標准了函數庫。ANSI C標准被ISO(國際標准化組織)採納成為ISO 9899。ISO的第一個版本文件在1990年出版。
C99
在ANSI標准化後,C語言的標准在一段相當的時間內都保持不變,盡管C++繼續在改進。(實際上,Normative Amendment1在1995年已經開發了一個新的C語言版本。但是這個版本很少為人所知。)標准在90年代才經歷了改進,這就是ISO9899:1999(1999年出版)。這個版本就是通常提及的C99。它被ANSI於2000年三月採用。
在C99中包括的特性有:
可變范圍的數組
新增加的數據類型,包括long long int,布爾類型和用於表示復數的類型
支持用//表示注釋(這個特性實際上在C89的很多編譯器上已經被支持了)
snprintf
但是各個公司對C99的支持所表現出來的興趣不同。當GCC和其它一些商業編譯器支持C99的大部分特性的時候,微軟和Borland卻似乎對此不感興趣
現在的很多高級語言都是與C語言不可分割的,比如C++,VC,或者說現在的高級平台.NET中的C# 等等 都是以C為基礎的
如果你想學高級的語言,不妨先把C語言學好,在掌握那些高級語言的時候就更容易一些
⑨ 學C語言真的很重要嗎
如果用得到的話還是學一點比較好~~要是只是為了考級的話,簡單了解一點就好了,不考級又不喜歡那就不用學了^_^
C語言是計算機專業基礎課,一般是入門語言,c語言學好了在學其他語言就很容易了~~
主要還是看你的興趣和需要了。
⑩ c語言在計算機學習中的重要性
如果學編程,那麼C很重要。
如果只是學計算機,不做編程的話,C沒用。
一、C語言是一種計算機程序設計語言,屬高級語言范疇。它既具有高級語言的特點,又具有匯編語言的特點。它可以作為工作系統設計語言,編寫系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬體的應用程序,代碼清晰精簡,十分靈活。
二、用處及意義:
1、java、.net、c++這些高級語言的基礎都跟c語言類似的 所以c語言是編程語言的基礎。
2、c語言用途非常廣泛,大到衛星導彈,小到一個計算器,都可以用C語言來實現。 現在學的只是C語言的基本語法,要做真正有用的程序,還要學很多東西,比如windows api,學了之後就知道怎麼用C語言調用Windows api畫窗口、按鈕、進度條等等,做出像QQ一樣實用的程序。
3、C語言只是一門計算機語言,說到底就是一種工具。它的用處就是可以用它編出能夠運行的程序來,而這些程序可以實現某些人需要的功能。人通過學習c語言也可以更加深入的了解計算機,所以很多人都把c語言作為計算機入門的第一門語言來學習,因為學習起來相對簡單一些。至於實際的意義,無非是多學會一門技能,更加深入對計算機的了解,為學習其他計算機語言打下好的基礎。