⑴ 重那裡開始學c語言 編程以及數據結構
如果是自學的話,最好不要看潭浩強的書,他喜歡用數學公式做例題,不適合初學者或自學。
其實潭浩強的書並不怎麼樣,比國外的教程差遠了,只是國內高校缺乏創新意識,跟風現象嚴重,從高校到職校,《C程序設計》幾乎人手一本,這才創下了「發行量第一」現象。而且潭浩強已公開表示:不再就他的書回答任何技術性的問題!這分明是對自己技術沒信心、落後於時代的表現。
國外教程:
《21天學通C語言》
《C語言三日通》(很多人國外自學者都是看了這本書才入門的,所用的例題簡單易懂)
再介紹以下兩本真正經典的教材:
1.《The C Programming Language》
2.《Expert C Programming --- Deep C Secrets》
學習c#
1.《C#入門經典》(找.NET版本大於或等於2.0的) wrox出版社,如果可以找人幫助你走過調試一步,這本書兩個月應該沒有問題
2.《C#高級編程》 wrox出版社,這本書要三個月左右吧
3a.《面向對象的系統分析》、《面向對象的系統設計》紹維忠,這兩本書有一定難度,看你自己的悟性了,不過不必深究,了解思想為上,看情況用一兩個月吧。
3b.《演算法導論(第二版)》MIT,這本就當聖經用吧,長期,數學不行,這一本也是應該掌握的,裡面數學知識比較有限,如果還想有更長遠的打算,數學不補是不行地。
4a.《C#設計模式》(或《企業應用架構模式》、《設計模式》ERICH GAMMA, RICHARD HELM, RALPH JOHNSON, JOHN VLISSIDES,俗稱四人幫),這本書一定要深入學習,
5a.軟體工程和軟體測試相關的書箱做大致了解,相信此時你已經完全具備了自己判斷的能力。
另外,學習計算機最好知識全面一點,有一個考試是帶職稱的,叫軟體水平考試,可以從程序員級別考起,然後考個軟體工程師(這個相當於計算機系碩士畢業後的職稱),如果有實力,再考個架構師。這個考試的內容是比較全面的,可以提高綜合的計算機素質。
還有,下載一個叫C#編程規范的東西,照上面說的做,沒錯的,可以改變你的思想。
英語建議你千萬不要放下,多讀些英漢對照,每本至少讀兩遍,多讀長篇小說,盡量不要看中文內容。這樣英語水平提高較快,在學習完高級編程之後,自己可以有選擇地看一些原版教材,其實《C#設計模式》《演算法導論》就有英文的
學習數據結構
數據結構與演算法
作者:辛運幃,劉?,陳有祺 著
出版:高等教育 出版日期:2006年08月
本書是數據結構與演算法設計的教材,其宗旨是將數據結構與演算法設計有機地結合起來,向讀者系統介紹了數據結構的基本概念及主要的演算法設計方法。全書共分9章,第1章介紹了數據結構的基本概念,第3~8章分別介紹了線性表、串、棧、隊列和數組、樹結構和圖結構以及查找和排序等數據結構的相關知識,在第2章簡單介紹演算法概念的基礎上,第9章詳細介紹了幾種演算法的設計方法,並給出實例具體說明設計過程。書中主要演算法都用C++語言寫出,並給出了詳細的註解。本書概念清楚,選材精練,敘述深入淺出,用了大量的例子和圖表來說明
還有很多,其實樓主去搜一下,有很多,但這些書我們怎麼能看完呢,誰也看不完,所以選好一本,就認真的看下去,編程這個東西,要好好研究的,並且要試著自己寫程序,多看一些視頻教程吧!視頻教程會對你有幫助的!!最後,祝樓主好運!!!
⑵ 怎樣學習計算機語言
我是學計算機專業的,剛上大學就是學C,一般都是從C開始學起!雖然現在的一些軟體大部分不是用C語言來編寫的,但是C並沒有過時,C是一種比較基礎的語言,也比較容易入門。學好了C你再去學C++就比較容易了,因為C和C++有很多地方相似。學好了C++再去學java語言又是比較容易了。但是有一點要注意語言只是一種工具,要想學好編程只要精通一到兩種編程語言就行了,沒有必要學這么多。關鍵是學習編程的一些思想,思維!這才是最重要的。就像是寫文章一樣光認識這么多字而不知道怎樣去組合這些文字是寫不出好文章的!
一般學計算機專業的都會開C語言程序設計,C++,數據結構、計算機網路、資料庫原理、操作系統、計算機組成原理等這些課程!剛入門推薦你用譚浩強的C語言程序設計、C++和嚴慰敏的數據結構。像這些教材在淘寶,當當網上都有的賣。匯編語言只是一種低級語言,它多和硬體聯系在一起,學軟體這一方向的可以不必學那麼好。
要想成為高級軟體工程師並不是那麼容易的。還是那句話想學好編程就要學好編程的一些思想思維,數據結構其實就是一些演算法,就是編程的一些思維方法!因此一定要學好數據結構這門課。在C語言中對初學者而言指針是比較難學的。一開始學的時候編不出程序不要緊可以多看看別人寫的代碼,看多了自然就會了!要想提高編程能力在課後要多試著編寫一些簡單的程序。
Windows 7和Ubuntu 10.04是用什麼語言編寫的我不太清楚,因為像這種大型的軟體都是靠很多人一起共同編寫的!
上網沒事的時候可以多去逛逛計算機吧!裡面有很多關於計算機方面的資料!
最後提醒一點,要想學好編程,數學必須要好!像高等數學,線性代數,離散數學,概率論這四門數學課程要好好學啊!
最後我還是希望你能記住學好編程關鍵是要學習它的一些思想,思維!語言只是一種工具而已。希望你能成功!
⑶ 如果想學計算機程序設計與演算法,該從哪兒入手
首先呢,建議先對操作系統做一點點了解,然後直接去學C語言吧,從C語言開始,等你覺得C差不多了,我想,那時候你應該知道自己喜歡學什麼語言了,不支持一開始就學其他的語言,C很基礎
⑷ 自學編程應該從哪裡學起
自學編程應該:
1、建議學習 python。Python 基礎語法內容較為簡單,可以比較快的了解編程的思維習慣,並能夠較快接觸到 Python GUI庫(比如Tkinter),很容易借用這些庫開發出一些有趣的程序。同時 Python的縮進格式也比較嚴格,這也很好的讓編程初學者養成一個良好的編寫代碼習慣。
在美國有很多編程初學 Python的書籍,其受眾就是小學、初中的青少年,比如《Python for Kids》,這些書籍一個很大的特點就是圖文並貌,並且很快引入圖形庫的學習,教會小朋友製作出一些圖形和簡單的游戲,比如畫星星,彈球。這樣的好處是激發小朋友學習編程的樂趣,讓小朋友從小就感受到編程的魅力。
2、讀大一零基礎學編程
上學習編程的首要任務是學習電腦的基礎操作,熟悉鍵盤,讓自己對電腦有初步的了解認識。至於理工科專業的學生大一估計都會教《計算機科學導論》這樣類似的課程,如果想盡快編程,學生應盡快將該書內容看一遍,讓自己對計算機有一個整體的認識。
C語言,建議使用 《C Primer Plus》,英語好的同學可以直接看英文版,注意該書不是《C++ Primer》,《C++Primer》可以在 C語言學的有一定基礎的時候看。當學完《C PrimerPlus》之後,可以對演算法的知識學習,有精力的話可以啃《演算法導論》。平時可以多上 github 上直接看源碼,這樣比單純看書進步的更快。
3、新手學習編程,看書時一定要不能只看不動手,一定要同時動腦、動手,要將書裡面的代碼都勤奮的敲。
值得注意的是,編程是個比較廣義的概念,編程語言有數種,所以要學習計算機語言就要先了解語言的發展史以及各種語言在不同領域的作用,推薦先學C/C++,這門計算機語言是一門相對簡單且發展的比較完善的計算機語言,初次之外呢還有basic、C#、java等等,在C之前還有更加原始的計算機語言。
4、學會記筆記
很多人剛開始學編程以往裡面的很多東西都要記住,其實這是錯誤的做法。
不用去記住這些代碼,理解代碼比記住代碼更重要。這里我們能理解代碼是干什麼用的就可以了。如果後面用的時候忘記了,反過頭來知道在哪查找答案就可以了。這是學習的重要思想之一:知道在哪查找答案比記住更重要。
⑸ 我想學習編程,要從哪開始學起
學習編程可以從c語言開始學,方法如下。
零基礎自學編程入門指南:
一:確定一個方向,編程語言太多了:java、C++、python、PHP、C等,需要確定方向,從基礎學起,建議零基礎學編程的小夥伴從C語言開始學起,C語言入門比較簡單,會提升自信心。
二:自學編程入門一定要階段性的看到成果,這個「成果」並不是在「黑匣子」裡面實現,要在用戶展現界面呈現,很容易提升信心。
其次,多學多練,計算機編程只有多打代碼,才能從中找到規律。期初的時候可以不明白只要跟著老師一起打代碼一起多練習,慢慢就會由記住理解,如果是想從事編程的同學,可以把寫過的代碼存到自己的文本文檔里,這也就能知道我們的代碼量,為以後找工作做准備。
學編程入門很關鍵,如果你找到一個好方法入門學習很輕松,如果方法錯了,很容易半途而廢,C語言編程學會後,完全可以在學習python、java等新的編程語言也無所謂,它們有很多相通之處,可以相互借鑒,互相拿來應用。
⑹ 學習計算機語言從哪裡開始比較好
從做網頁語言開是
先學下HTML 或直javascript
以後就發展網頁方面 上面兩種語言都蠻簡單的
計算機語言(Computer Lnguage)指用於人與計算機之間通訊的語言。計算機語言是人與計算機之間傳遞信息的媒介。
計算機程序設計語言的發展,經歷了從機器語言、匯編語言到高級語言的歷程。
計算機語言主要分為三類:
- 低級語言
- 高級語言
- 專用語言
1、低級語言
- 機器語言、匯編語言和符號語言。
- 匯編語言源程序必須經過匯編,生成目標文件,然後執行。
2、高級語言
- BASIC(True basic、Qbasic、Virtual Basic)、C、PASCAL、FORTRAN、智能化語言(LISP、Prolog)等等。
- 高級語言源程序可以用解釋、編譯兩種方式執行。通常用後一種。
我們使用的C語言就是使用的後者。
3、專用語言
CAD系統中的繪圖語言和DBMS的資料庫查詢語言。
1.1.機器語言
電子計算機所使用的是由"0"和"1"組成的二進制數,二進制是計算機的語言的基礎。計算機發明之初,人們只能降貴紆尊,用計算機的語言去命令計算機干這干那,一句話,就是寫出一串串由"0"和"1"組成的指令序列交由計算機執行,這種計算機能夠認識的語言,就是機器語言。使用機器語言是十分痛苦的,特別是在程序有錯需要修改時,更是如此。
因此程序就是一個個的二進制文件。一條機器語言成為一條指令。指令是不可分割的最小功能單元。而且,由於每台計算機的指令系統往往各不相同,所以,在一台計算機上執行的程序,要想在另一台計算機上執行,必須另編程序,造成了重復工作。但由於使用的是針對特定型號計算機的語言,故而運算效率是所有語言中最高的。機器語言,是第一代計算機語言。
1.2.匯編語言
為了減輕使用機器語言編程的痛苦,人們進行了一種有益的改進:用一些簡潔的英文字母、符號串來替代一個特定的指令的二進制串,比如,用"ADD"代表加法,"MOV"代表數據傳遞等等,這樣一來,人們很容易讀懂並理解程序在干什麼,糾錯及維護都變得方便了,這種程序設計語言就稱為匯編語言,即第二代計算機語言。然而計算機是不認識這些符號的,這就需要一個專門的程序,專門負責將這些符號翻譯成二進制數的機器語言,這種翻譯程序被稱為匯編程序。
匯編語言同樣十分依賴於機器硬體,移植性不好,但效率仍十分高,針對計算機特定硬體而編制的匯編語言程序,能准確發揮計算機硬體的功能和特長,程序精煉而質量高,所以至今仍是一種常用而強有力的軟體開發工具。
1.3.高級語言
1.3.1.高級語言的發展
從最初與計算機交流的痛苦經歷中,人們意識到,應該設計一種這樣的語言,這種語言接近於數學語言或人的自然語言,同時又不依賴於計算機硬體,編出的程序能在所有機器上通用。經過努力,1954年,第一個完全脫離機器硬體的高級語言--FORTRAN問世了,40 多年來,共有幾百種高級語言出現,有重要意義的有幾十種,影響較大、使用較普遍的有FORTRAN、ALGOL、COBOL、BASIC、LISP、SNOBOL、PL/1、Pascal、C、PROLOG、Ada、C++、VC、VB、Delphi、JAVA等。
特別要提到的:在C語言誕生以前,系統軟體主要是用匯編語言編寫的。由於匯編語言程序依賴於計算機硬體,其可讀性和可移植性都很差;但一般的高級語言又難以實現對計算機硬體的直接操作(這正是匯編語言的優勢),於是人們盼望有一種兼有匯編語言和高級語言特性的新語言——C語言。
高級語言的發展也經歷了從早期語言到結構化程序設計語言,從面向過程到非過程化程序語言的過程。相應地,軟體的開發也由最初的個體手工作坊式的封閉式生產,發展為產業化、流水線式的工業化生產。
60年代中後期,軟體越來越多,規模越來越大,而軟體的生產基本上是個自為戰,缺乏科學規范的系統規劃與測試、評估標准,其惡果是大批耗費巨資建立起來的軟體系統,由於含有錯誤而無法使用,甚至帶來巨大損失,軟體給人的感覺是越來越不可靠,以致幾乎沒有不出錯的軟體。這一切,極大地震動了計算機界,史稱"軟體危機"。人們認識到:大型程序的編制不同於寫小程序,它應該是一項新的技術,應該像處理工程一樣處理軟體研製的全過程。程序的設計應易於保證正確性,也便於驗證正確性。1969年,提出了結構化程序設計方法,1970年,第一個結構化程序設計語言--Pascal語言出現,標志著結構化程序設計時期的開始。
80年代初開始,在軟體設計思想上,又產生了一次革命,其成果就是面向對象的程序設計。在此之前的高級語言,幾乎都是面向過程的,程序的執行是流水線似的,在一個模塊被執行完成前,人們不能幹別的事,也無法動態地改變程序的執行方向。這和人們日常處理事物的方式是不一致的,對人而言是希望發生一件事就處理一件事,也就是說,不能面向過程,而應是面向具體的應用功能,也就是對象(Object)。其方法就是軟體的集成化,如同硬體的集成電路一樣,生產一些通用的、封裝緊密的功能模塊,稱之為軟體集成塊,它與具體應用無關,但能相互組合,完成具體的應用功能,同時又能重復使用。對使用者來說,只關心它的介面(輸入量、輸出量)及能實現的功能,至於如何實現的,那是它內部的事,使用者完全不用關心,C++、Virtual Basic、Delphi就是典型代表。
高級語言的下一個發展目標是面向應用,也就是說:只需要告訴程序你要干什麼,程序就能自動生成演算法,自動進行處理,這就是非過程化的程序語言。
⑺ 零基礎學c語言要從哪學起
怎樣才能學好C語言
1、學好C語言,你可以很好地應付任何一種編程工具。
2、一定要多上機練習,通過程式了解相關知識。幾經反復方得正果。
3、不要把學習C語言當成一種任務,更不要把它看成很難完成的任務。要充滿自信,只要是一個智力正常的人都能學好C語言。始終保持游戲的心態,多發現其中的樂趣。當感到編程趣味無窮,那你在電腦方面將前程無量。
4、如果一個程式一時無法弄清楚最後暫時放在一邊,過一段時間你可能會從其他的程式中悟出道理。
5、C語言是一個整體,各個方面是有機聯系的,要從總體上把握它,不要把它割裂成互不關聯的部件。
6、不要完全相信教材(包括本講義),所有結論最好都上機驗證。
怎樣學好C語言
1. 工欲善其事,必先利其器
准備工作:一個開發環境,如Turbo C 2.0、Visual C++等開發工具;一本好教材,如譚浩強主編的《C語言程序設計》(第二版)。我當時看的是他的第一版,就為它的簡潔、完美所吸引,簡直愛不釋手,用了兩個星期一口氣看完。
2. 秘密武器
初學者學習計算機語言要會「讀程序」,要對小型的應用型、游戲型程序感興趣,並模仿去加深對C語言程序設計的理解和操作,只有不斷地寫程序、調試程序才能得到編寫程序的經驗和加深對程序的理解,這也是學習編寫優秀高級程序的秘密武器。
3. 發揚探索精神
學習C語言程序設計有點像做數學難題,只要我們善於思考,善於探索,發揚探索精神去尋找好的設計思想和方法,才能把C語言的精髓真正地掌握。
備戰C語言考試要訣
1. 了解大綱,臨陣不亂
各類筆試中,大多數考題是與大綱要求的基本內容一致的,難度不高,但內容十分廣泛,應牢固掌握C語言考試大綱要求的基礎部分。只有熟悉題型,理解語法、句法,做到心中有數,才能臨陣不亂。
2. 善於歸納,強化記憶
對於需要記憶的計算機基礎知識和基本概念,如果考試時因此失分就十分可惜。如:C語言中有幾種不同的數據類型?運算的優先順序別是怎樣的?因此我們需要善於歸納這些計算機基礎知識,並在理解的基礎上強化記憶。
3. 重視實踐,善於調試
⑻ 我想學編程語言要怎麼學從哪開始!
建議你先學習C語言。各種語言語法都差不多。學習C語言或以幫助你打好基礎,建立好的思維方式。地基打牢才是成功的保證!
C是C++的基礎,C++語言和C語言在很多方面是兼容的。因此,掌握了C語言,再進一步學習C++就能以一種熟悉的語法來學習面向對象的語言,從而達到事半功倍的目的。
Java是開源的,而且是面向對象編程語言。學完Java之後C#之類的語言大致看看就能懂了。
如果不是應付考試,不建議你學習VF、VB之類的過時語言。
學習C語言你可以從網上下載個《譚浩強C語言設計第三版》。上周給我小弟找這本書,找到個pdf的,在CSDN上下載下來了,你想要的話告訴我郵箱,我給你發過去,總共4.82M。因為剛才上網搜了搜,都是讓注冊後下載,太煩人了。
補充一點:想做個優秀的程序員,一定要把數學學好!!!
我在網上找了個<C語言標准函數庫.pdf>也可以一塊發給你。
下面是我從電子書上復制的部分內容。參考一下:
譚浩強c語言程序設計
1 C語言概述
1.1 C語言的發展過程
1.2 當代最優秀的程序設計語言
1.3 C語言版本
1.4 C語言的特點
1.5 面向對象的程序設計語言
1.6 C和C++
1.7 簡單的C程序介紹
1.8 輸入和輸出函數
1.9 C源程序的結構特點
1.10 書寫程序時應遵循的規則
1.11 C語言的字元集
1.12 C語言詞彙
1.13 Turbo C 2.0集成開發環境的使用
1.13.1 Turbo C 2.0簡介和啟動
1.13.2 Turbo C 2.0集成開發環境
1.13.3 File菜單
1.13.4 Edit菜單
1.13.5 Run菜單
1.13.6 Compile菜單 1
1.13.7 Project菜單
1.13.8 Options菜單
1.13.9 Debug菜單
1.13.10 Break/watch菜單
1.13.11 Turbo C 2.0的配置文件
2 程序的靈魂—演算法
2.1 演算法的概念 21
2.2 簡單演算法舉例 21
2.3 演算法的特性 24
2.4 怎樣表示一個演算法 24
2.4.1 用自然語言表示演算法 24
2.4.2 用流程圖表示演算法 24
2.4.3 三種基本結構和改進的流程圖 28
2.4.4 用N-S流程圖表示演算法 29
2.4.5 用偽代碼表示演算法 30
2.4.6 用計算機語言表示演算法 31
2.5 結構化程序設計方法 31
3 數據類型、運算符與表達式
3.1 C語言的數據類型 32
3.2 常量與變數 33
2
3.2.1 常量和符號常量 33
3.2.2 變數 33
3.3 整型數據 34
3.3.1 整型常量的表示方法 34
3.3.2 整型變數 35
3.4 實型數據 37
3.4.1 實型常量的表示方法 37
3.4.2 實型變數 38
3.4.3 實型常數的類型 39
3.5 字元型數據 39
3.5.1 字元常量 39
3.5.2 轉義字元 39
3.5.3 字元變數 40
3.5.4 字元數據在內存中的存儲形式及使用方法 41
3.5.5 字元串常量 41
3.5.6 符號常量 42
3.6 變數賦初值 42
11.10.1 枚舉類型的定義和枚舉變數的說明
1. 枚舉的定義枚舉類型定義的一般形式為:
enum 枚舉名{ 枚舉值表 };
在枚舉值表中應羅列出所有可用值。這些值也稱為枚舉元素。
例如:
該枚舉名為weekday,枚舉值共有7個,即一周中的七天。凡被說明為weekday類型變數的取值只能是七天中的某一天。
2. 枚舉變數的說明
如同結構和聯合一樣,枚舉變數也可用不同的方式說明,即先定義後說明,同時定義說明或直接說明。
設有變數a,b,c被說明為上述的weekday,可採用下述任一種方式:
enum weekday{ sun,mou,tue,wed,thu,fri,sat };
enum weekday a,b,c;
或者為:
enum weekday{ sun,mou,tue,wed,thu,fri,sat }a,b,c;
或者為:
enum { sun,mou,tue,wed,thu,fri,sat }a,b,c;
11.10.2 枚舉類型變數的賦值和使用
枚舉類型在使用中有以下規定:
1. 枚舉值是常量,不是變數。不能在程序中用賦值語句再對它賦值。
例如對枚舉weekday的元素再作以下賦值:
sun=5;
mon=2;
sun=mon;
都是錯誤的。
2. 枚舉元素本身由系統定義了一個表示序號的數值,從0開始順序定義為0,1,2…。如在weekday中,sun值為0,mon值為1,…,sat值為6。
【例11.10】
main(){
⑼ 初學者學習編程應該從哪入手(沒基礎的應該從哪學起)
可以學習C,或者C++/C#(C#用的較多) 。
1、開始的時候可以只是看一些語法之類的基本規則,不一定非要弄得特別懂,按照書上的實例親自做幾個試試,培養一下信心,時刻給自己一點鼓勵很有必要。
2、等到基本功差不多了,就去看看數據結構和數值演算法方面的書,了解數據存取方面的知識。不管你學什麼語言,這些都是必須學的,除非你只是想在編程方面淺嘗輒止。
3、再就是盡量去多做練習,最好參與做一些項目,或是研究別人做的實例。
編程是編寫程序的中文簡稱,就是讓計算機代為解決某個問題,對某個計算體系規定一定的運算方式,是計算體系按照該計算方式運行,並最終得到相應結果的過程。
為了使計算機能夠理解人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程。
注意在學習過程中要養成良好的編程風格和書寫習慣。還有不妨多去國內著名的編程論壇看看帖子,尤其是精華貼,多與別人交流,收獲很大的。至於每天的學習時間,因興趣和耐心而異,最重要不是時間長短,而是每天感覺到自己有所收獲就可以。