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

學計算機的浪漫c語言

發布時間: 2022-05-26 00:30:55

1. 大學計算機專業里 的c語言是什麼

計算機專業里 的c語言:
C語言是1972年由美國的Dennis Ritchie設計發明的,並首次在UNIX操作系統的DEC PDP-11計算機上使用。它由早期的編程語言BCPL(Basic Combined Programming Language)發展演變而來,在1970年,AT&T貝爾實驗室的Ken Thompson根據BCPL語言設計出較先進的並取名為B的語言,最後導致了C語言的問世。 而B語言之前還有A語言,取名自世界上第一位女程序員Ada(艾達),同時也是編程語言之一。
知識擴展:
c語言的特徵:
1、C是高級語言:它把高級語言的基本結構和語句與低級語言的實用性結合起來。工作單元。
2、C是結構式語言:結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰,便於使用、維護以及調試。C 語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控製程序流向,從而使程序完全結構化。
3、C語言功能齊全:具有各種各樣的數據類型,並引入了指針概念,可使程序效率更高。而且計算功能、邏輯判斷功能也比較強大,可以實現決策目的的游戲。
4、C語言適用范圍大:適合於多種操作系統,如Windows、DOS、UNIX等等;也適用於多種機型。C語言對編寫需要硬體進行操作的場合,優於其它高級語言,有一些大型應用軟體也是用C語言編寫的。
5、C語言應用指針:可以直接進行靠近硬體的操作,但是C的指針操作不做保護,也給它帶來了很多不安全的因素。C++在這方面做了改進,在保留了指針操作的同時又增強了安全性,受到了一些用戶的支持,但是,由於這些改進增加語言的復雜度,也為另一部分所詬病。Java則吸取了C++的教訓,取消了指針操作,也取消了C++改進中一些備受爭議的地方,在安全性和適合性方面均取得良好的效果,但其本身解釋在虛擬機中運行,運行效率低於C++/C。一般而言,C,C++,java被視為同一系的語言,它們長期占據著程序使用榜的前三名。

2. 自學計算機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語言必須從以下四點入手,也就是說,只要你能掌握這四點的內容,那麼基本上就大功告成了。

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少一個循環。

3. c語言浪漫代碼

#include <stdio.h>
int main()
{
int i, j, k, l, m;
char c = '*'; //ASCII碼裡面 3 就是一個字元小愛心
for (i = 1; i <= 5; i++)
printf("\n"); //開頭空出5行
for (i = 1; i <= 4; i++)
{ //前3行中間有空隙分開來寫
for (j = 1; j <= 32 - 2 * i; j++)
printf(" "); //左邊的空格,每下一行左邊的空格比上一行少2個 //8*n-2*i
for (k = 1; k <= 4 * i - 2; k++)
printf("%c", c); //輸出左半部分字元小愛心
for (l = 1; l <= 17 - 4 * i; l++)
printf(" "); //中間的空格,每下一行的空格比上一行少4個
for (m = 1; m <= 4 * i - 2; m++)
printf("%c", c); //輸出右半部分字元小愛心
printf("\n"); //每一行輸出完畢換行
}
for (i = 1; i <= 3; i++)
{ //下3行中間沒有空格
for (j = 1; j <= 22 + 1; j++)
printf(" "); //左邊的空格 //8*(n-1)+1
for (k = 1; k <= 31; k++)
printf("%c", c); //輸出字元小愛心
printf("\n"); //每一行輸出完畢換行
}
for (i = 7; i >= 1; i--)
{ //下7行
for (j = 1; j <= 38 - 2 * i; j++)
printf(" "); //左邊的空格,每下一行左邊的空格比上一行少2個//8*(n+1)-2*i
for (k = 1; k <= 4 * i + 1; k++)
printf("%c", c); //每下一行的字元小愛心比上一行少4個(這個循環是i--)
printf("\n"); //每一行輸出完畢換行
}
for (i = 1; i <= 38; i++)
printf(" "); //最後一行左邊的空格
printf("%c", c); //最後一個字元小愛心
for (i = 1; i <= 5; i++)
printf("\n"); //最後空出5行
return 0;
}

4. 計算機c語言怎麼學

我是學軟體工程的,C語言是我們的基礎,在我認為如果是為了考國二,多注重理論,稍微練點上機就可以了,如果真的想把C語言學好,並想做點東西的話,我覺得應該要買一本經典的書,外國的最好,如果是英語好的話最好看英文版的,因為那個是最最最經典,如果英語不好就看一個翻譯過來的也挺好,然後必須每學一章不斷的進行鍛煉,這個是想學好語言的最好方法,只有自己動手做了,才會有極大的進步,不出一個月,我相信你會成功的。

5. 自學計算機C語言

在CSDN上就有,要自學C語言的話,光是教學視頻和教學軟體是不夠的,一般的教學視頻上面精簡度很高,他會把主要問題講一講,可你沒有基礎,再說你沒有跟視頻上配套的教材,聽了你也不會明白他講的是什麼,就算你聽明白了,也只是東一塊西一塊的,不能成體系。最好還是要有本教材, C 語言的話 個人感覺還是清華大學出版社出版的 譚浩強主編的《C語言程序設計》寫得比較好。因為比較簡單,講得比較基礎,知識點也比較細。作為學過那本書的前輩,我感覺,那本書的最大的特點就是,字體比較大,比較稀鬆簡潔,看上去比較舒服,不會讓人一看就害怕了。我看過好像是西安電子科技大學的一本教材,密密麻麻的,還都是程序,一看就害怕了,想學的勁一下子就沒了,當然這只是個人感覺了。不過你放心,知識點什麼的,那本教材不會少。要運行C語言只需要下載 visual c++ 6.0或 visual studio 2008就行,這些都能運行C

6. 學習計算機的C語言前需要安裝哪些

C語言學習准備工作

工欲善其事,必先利其器。在開始學習C語言之前,需要先做點准備工作。

編程需要電腦

學習電腦技術,尤其是學習編程,最好最有效的方法就是上機實踐。所以,一台可以方便使用的電腦當然是不可少的,如今,這對於多數人應該不是個障礙了。

有人可能會問,學習C語言需要准備個什麼樣的電腦,要什麼配置?這個問題好回答,C語言學習對電腦硬體配置很低,基本上現在能見到的任何PC都足夠滿足學習之用了。不過,為了學習更方便高效,該電腦最好具備以下條件:

1.需要一個操作系統,如果是電腦新手,可以選擇Windows,這樣使用比較容易些
2.需要一個C語言編譯器
3.最好能上網,方便看C語言教程,查資料...

C語言編譯器選擇

如果你使用的是Linux,恭喜你不需要選擇了,一般的Linux發行版都帶gcc/g++編譯器,只要在安裝時將它選上即可,如果沒裝,就需要下載一個安裝包重新安裝了。

如果你在Window下工作,那也恭喜你,Windows很方便強大,編譯器的選擇很多,下面三藏介紹幾個常見C語言編譯器:

■Dev-C++: 三藏認為,Dev-C++是C語言初學者的最佳選擇,因為它簡單小巧而不乏強大。三藏現在使用的是Dev-C++ 5.0 beta 9.2 (4.9.9.2)漢化版,整個安裝包還不到10M,安裝過程很傻瓜不必羅嗦,需要注意的是很多漢化版中都帶有插件(比如網路搜霸),如果你也象三藏一樣不喜歡流氓插件,需要安裝時將其勾選消掉(隱藏在組件選擇的最下部,沒有明顯提示)。
■Win-TC: Win-TC是一個基於Borland公司的TC2編譯器的C語言IDE(集成開發環境)。優點是夠簡單,主要就是程序的編輯和編譯功能,不用可以學習就能使用。缺點是每次編譯完成都彈出一個多餘的對話框,有些煩人;另外三藏在測試「hello,world」程序是發現有點異常,對軟體的正確性不大確定,所以不特意推薦使用。
■TC2/TC3: TC曾是DOS年代最佳的C語言編程學習環境,但到如今,據說還有的學校讓學生在TC下折騰,這就讓三藏非常不解了。過去的就讓它過去吧,所以TC就不用再談了,毫無必要!
■VC6:VC6的強大與輝煌是勿庸置疑的,但正因為它太強大而致有些復雜,所以它不是C語言學習的最佳選擇,因為太多的IDE功能會對初學者帶來疑問和困惑,讓人覺得不是你在用它,而是它玩你。注意:只是說它太適合新手用來學習C語言,沒有否認它是最強大的Win程序開發工具之一。
■VS2003/2005/2008: 對初學者不特別推薦,理由同VC6。
注意:

1.多數C編譯器同時也是C++編譯器
2.TC,VC等不是編程語言,而是一個編程工具軟體

7. 計算機學的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程序設計的教學工作涉及的因素很多,如果以項目來驅動教學,首先讓學生樹立面向工程的思想,其次把教學從單一的「結構化程序設計」向「結構化與面向對象並舉」轉變,最後特別要培養學生養成良好的編碼風格,從而使他們學會能夠「干什麼」,那麼我們認為教學目的就達到了。

8. 怎樣學C語言

我是學計算機專業的 給你一些建議!

首先:C語言入門相對比較簡單,但如果想成為一個優秀的C程序員,需要很艱苦的訓練,多讀代碼,多練習,多上機操作,多思考,學習是一件辛苦的事情,要放棄很多東西,要堅持下來才可以,可以說C語言是基礎,將來想學其他的C++,JAVA等,如果有C的基礎,還是比較好入門的.

C語言的用處比較廣泛,可以說任何精通計算機的人都掌握C語言了,我是本科計算機專業的,C被作為許多課程的先行課,沒有了C語言基礎,就不能學習數據結構,操作系統,編譯原理,計算機網路等核心課程,所以說,想學習計算機的話無論想在哪個方向發展(軟體,硬體,網路,應用,開發,設計等方向)都必須掌握C語言.

關於C語言的教材:我向你推薦幾本:
最經典的:《C程序設計語言》第2版,機械工業出版社
這個是C語言的設計者和UNIX系統的設計者合作編寫的最經典的C語言教材,原書名叫《The C Programming Language》當然,這本書不太適合0起點的人,看這本書之前最好把《C程序設計》(譚浩強,清華大學)看了,老譚的書銷量突破700萬冊了,雖然比較舊了,也不太符合新標准(現在出第3版了,也還是)但是,入門還是不錯的選擇。

另外還有必看的是《C Primer Plus》這個是一個美國人寫的,人民郵電出版社出了中文版了,第5版,比較厚,磚頭書,60元。但是非常適合初學的人,非常詳細。

還有《從問題到程序——程序設計與C語言引論》機械工業出版社,這本書也很不錯。

看完這些,就可以看演算法的書了,比如數據結構什麼的,這方面的書很多。如果想在程序界發展,那麼有部重量級的著作不得不看《The Art of computer programming》一共三卷,有翻譯版《計算機程序設計的藝術》這三卷書非常深,比較難,蓋茨說,誰如果把這上面的習題都做對了,直接可以到微軟上班了。

另外學習C語言要養成良好的程序風格,這點一定要注意練習!

9. 如何學習計算機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數據結構,窮舉查找和折半查找。所以掌握好數據結構和一些常用演算法,是登峰造極的必然之路。最後給大家推薦嚴尉敏的《數據結構》清華大學出版社,希望每一個想成為程序設計高手的人研讀此書

10. 計算機c語言入門

學c++吧。
Essential C++
C++ Primer
Accelerated C++: Practical Programming by Example
以上的三本書是我最推崇的C++教程,我對它們進行過細心的閱讀,感覺受益匪淺,因此也不遺餘力地向你推薦。

《Essential C++》(《Essential C++中文版》,華中科技大學出版社,2001)出自久負盛名的《C++ Primer》作者之一Stanley E. Lippman之手。的確有很多人對這個大師級的人物竟然寫這樣一本面向零基礎的輕薄短小的入門教材感到不可理解。Lippman自己的解釋是在參與一部電影的製作時(他擁有藝術碩士的學位!),他由於某種需要必須學習Perl語言,在學習的過程中他「在感傷的心境中明白」,C++ Primer無法扮演初學者導師的角色,那本書太龐大復雜了——對於那些想立刻學會C++語言並進行簡單應用的人來說。於是他便有了這本並不太精細卻體現語言核心的著作。這本書完全面向零基礎讀者,您可以對編程一無所知,《Essential C++》仍會引導您走向用C++編程之路,正如它的貼切的書名中所說的,它體現了C++的精髓(腳註:essential,精髓的、本質的)。

《C++ Primer》(《C++ Primer中文版(第4版)》,人民郵電出版社,2006)是一本龐大復雜的C++書籍,由三位世界級的大師Stanley B. Lippman、Josée LaJoie、Barbara E. Moo合力打造。雖然它的書名可以翻譯為《C++入門》(腳註:primer,初級讀本、入門(書)), 但這本書真得有點「名不副實」,這本英文版有912頁的厚書詳細地介紹了C++的方方面面和點點滴滴。然而,閱讀C++ Primer這本講解地很深入的教程的確也不需要什麼准備知識。不過由於這本書的復雜性,讀完Essential C++做基礎再讀本書卻是更多人的選擇。如果您想從零開始深入的學習C++,或者您在學習C++的道路上遇到了什麼疑難,C++ Primer肯定會幫助您。另外,本書目錄和正文中關於名詞術語的中英文對照就是參照C++ Primer的附錄完成的。

《Accelerated C++》(《Accelerated C++中文版》,中國電力出版社,2003)是另一種風格的C++教程。兩位作者Andrew Koenigh和Barbara E. Moo是C++圈子裡少見的夫婦搭檔,Barbara的參與給本書帶來了一種清新細膩的女性化風格。這本書同樣也是適用於零基礎的讀者,同樣輕薄短小,但卻從最基礎的程序語句一路講到了STL的使用,知識密集度極高,並有很多例子。正如書名所說的,此書極有加速度(accelerate)。書中的某些習題也頗有難度、值得思考。但要注意的是據說本書的中文版(我沒看過)的翻譯有許多微瑕,請謹慎購買。

最後額外說一句,我在互聯網上得到消息說C++之父Bjarne Stroustrup正在寫一本C++大學教程。相信這個世界上對C++的理解沒有人比Stroustrup更透徹,他的C++著作想來應當質量極高。如果這本書創作完成並出版了的話,相信會是給C++入門者不可多得的教材。

Ivor Horton's Beginning ANSI C++: The Complete Language
Problem Solving with C++: The Object of Programming
C++ Primer Plus
Professional C++
Absolute C++
C++ How to Program
You Can Do It: A Beginner's Introction to Computer Programming

上面給出書名的幾本書是我推薦的C++教程的第二梯隊,它們大部分是近兩年才出版的新書,體現了最新的C++教學方法研究的成果。但事實上我並未完整閱讀過這些新出的入門書籍,它們入選這個清單是因為它們在C++這個圈子裡的名氣。關於這些書的評價我參考了很多負責任的書評,並選擇性地閱讀了這些書的某些部分以進一步核實,這些評價應該是客觀、中肯的。

驕傲的Ivor Horton將自己的名字寫入書名《Ivor Horton's Beginning ANSI C++》(《C++入門經典(第3版)》,清華大學出版社,2006)。而據說這本經典的C++教程滋養了無數C++程序員。這本書的特點是結構嚴謹、內容詳實,具有「學院派」一絲不苟的風格。若您的學習習慣是一點一點的建立一個嚴密的知識體系,那麼本書很適合您。

《Problem Solving with C++》(《C++面向對象程序設計(第5版)》,清華大學出版社,2005)是Walter Savitch教授根據教學大綱精心編寫的著作。它的特點是採用了很多便於讀者鞏固所學知識的教學特徵、在網站上提供了許多課件類的支持材料,十分適宜於在課堂上進行雙語教學。它的一大特色是可以自主決定主題的學習順序,具有面向學生的易用性。

《C++ Primer Plus》(《C++ Primer Plus(第五版)中文版》,人民郵電出版社,2005)享有「程序員和開發人員學習C++的完整教程」的美譽。可見它面向的讀者群是「程序員和開發人員」,這當然會影響它的寫作風格和側重點,也就是這本書可能適用於有一定基礎、至少學過一門編程語言(如Pascal)的人群。如果您的目標與此書的讀者群接近,那麼這本書很適合您。

《Absolute C++》(《完美C++教程(第1版)》,清華大學出版社,2005)的作者也是創作了多本暢銷書的Walter Savitch。它的編排特色是循序漸進、介紹了統一建模語言(UML)和模式以體現軟體工程領域的最新趨勢、特別設立了「提示」和「陷阱」兩個小節。它似乎是與《Problem Solving with C++》相補充、適合於自學的一本教材。

《C++ How to Program》(《C++編程金典(第三版),清華大學出版社,2002)是暢銷書作家Harvey M. Deitel和Paul J. Deitel兩位父子的作品。雖然我並不相信這本書像宣稱的那樣是「全球使用最廣泛的C++經典程序設計教材」,但這本書的確也被很多人所推崇和使用。其特點有注重案例分析、廣泛使用了UML圖等,分布在各章的「對象思想」、「案例分析」、「常見編程錯誤」、「良好編程習慣」是其特色部分。另外,據說書中的自測和練習很有水準。

《You Can Do It!》(《You Can Do It——C++編程新手互動教程》,人民郵電出版社,2005)的作者Francis Glassborow是一位很有性格的C++專家,他曾對很多負有盛名的C++入門類教材進行過不留情面的批評,而他本人操刀創作的這本C++教材卻在出版之後大受好評。這本書的最大特色是作者在寫作過程中利用本書對一位從未接觸過計算機編程的家庭婦女Roberta進行了從零開始的C++教學,保證那位家庭婦女按照本書提供的內容能夠達到作者設置的目標,如果達不到目標則會重寫相應的部分。(註:這很像白居易的做法,不是嗎?)Roberta閱讀後的反饋意見和疑問以及作者詳細的解答也包含在書中,相信同樣第一次學C++的您很有可能會對這些內容感同身受。

關於C++語言入門教程的介紹就到這里。你可能會產生疑問:為何沒有介紹任何一本以中文寫作的C++入門教程?這樣除去了那一層翻譯的「隔膜」,不是更有助於初學者理解嗎?事實上,國內對於C++教學的研究水平特別是教材的水準與國外差距太大。例如國內大學課堂上用的那些C++教材,它們的編寫思路陳舊甚至僵化,沒有一本能真正令人滿意。這些教材幾乎都是將C++作為「更好的C」來理解和講述。(腳註:這個理解在1985年之前還是基本正確的。那時,模板、異常處理,還有更激動人心的STL等都還沒有成為C++的一部分。然而,隨著時間的推移,在擁有了眾多用C根本無法模擬或實現的特性之後,C++已經全然成為一門新的語言,C只成為了C++相當小的一個子集。)對於C++最重要的區別於其它編程語言的特性——模板,這些教材中最多是「言簡意賅」地提到了一下;而C++最強大的武器——STL,這些教材中根本題都未提。也就是說,先不論這些教材的質量如何,它們中沒有一本能做到全面、完整地介紹C++!