㈠ 自學c語言需要哪些基礎從哪裡學起
自學C語言需要一定的計算機和數學等方面知識基礎。
如何自學c語言:
1、首先需要一本講解c語言基礎知識的書本,按照上面的知識講解一點點的學習c語言;
2、需要在電腦上面安裝c語言編譯軟體,可以選擇vc 6.0++或者Microsoft Visual Studio等軟體;
3、自己編寫一些小程序,熟悉編譯c語言程序的過程,並且檢驗自己學習的成果;
4、試著寫一些稍大型的c語言程序,達到進階目的,比如俄羅斯方塊,貪吃蛇等。
㈡ 演算法導論是講c的演算法還是整個演算法。適合什麼時候看。我現在入門c語言。以後該怎麼個學習法。
講的當然是演算法的經典理論知識和方法,這些理論和方法用在其他編程語言仍然是通用的。當然書中可能會用c語言寫的代碼作為例子來講解。
學習一門編程語言和學習演算法是密不可分的,系統的演算法知識有助於編程語言的靈活運用,而一定的編程語言基礎又有助於更好地理解演算法的精髓。
如果你在學習C語言之前,有一定的編程基礎,那麼建議現在就開始學習演算法導論,這樣有助於你C語言的學習。
如果你無任何編程基礎,還是建議先從學習C語言開始,等有了一定的編程基礎之後再去學習演算法導論,才能讓你的編程能力更上一層樓。
㈢ 我想自學C語言 在學習之前 我應該先讀哪些書作為基礎有人說是《計算機導論》光著一本夠么
《C語言程序設計教程》;主編楊路明;北京郵電出版社;我用的這版教材內容編排上還不錯,可以參考一下;
㈣ 《演算法導論》和《數據結構與演算法分析:C語言描述 》哪個更適合新手,哪個更好......聽說翻譯都不
都很好,c語言描述的更適合新手,
演算法導論對你來說太難了,看完c語言描述,可以啃啃演算法導論
㈤ 學c語言有哪些好書啊,最好是帶演算法的
c語言的語法方面,就看《C專家編程》,《C陷阱與缺陷》
演算法方面的我就推薦《計算機程序設計藝術》和《算發導論》了,
我覺得學C語言先把語法看差不多,然後看演算法的時候用C多實現就好了
譚浩強的書只能當語法書看,學C++的話還是看《C++ PRIMER》吧
以前看到的網上推薦的編程書籍:
3、C++
C++程序設計語言(特別版)---c++八大金剛----Bjarne Stroustrup「C++之父」
C++ Primer (第3版)中文版----c++八大金剛---Stanley B.Lippman
C++ Primer (第4版)中文版----c++八大金剛---Stanley B.Lippman
C++標准程序庫—自修教程與參考手冊--c++八大金剛--Nicolai M.Josuttis
C++語言的設計和演化-----c++八大金剛----Bjarne Stroustrup「C++之父」
深度探索C++對象模型---c++八大金剛----Stanley B.Lippman
Essential C++中文版---c++八大金剛---Stanley B.Lippman
Effective C++中文版 2nd Edition-----c++八大金剛------Scott Meyers
More Effective C++中文版----c++八大金剛------Scott Meyers
C++編程思想(第2版) 第1卷:標准C++導引--------Bruce Eckel
C++編程思想(第2版)第2卷:實用編程技術 --------Bruce Eckel
C++程序設計--------------------------譚浩強
C++ 程序設計教程(第2版)--------------錢能
C++ Primer Plus(第五版)中文版---Stephen Prata
廣博如四庫全書The c++ programming language、c++ Primer
深奧如山重水復Inside the c++ object model
程序庫大全The c++ standard libray
工程經驗之積累Effective c++、More Effective c++、Exceptional c++
c++八大金剛:
1、Essentital c++---lippman---C++之父,旁枝暫略,主攻核心,輕薄短小,初學者
2、The c++ programming language----C++之父,技術權威,用詞深峻,思想深遠,c++網路全書代表
3、c++ Primer----lippman---縱橫書市十數年,c++最佳教本,c++網路全書代表。
4、Inside the c++ object model-----lippman----揭示c++底層,非常好,非常難。
5、Effective c++-----通過50個編程實例,展示專家經驗,行文有趣,深處淺出。
6、More Effective c++----通過35個編程實例,展示專家經驗,行文有趣,深處淺出。
7、The c++ standard libray---c++標准庫的網路全書。
8、設計模式:可復用面向對象軟體的基礎
4、c
C程序設計語言(第2版·新版)---C語言「倚天屠龍雙劍」---Brian W.Kernighan「C語言之父」
C Primer Plus中文版(第五版)--------C語言「倚天屠龍雙劍」---Stephen Prata
C程序設計(第三版)---------------------------譚浩強
C語言大全(第四版)---------------------------HERBERT SCHILDT
C語言介面與實現:創建可重用軟體的技術-------------DAVID R.HANSON
C語言參考手冊(原書第5版)--------------------------Samuel P.Harbison
C程序設計教程---------------------------------H.M.Deitel/P.J.Deitel
C陷阱與缺陷-----------------------------------Andrew Koenig
㈥ 學習c語言需要什麼基礎嗎 我現在買了本c語言的書,但是一點都看不懂,就像看天書一樣的,
首先:C語言入門相對比較簡單,但如果想成為一個優秀的C程序員,需要很艱苦的訓練,多讀代碼,多練習,多上機操作,多思考,學習是一件辛苦的事情,要放棄很多東西,要堅持下來才可以,可以說C語言是基礎,將來想學其他的C++,JAVA等,如果有C的基礎,還是比較好入門的.
C語言的用處比較廣泛,可以說任何精通計算機的人都掌握C語言了,我是本科計算機專業的,C被作為許多課程的先行課,沒有了C語言基礎,就不能學習數據結構,操作系統,編譯原理,計算機網路等核心課程,所以說,想學習計算機的話無論想在哪個方向發展(軟體,硬體,網路,應用,開發,設計等方向)都必須掌握C語言.
C Traps And Pitfalls 推薦讀,不過要有一定基礎。
如果你剛開始的話推薦C Primer Plus或者C In A Nutshell。
去書店買那種翻譯版的書,紅色皮的那種. 原著國外的.
如果可以直接看那種英文原版的(畢竟翻譯過來的有些詫異).
<21天學通C語言>(第六版)
Bradley L. Jones, Peler Aitken 著.
信達工作室 譯.
人民郵電出版社
這本書對初學者很好, 如果有點基礎那就更好了.
建議選擇譚浩強譚老師的書,簡單易學,理論與實踐結合的很好,而且如果能認真學的話,你會發現你的C語言基礎非常的實。
也不是說其他的書不好,但是有些書只是為了讓讀者入門,沒有前途呀。
先讀譚浩強的《C語言程序設計》,這是公認的中文入門級教材。但是書中的代碼風格不敢恭維。看完這本,推薦《21天學通C語言》,這本書比較好,個人感覺。看完這兩本,你就可以進階C++了。
C語言只要把基礎打好就好,你要是想精通的話,最好是精通C++,這樣比較有前途。但不要操之過急。
以下一段話是我給另一位初學編程的朋友建議的學習軌跡,你可以參考以下:
學習編程語言貴精不貴多,而且要循序漸進、有張有馳。
初學語言時,基本上都是從C語言入手。
一本譚浩強老師的《C語言程序設計》足夠。
不過在學習過程中請注意不要學習他老人家的編程風格!我不知道現在改版了沒有,反正我當年學這本書的時候,上面的代碼風格讓我極其崩潰。
良好的C語言代碼風格,可以參閱《21天學通C語言》等。
學C最多也就半年,感覺差不多了,做一個像樣的小項目,檢驗一下自己即可。然後就應該步入C++中。C++是一門值得深入研究的語言,仔細學進去你會發現它嗷嗷強大。其中也有許多經典的設計思想。入門級書籍推薦《C++大學自學教程》講的比較透徹,但很厚。進階級推薦《C++語言深入研究》等,就比較深奧了。高手級推薦《C++大師的沉思》等國外名著,講的很暈,呵呵。
Java是一定要學的,但如果不想在這方面發展,可以不學得那麼累。Java是發展最迅猛的語言之一,其技術更新之快,遠勝於我們學習的速度。學習Java的重點要放在學習她的思想上。學習面向對象思想,以及建築在其上的各種框架和架構的思想。學精C++之後再學Java,語法部分10天足夠,但思想部分就看你的悟性了。
追加建議:學過C++、Java之後,再回頭重溫C語言,研究一下用C語言如何實現面向對象的四大特性(抽象、封裝、繼承和多態)。這時你就會發現,哦,之前顯得如此神秘的東西原來是這樣的啊……
當以上三門語言你都經歷了一遍之後,就可以選擇自己所要進一步深造的方向了。那時候你已經心裡有數。而且這時的你學習任何一門其他程序設計語言都是手到擒來易如反掌。這就是基礎的作用。
<編程珠璣>-中國電力出版社
<程序設計實踐>-機械工程出版社
<實用c語言編程>-O'Rerly出版
<演算法導論>
㈦ 學c語言要有什麼基礎,我初中畢業,小學到初中的英語數學水平沒問題,想學應該先學什麼
我覺得你先明確你以後用C做什麼工作,偏重軟體編程還是偏重硬體編程。
如果偏硬體的話,還需要了解計算機硬體知識,象寄存器、存儲器、bit, byte,word,dword,埠,文件讀寫等方面的知識,估計還有可能牽扯針對不同的協議編程等。
如果偏重功能性軟體開發的話,就多學一些數據結構,演算法,資料庫相關,等方面的知道,側重點在邏輯功能的實現上。
另外,我覺得不管學什麼語言,邏輯是第一位的。你先有一些程序編寫的基礎後,可以嘗試做一些簡單的題目,比如做個簡單的數學運算,求個素數,判斷個年份是否是閏年等等之類的小應用,訓練自己的程序邏輯思維,明白寫程序先做什麼,後做什麼,中間做什麼。
建議你先找人幫你搭建一個C語言的編譯運行環境,初學者建議用Borland 的tc2.0(在DOS下運行的,可以到網上找一個叫DOSbox的模擬器,模擬dos環境,在其下安裝tc2.0),讓他能編譯運行程序。
然後按照錄入一個簡單的例子,使其能編譯運行;對應程序,去了解程序中所用的每行語句的含義,再去書中找相應的講解(估計開始時都不知道去哪找,慢慢來)。
初學編程是個慢活,急燥不得,有點耐心。
另外,看你下邊的追問,演算法不是C語言自帶的,是你自己設計出來的。
比如有個題目:
某水庫一年中5-10月為豐水期,11-4月為枯水期,已有歷年數據,要求給出枯、豐水期各月排水量,使水庫水量始終保持在可用水最大持有量,已保證生產生活用水。
這個實現演算法就要你自己去想辦法了。
㈧ 計算機專業都學些什麼
大致上分為兩個方向,一個軟體,一個硬體。但是並不是有完整的分界線。就像一個人,思想是軟體,軀體是硬體。很多搞硬體的也會去做程序設計,很多搞軟體的,也要讓軟體在某些設備上,比如機器人上跑起來。
硬體方面上:一般是電子硬體技術相關。經常需要設計一些硬體甚至是控制系統,當然也會設計到編程。
軟體方向上:可以講,氛圍很廣。從語言到技術,從前端到後台,甚至是整個操作系統都會設計。
有些東西是 很模糊的,比如說計算理論也是計算機科學裡面很古老的一門學科,但是這門學科算什麼呢?更多時候是在數學的角度上考慮計算機的計算能力以及可行行等問題上。
所以不如提一下計算機包含哪些課程。
一門語言,關於計算機編程相關的,比如c語言。
數據結構和演算法,這是計算機上編程的設計方法和藝術體現的地方。
計算機體系結構,這門課一般設計到計算機硬體是怎樣構成,整個體系結構如何設計。
計算機操作系統,這個是設計一個操作系統一般需要考慮哪些問題。
計算機網路,設計到計算機如何通信。
資料庫, 如何結構化存儲數據,設計資料庫的原則。
軟體工程,這個如何用工程學的觀點,設計,管理軟體。
信號處理,信號這東西,可以是一段音頻,可以是一符圖像,也可以是感測器採集來的信息,但是信號如何處理,變換,一個信號系統是什麼樣子。這門課應用廣泛,很很多學科的基礎。
計算機專業所學課程有高等數學、線性代數、概率與數理統計、普通物理、離散數學、計算機科學導論、C語言及程序設計、匯編語言、計算機組成原理、演算法與數據結構、操作系統原理、軟體工程、計算機網路與通信、計算機專業英語、編譯原理、資料庫系統原理等。
計算機專業所學課程都有什麼
主要都會學的有高等數學、線性代數、概率與數理統計、普通物理、離散數學、計算機科學導論、C語言及程序設計、匯編語言、計算機組成原理、演算法與數據結構、操作系統原理、軟體工程、計算機網路與通信、計算機專業英語、編譯原理、資料庫系統原理、面向對象編程技術(如:VB,c#,c++等)、JAVA、計算機維修技術、計算機系統維護技術、多媒體技術及其應用、演算法分析與設計、網路操作系統。
㈨ 聽說學C語言之前最好要先看一下計算機科學導論了解一下計算機的發展史
計算機C語言來開發性能驅動的開發,收集在UNIX上的軟體開發具有相對不錯的表現,但因為C語言是比較簡單的,這些軟體的開發難度比較大,現在隨著這些發展軟體一般是C ++了。
計算機C語言主要用於教學,因為C語言和類似的比較簡單和基本的C ++語法的語法,所以大多數學校會先教C語言,然後教授C的面向對象的一部分++。
有很多好處,類似於C和C ++的基本語法,學習C語言可以學習面向對象的C ++是一個組成部分。這樣的概率可以降低C ++的教學時,它們可以是多於一個的C語言課程。因為C字基礎,可以學習的過程中的數據結構(同時無需學習了C基本詞彙)減少壓力所學校的教學任務,
,但學生
接下來,也使得它更容易關閉拿到學分。
㈩ 大一計算機導論 學習心得
一篇好的學習心得,必須要結合自己的實際情況,深入的分析這門學科帶給你的感受, 如果一味的寫理論知識,是得不到高分的,我從網上搜索了一個大二學生學習計算機的心得,你可以參考一下,可以結合你自己的實際情況加以修改。
大一大二兩年軟體開發學習心得 出處:博客園
轉眼間在從大一踏進學校的校門到現在剛剛好兩年了,在這兩年裡面,有學到了不少東西,包括怎麼去獨立生活,怎麼去與人溝通,等等,當然最重要的還是學到了自己想要的專業知識。
大一的時候主要是學習計算機導論和C語言,對於急於想看到效果的我,C語言學起來就比較枯燥,因為C語言編寫出來的程序主要還是在命令行的操作,我很想開發出windows界面的軟體出來,但是沒有辦法,C語言是基礎,沒有這個基礎就往高處想,恐怕夢想不會那麼容易實現。所以我就認真的把C語言的基礎打好,先掌握好裡面的語法,程序控制邏輯和一些基本的演算法,說真的,盡管是比較枯燥,但是一旦陷入了編程中,自然就會發現其中的快樂。
大一第二學期的時候開始接觸NIIT的課程,平時雖然一點作業都沒有,但是我上課的時候不是那麼認真聽課的人,所以課後總是要花時間來看看和理解老師上課的例子,在這個學期中,我們主要學習了C++和Java,都是剛剛開始接觸到面向對象的語言中來,由於對一些面向對象的特性不熟悉,畢竟是剛開始接觸這方面的語言,所以學起來就有點吃力,再加上平時實踐的時間比較少。
終於到了學期的期末,學期期末的項目是使用Java語言開發一個網路的聊天室,在我還沒有開發之前一聽到這個項目,我做夢都沒有想到我可以編寫出一個聊天室出來,但是既然是課程提出來的項目,就一定有它的理由,我也相信最後一定也可以完成它。功夫不負有心人,經過接近一個月的研究,我總於完成了我來到學校的第一件作品。在這個月中,我不斷得查閱資料,詢問老師,平時和同學多交流,終於在最後的評審中,我獲得了全班第二的好成績。通過這個學期的開發中,我幾乎把整個學期學到的知識都用到了我的聊天室裡面,所以在實踐中也等於復習了這個學期所學的內容,而且我發現這樣的實踐,比我在平時課後看書,看資料所學到的還多。
大二的第一學期,進入了資料庫和高級Java的學習,說真的,在學資料庫的那段時期是最煩的,因為每天就學了一大堆SQL的語言,非常的枯燥,都是關於怎麼去查找數據表格裡面的內容,那是時期,因為課堂上聽課了之後覺得都是比較簡單的,所以課後很少去動手。到了後來項目開發中,我才發現資料庫的重要性,整個系統的信息都是存儲在資料庫裡面的,所有的在程序中對數據的操作都是等同於對數據的增刪改查詢操作。
在期末的項目中,根據項目所要求的內容,我不斷翻看以前沒有掌握好的資料庫知識,感覺如果我前面有認真學習的話,到了後面開發項目的時候就不會那麼吃力了。對此,我總結出,如果在前面學資料庫的時候不要單純學習SQL的語言,把資料庫和程序結合起來,如果老師的講課的過程中可以說清楚資料庫怎麼綁定到程序中去使用的話,那麼我想對於我來說我會更加有興趣去學好資料庫,因為只要在程序開發中才可以去體驗資料庫的魅力和重大的作用。
在學期末的J2EE開發電子商務網站中,我學到了很多關於怎麼製作動態網頁的一些必要元素的基本的原理,體會到軟體設計在網站開發中的重要性。
轉眼間來到了大二的第二個學期,可以說在這個學期中,是我最有感觸,學到最多知識,達到質的飛躍的一個重要學期。有了前面幾個學期的學習基礎,我對面向對象語言已經基本掌握清楚,運用起來也覺得沒有什麼特別困難,基本已經入門了,這個學期主要是進入了.net的學習。
好的開發工具是保證效率的一個重要因素,Microsoft Visual Studio .NET 2003就是這樣的一個開發工具,令我剛剛一接觸就深深得愛上了它,它的易學易用令我對編程的興趣倍增,以前學習Java之所以見效不大是因為沒有好的開發工具和環境,總是在環境配置中浪費大量的時間,而真正的涉及到編程很少,所以這也是我以前為什麼學起來沒有那麼有興趣的原因。
我覺得學編程就應該學習它的思想,編寫代碼就應該盡量避免寫出與邏輯無關的代碼,比如界面代碼可以讓機器去自動生成不必浪費時間手動去編寫,所以好的開發工具可以幫助我們做到這一點,只編程邏輯代碼,很多代碼都可以讓機器去自動生成。在.net就可以快速地開發既有漂亮界面也有強大功能的程序。有了這么好的開發工具,所以令我頓時感悟,有種相見恨晚的感覺。
有了好的開發工具後接下來要做什麼呢,當我們為之興奮的時候,當然是很有慾望去做出某某自己很想做的東西,因為你一拿到好的開發工具,就會整天的陷入開發狀態,對其愛不釋手,一開始我是試著開發一個Flash播放器,感覺編寫起來不是編寫起來不是那麼難,因為前面已經有學習Java的經驗了,初次學習.net的時候選擇編寫Flash播放器也是有理由的,一方面是程序比較簡單,另一方面的涉及到的控制項和界面比較多,所以一開始接觸這樣的語言就首先學習怎麼去調用.net平台上提供的控制項,只要掌握好這些控制項,以後編寫windows界面的控制項就簡單很多了。
經過幾天的時間,終於把Flash播放器做出來了,以後想Flash影集的時候都用自己開發的播放器進行播放,感覺別有一翻滋味,因為這就是為自己量身定做的,這就使我再一次感覺到開發的樂趣。
每年的11月份都有一個高校杯的軟體設計大賽,這時間正到了5月,我們屈指一算,離比賽的時間還有6個月的時間,這段時間我正處在開發的興奮期,所以對這個軟體設計比賽就感興趣起來,第一是可以知道自己的編程程度和其他人的距離,第二是可以利用這個一個項目實踐來鍛煉自己的開發技能,第三是可以鍛煉團隊的合作。以前幾乎都是自己開發的軟體,很少和其他人合作,所以就令我想到這種開發模式將來帶到工作會另自己處於不利的地位,現在不是都講究團隊的合作么。
經過思考後,我找來另外的兩個志同道合的同學,利用五一放假的時間想好主題,還有進行需求分析,最後定下來「多媒體日記本」這一項目。定好題目後我們就進行了分工,一個人負責資料庫方面,一個人負責界面的美化和界面的布局,另外一個負責功能的實現,分好工後我們立刻就展開了工作,在合作的過程中,我們學到了許多課本上沒講的或者只是粗略帶過的知識,有些特別的技術難點還要到網上去搜索,查閱有關的資料,在語言方面我們幾乎把.net裡面的基本框架和特性都用上了,這樣對於我們學習就達到了事半功倍的效果,邊學邊做學到的知識可以很快吸收,又可以很快得運用的實際中去,這是我通過這個項目感觸最深的。很快就到了期末,學校舉行「IT精英杯」軟體大賽,我們小組終於不負眾望,拿到了一等獎的好成績。
經過這次我比賽我總結出心得,首先比賽的題目要定好,一方面是開發的軟體要有實用性和市場前景,另一方面還要在實用性上加上點創新,給人耳目一新的感覺,我覺得只要先抓住好這兩點,做出來的軟體才會給人留下好的印象。
利用暑假的時間,我又參加系裡面組織的軟體工程培訓,又一次在開發項目中學到了許多許多看書只能朦朧懂的知識。
轉眼間大三第一個學期就開學了,回顧這兩年來學習軟體開發的經歷,寫了這樣的一遍心得,一方面算是對自己的總結,另一方面也可以拿出來給大家參考和交流。最後我還是要再歸納一次,總結出如何才可以比較容易地進入學習狀態達到快速開發的目的。
1. 打好基礎,掌握好C語言C++基礎的語言,對學習數據結構和演算法有很大的幫助。
2. 面向對象是高級也是最流行的語言,所有的面向對象語言幾乎都是通用的,結構和特性都差不多,只要掌握和歸納好它們的一些共同的特性,哪怕將來轉向其他的語言都是輕而易舉,得心應手,達到融會貫通的效果。
3. 好的開發工具是你提高開發效率,提高編程興趣的前提,學習語言的過程中還應該研究怎麼利用開發工具有效地提高開發的效率。
4. 善於總結,在開發過程中我們可以總結出許許多多規律性的東西,這些規律一方面可以讓我們避免在以後的開發中犯同樣的錯誤,另一方面對我們掌握其他的規律都是有所幫助的,規律都是交叉在一起的。跟著規律走,實事求是。
5. 項目開發是最好的學習方法,這一點是我最有感觸的,軟體開發是實踐性很強的活動,但靠理論知識學起來比較吃力,而且枯燥無味,學習種理論學習和開發實踐的比例應該是1:2,而且是交叉進行。這樣才可以比較快的掌握一個知識點。
6. 團隊合作,現在的項目幾乎很少一個人去完成,頻繁的溝通和密切的配合是成功的必要條件。