❶ 請問要想學計算機編程,首先需要學什麼
毫無疑問是先C語言,一般都是C精通了之後再繼續深造java、C++或者其他的。
C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
(1)vc編程首先學哪些擴展閱讀:
編程是編寫程序的中文簡稱,就是讓計算機代為解決某個問題,對某個計算體系規定一定的運算方式,使計算體系按照該計算方式運行,並最終得到相應結果的過程。
為了使計算機能夠理解人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程。
編程:設計具備邏輯流動作用的一種「可控體系」【註:編程不一定是針對計算機程序而言的,針對具備邏輯計算力的體系,都可以算編程。】
❷ c語言編程怎樣入門
一、工欲善其事,必先利其器
這里介紹幾個學習C語言必備的裝置和書籍:
A)開發環境
例如turbo C 2.0,這個曾經占據了DOS時代開發程序的大半個江山。但是現在windows時代,用turbo C有感覺不方面,編輯程序起來很吃力,並且拖放,更沒有函數變數自動感應功能,查詢參考資料也不方便。建議使用Visual C++,這個平台雖然體積大,但是一旦安裝好了,用起來很方便。
B)一本學習教程
現在C語言教材多如牛毛,推薦大家使用《C語言程序設計》第二版。此書很適合初學者,並且內容也很精到。
C)利用輔助學習軟體
畢竟現在是Windows時代了,學習軟體多如牛毛,這里向大家推薦一個「集成學習環境(C語言)」,里邊的知識點總結和常式講解都非常好,有好幾千題的題庫測試環境,包括一個windows下的trubo C,初學者甚至不用裝其它的編譯器,就可以練習編程了。還有一個「C語言學習系統」軟體,不過感覺只是一個題庫系統,如果你覺得題做的不夠,不妨也可以試試。
二、葵花寶典
學習計算機語言最好的方法是什麼?答曰:讀程序。
沒錯,讀程序是學習C語言入門最快,也是最好的方法。我們大家都應該有個體驗——在最初學習windows系統操作或Microsoft words如果操作的過程中,剛開始總是正兒八經地買來教材,結果讀來讀去卻雲里霧里,而當我們將教材丟在一邊,拿起滑鼠反復地試,幾個小時就搞定。包括學習J#,C#等其他語言,在今天的Windows時代,也不再提倡抱著書本逐行啃,而是學習它們的常式。
當然,對於沒有學過任何計算機語言的初學者,多少要先閱讀教程,認真體會所有概念,然後不放過這一章中提到的所有常式,仔細研讀,直到每一行都理解了,再找幾個編程題目,最好是和常式類似的或一樣的,自己試圖寫出這段已經讀懂的程序。如果寫不出來,回過頭來再繼續研究常式,想想自己為什麼寫不出來,然後再去寫這段程序,反反復復,直到你手到擒來為止。
三、登峰造極
寫程序的最高境界其實就是掌握各種解決問題的手段(數據結構)和解決問題的方法(演算法)。
是不是寫出底層程序就是程序設計高手呢?非也,寫底層程序,無非是掌握了硬體的結構,況且硬體和硬體還不一樣,要給一個晶元寫驅動程序,無非就是掌握這塊晶元的各種寄存器及其組合,然後寫值讀值,僅此而已。這不過是熟悉一些I/O函數罷了。那麼怎樣才算精通程序設計呢?怎樣才能精通程序設計呢?舉個例子:
你面前有10個人,找出一個叫「張三」的人,你該怎麼辦?第一種方法:直接對這10個人問:「誰叫張三」。第2種方法:你挨個去問「你是不是張三?」,直到問到的這個人就是張三。第三種方法:你去問一個人「你認不認識張三,指給我看」。不要小看這個問題,你說當然會選第一種方法,那麼恭喜你答對了,因為這個方法最快,效率最高,但是在程序設計中找到解決問題的最優方法和你用的手段卻是考驗一個程序員程序設計水平的重要標志,而且是不容易達到的。剛才這個問題類似於數據結構和演算法中的:Map數據結構,窮舉查找和折半查找。所以掌握好數據結構和一些常用演算法,是登峰造極的必然之路。
❸ 學計算機編程需要什麼基礎 入門先學什麼
如果還沒有想好學哪一門編程語言,沒有確定目標,很容易無所適從。如果你想要認認真真去學編程,但是還沒准備,可以看看以下幾條建議。
1、數學基礎。 從計算機和應用的發展歷史來看,計算機的數學模型和體系結構等好多都是由數學家提出的,包括最早的計算機也是為數值計算而設計的。因此,要學好計算機是需要一定的數學基礎的,初學者有高中水平就差不多了。
2、邏輯思維能力的培養 。程序員必須要有一定的邏輯思維能力,邏輯思維能力的培養更需要長時間的實踐鍛煉。但是也不必操之過急,邏輯思維說白了是一個技術,和打游戲,把妹,打拳擊一樣,多進場練習才是關鍵。如果做到這一點必須在反復的實踐、觀察、分析、比較、總結中逐漸地積累。因此在學習編程過程中,我們不必等到什麼都完全明白了才去動手實踐,只要明白了大概,就要敢於自己動手去體驗。誰都有第一次。有些問題只有通過實踐後才能明白,也只有實踐才能把老師和書上的知識變成自己的,高手都是這樣成材的。
3、選擇一種合適的入門語言 。網路編程目前較為流行的網路編程工具可謂「風格迥異,百花齊放」。每一種工具都有其獨特的特點,在互聯網實現上都有各自的優勢序設計工具不外乎如下幾類:①本地開發應用軟體開發的工具有:Visual Basic、Delphi、VC++(C++ Builder) 等;資料庫開發工具有:Visual Foxpro、Oracle Developer、Power Builder等。②跨平台開發開發工具如 Java等。
4、注意理解一些重要概念 。程序設計的教程看到的無非就是變數、函數、條件語句、循環語句等概念,但要真正能進行編程應用,需要深入理解這些概念,在理解的基礎上應用,不要只簡單地學習語法、結構,而要吃透針對這些語法、結構的應用例子,做到舉一反三。
5、掌握編程思想 ,學習一門語言或開發工具,語法結構、功能調用是次要的,最主要是學習它的思想。例如學習Java在學習中應把重點放在其語言基礎、Java與ActiveX以及JavaBeans等組件之間的編程技術以及應用上來。你可以自己編一些較為經典的小程序來加深基本技能的掌握:用Java的圖形處理能力編寫紙牌游戲,用AWT編寫掃雷或者俄羅斯方塊、用Java的網路功能編寫網路聊天室等等。關鍵是學一種思想,有了思想,那麼我們就很容易觸類旁通。
1、英語基礎
計算機英語與傳統的英語知識不同,需要了解的大部分是計算機的專業單詞或者詞彙,普遍較為簡單。但是在高級編程中,會出現比較生澀的詞彙,對於想要參與計算機語言設計以及在職業發展上有更多追求的同學可以自學一下大學英語。畢竟現在在學習IT技術上晉升的道路上,專業文檔的閱讀能力也是非常重要的。我們不可能每一句都依靠在線翻譯,而往往很多學習材料都是英文版的,等到中文的翻譯版出來,時間很不固定。所以強迫自己看原版的材料,強迫自己學習英語,都能加速學習的速度。
2、自學能力
計算機編程是一門技術專業,由於越來越多的源碼開放,使得每個程序員都擁有了自行編碼的可能。這也造成了計算機技術不斷在更新和升級以及新的語言的出現,可以說學計算機是進無止境的。想要在計算機行業長久的走下去,學生自身的自學能力是不可缺的。自學的基礎是學會查,在初期學習計算機編程時,我們幾乎都是不懂的狀態,學會查,尤其是查不明其意的名詞時,理解了,學習起來就會運用了。
3、計算機操作系統原理
我們所有的開發或者說軟體應用都是在特定的操作系統上進行的,如果不是,那隻有一種可能,你自己在實現一個操作系統。所以我們計算機操作系統原理可以說是基礎中的基礎是必須要了解的。
4、數據結構和演算法
這門課程能夠決定一個人程序設計水平的高低,是學習過程中需要重點掌握的。C和C++都是可以選擇的,前期可以先學C,再學C++會相對簡單一些。在演算法上C++復雜化了,所以先學C更好。
❹ 自學C語言要先學習什麼呢
編程語言其實是一個很初級的工具,但是你又必須熟練的掌握它,學懂一門編程語言就好像學會了寫字,但是會寫字的人不見得會寫文章,而會寫文章又不見的寫得好。可是如果你不會寫字,那就一定寫不出文章來。 首先,在學習C語言之前,應該學好計算機基礎。裡面的很多概念對於C程序員都是非常重要的。如果你在著手學習C之前,或者已經開始學習C,但是碰到了很多問題,應該再把計算機基礎的書拿來好好看看。 如果你有足夠的耐心,十足的毅力,應該再學習C語言之前學學匯編,這會讓你對許多比較細膩的概念有清醒的認識,如果你不是那麼有耐心(恕我直言,大部分人可能沒有)。那麼可以在看完一遍C語言的教材後再看,但是一定要看一遍,相信我一定會受益匪淺。 看到有些人發問的帖子,很明顯的沒有仔細的思考過問題,或者沒有認真地查閱過書籍,因為其中的語法和邏輯錯誤實在是不能理解。想來如果你的語文作業上面滿篇都是錯字,老師一定不會放過你。為什麼不先打好基礎呢?有些人抱怨說因為教材不好,老師水平不行等等。但是我本人就是在TC2下學習C語言的,那時候除了譚浩強的書,也幾乎找不到什麼別的書。我不打算就譚浩強的書發表什麼意見,那也實在稱不上是一本好書,但是如果這本是能學好,全部看好,都記住,也應該有相當的水平了。建議不管看什麼書,先認真地看懂,不要貪速度,應該力求深入的理解。 如果你能夠比較熟練的解決一本教材上的所有習題,那麼就應該轉入對演算法的學習,盡管此時你的C語言還稱不上精通,有許多細節問題還不了解,許多問題還沒有碰到,但是這些問題會在後面的工作和學習中得到解決的。 新手學習C語言,有很多誤區,以一個學過C語言的人,給新手一些建議。 拋磚引玉,請前輩指出問題,發表意見,新手請注意後面的回復。 第一:一些概念。 C語言是一門程序設計語言,有一些標准,比較重要的是ANSI C(好像是C89)和C99。 數據結構包括邏輯結構和物理結構。邏輯結構是數據元素集合和定義在集合上的關系。物理結構是邏輯結構在計算機中的實現。 LCC、VC、TC、GCC都是C語言編譯器,一般包括集成開發環境,編譯器和鏈接器及輔助工具 我們書寫的是C源程序,源程序通過編譯器編譯為中間文件,中間文件經鏈接器鏈接生成可執行文件。不同操作系統可執行文件不同。中間文件也有幾個標准,微軟使用的和Linux下通用的有差異。 第二:學習什麼。 個人認為程序設計學習的重點放在數據結構的學習上,但是這種學習要有一個平台,比如C語言。 學習C語言首先要掌握基本語法,常量、變數、類型、及順序結構、分支結構和循環結構的意義及用法。進一步學習構造類型如指針、結構、函數的意義和用法。 C語言提供一些標准函數以減輕程序設計工作量,這些函數我們自己也可以實現。即使不依靠函數庫,只有編譯器,理論上就足夠了。事實上,提供的標准函數效率都很高,使用很頻繁,沒有自己實現的必要,所以掌握常用函數是非常必要的,但是要注意函數的適用范圍。 繼續學習因人而異,應該可以獨立選擇了。 第三:如何學習。 強調多實踐,C語言的學習要經常上機,多寫程序才能逐步提高。 推薦書籍:C Programming Languge。有中譯本,但最好看英文版。 通讀,並將所有習題獨立思考,給出解答,尤其是編程實踐題,最好逐一上機完成。 C語言其實並不難,如果認真掌握了C Programming Language,C語言的基礎就可以了,繼續學習就更加容易。建議不要找捷徑,通過考試除外,真正的水平提高是建立在編程實踐積累基礎上的,必須一個一個程序的完成才能提高。 談及C語言,我想凡是學過它的朋友都有這樣一種感覺,那就是「讓我歡喜讓我憂。」歡喜的是,C語言功能非常強大、應用廣泛,一旦掌握了後,你就可以理直氣壯地對他人說「我是電腦高手!」,而且以後若是再自學其他語言就顯得輕而易舉了。憂慮的是,C語言猶如「少林武功」 一般博大精深,太難學了。其實就筆者認為C語言並非是「difficult(困難)」的,只要你能理清思路,掌握它的精髓,那麼自學C語言是一件非常容易且又其樂無窮的事。今天本人就與大家一起談談如何學習C語言或者說學習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語言必須從以下四點入手,也就是說,只要你能掌握這四點的內容,那麼基本上就大功告成了。 親密接觸C語言 一.輸入輸出 C語言的輸入輸出是非常嚴格的,或許在其他程序語言中我們可以不關心這個問題,但在C語言中,我們必須要徹底了解它。由於篇幅有限,因此筆者不能詳談,有興趣的朋友可以參考由著名程序語言教授譚浩強先生主編,由清華大學出版社出版的《C程序設計第二版》。不過這里筆者還是有幾點要談一下。 1.二維浮點數數組的輸入 二維浮點數數組的輸入(即:通過鍵盤給二維浮點數數組賦值)在很多專業書中都沒有詳細講過這個問題。在給二維浮點數數組賦值時一定要先聲明一個變數,接著把數值賦予這個變數,最後把變數數值賦予二維浮點數數組賦值。實例如下: # include "stdio.h" main() { float a[2][3],x ; int i,j; for(i=0;i<2;i++) for(j=0;j<3;j++) {scanf("%f",&x); a[i][j]=x;} } 不能寫成: # include "stdio.h" main() { float a[2][3] ; int i,j; for(i=0;i<2;i++) for(j=0;j<3;j++) scanf("%f",&a[i][j]); } 同樣道理,在結構性浮點數組變數中也一定要按照這種格式輸入。實例如下: # include "stdio.h" struct student {float b[3]; int x; }a[2]; main() { float x ; int i,j; for(i=0;i<2;i++) for(j=0;j<3;j++) {scanf("%f",&x); a[i].b[j]=x;} } 2.注意輸出格式中「%」後的字元 C語言的輸出說復雜不復雜,因為常用的都很簡單。可說不復雜也未必,記得曾在一次等級考前輔導我們C語言的教授講道:「如果C語言要考得很難的話,根本不用考什麼指針,只要專考輸出格式,我想百分之九十九的學生都不及格。」當時我們無不認同。從這則事例中可以看出C語言的輸出格式之復雜程度。因此大家在學習它時千萬要學會辨別輸出格式中「%」後的字元,每個字元都有其意義,也都有其作用。 二.優先順序 說道優先順序,有很多朋友都不是很了解或說很模糊。為此筆者想先通過一個例子讓各位有個概念。什麼叫優先順序?比方說,我們在公交車終點站排座隊時總會遇到70歲以上的老人不需要排隊就能上車的情景,這就是優先順序的涵義。C程序在運行時也象排隊坐車一樣,首先照顧那些優先順序高的運算符,若是優先順序相同,那麼就象遇到兩位(或兩位以上)70歲以上的老人那樣,讓他們依次上車。但是C語言中的優先順序的運算並不是千篇一律的,只能說是在大多數情況下,有些運算符的優先順序有其自己的特點,因此這點大家要注意。例如條件表達式:條件?結果1:結果2,這種表達式很多朋友都知道,它的作用與IF…ELSE…條件判斷語句很雷同,它運算時的優先順序就不是按照C語言的規則來完成的。所以說對於優先順序各位編程愛好者一定靈活掌握,不要死記硬背。 三.指針 就個人認為,C語言中的指針是最有特色的,當然也是最難學的。指針說穿了,其實是變數的一種表現形式,只不過這種變數記載的不是數值而是地址。就象一個人可以用姓名來表示自己,也可以用身份證號碼來表示自己一樣。筆者涉足編程已經有三年多了,在這期間曾經收到過很多網友的電子郵件詢問學習指針的方法。就本人感觸,學習指針最好是先學些計算機硬體工作的原理,例如:直接定址,間接定址等,只有了解了這些內容以後,你再學指針就比較容易理會,畢竟C語言是一門介於機器語言與高級語言中間的語言,沒有一些硬體工作知識是很難領悟它的真諦的。然而事事並非絕對,如果你沒有這些知識也不要緊,只要清楚知道以下筆者總結的二點再加上多練習便可: 1.指針是地址變數:它的值有兩種:其一是地址,其二是內容。不同的表達方式可以取不同的值,這有點象一個家庭地址在不同的場合標識的人物也不同。例如:父母親在他們的單位所登記的家庭地址就代表他們自己,而你在學校中登記的同樣的家庭地址就代表你自己。 2.指針是可以運算的,它的運演算法則與變數是一致的。 另外,在編寫一個程序時,除非萬不得已,一般不要使用指針變數。因為指針是比較復雜的,用不好就「當機」。所以筆者建議各位對於指針只要能看懂就行,當然如果你是准備參加考試的就另當別論了。 四.函數 雖說很多程序語言都有函數這一內容,但筆者覺得C語言的函數是最有魅力的。如果你能完全掌握C語言的函數,那麼學習C++就不成問題了(C++是一門建立在C語言上,但又不同於C語言的高級程序語言,它增添了很多函數。)。學習函數的方法是比較簡單的,只有兩個字「牢記」,即:牢記函數的功能,牢記函數的用途以及如何輸入輸出。有些朋友認為,程序語言中的函數沒有多大用處,其實這並不正確,函數從本質上講是一段通用程序,用它可以幫助我們節約很多編程的時間,一個聰明的編程者在編寫程序前往往總是先找自己所編寫的程序中有多少是可以用函數來代替的。筆者曾經作過一個比較字元串的實驗,用C語言中的strcmp()函數只要一句話,而自己編寫的話30句話都擺不平,可想而知函數是多麼實用呀! 寫到這里筆者該告一段落了,下面送一個本人自己用C 語言編寫的注冊表比較程序給諸位。此段程序的注釋請看「/*…*/」後的文字,程序運行時(在DOS模式下)輸入的方式如下:compare xx1.reg xxx2.reg xxx3.txt,注意欄位與欄位之間是有空格的。(compare是程序名) 程序代碼: # include "stdio.h" /*定義頭文件或說包含文件*/ main(argc,argv) /*定義帶參數的主函數*/ int argc; /*定義參數類型*/ char *argv[]; /*定義第二參數類型*/ { FILE *fp1,*fp2,*fp3; /*定義文件指針*/ char a,b; /*定義字元變數*/ if((fp1=fopen(argv[1],"r"))==NULL) /*打開第一的注冊表備份文件,如果不存在則跳出程序並顯示「The file don`t open!」*/ { printf("The file don`t open!"); exit(0); } if((fp2=fopen(argv[2],"r"))==NULL) /*打開第二的注冊表備份文件,如果不存在則跳出程序並顯示 「The file don`t open!」*/ { printf("The file don`t open!"); exit(0);} if((fp3=fopen(argv[3],"w"))==NULL) /*建立新的文本文件,用於存放比較結果。*/ {printf("The file don`t open!"); exit(0);} rewind(fp1); /*規定文件指針fp1指向第一個注冊表文件頭部*/ rewind(fp2); /*規定文件指針fp2指向第二個注冊表文件頭部*/ while(!feof(fp1)||!feof(fp2)) /*開始比較*/ { a=fgetc(fp1); /*讀取第一個注冊表文件內容並賦予給字元變數a*/ b=fgetc(fp2); /*讀取第二個注冊表文件內容並賦予給字元變數b*/ if(a!=b) fputc(b,fp3); /*字元變數a與b不相同的話,那麼把不同之處寫入新建的文本文件中*/ if(feof(fp1)) fputc(b,fp3); /*如果第一個注冊表文件已經讀完,第二個文件還有未讀取部分,那麼把第二個文件的剩餘部分全部寫入新建文件中*/ if(feof(fp2)) fputc(a,fp3);} /*如果第二個注冊表文件已經讀完,第一個文件還有未讀取部分,那麼把第一個文件的剩餘部分全部寫入新建文件中*/ fclose(fp1); /*關閉第一個注冊表文件*/ fclose(fp2); /*關閉第二個注冊表文件*/ fclose(fp3); /*關閉新建文件*/ } 對於高深莫測的C語言來說,寥寥3千字並不能說清楚的什麼問題。但只要您看了此文後,我想對於您學習此語言一定有很大的幫助,同時也能了知曉如何用最短的時間學會C語言以及掌握C語言的精髓所在。另外,此文中所涉及的知識點都是筆者通過實踐得出的,因此若是其他專業書籍沒有講到過的問題可以參考本文。最後祝大家學習C語言順利!
❺ 自學編程 應該學習些什麼內容
首先,你要耐得住寂寞,然後,轉專業更好,以下是學生方案,不要說沒用,學生就該學這些。
1、C語言,看教程,看書都行。
視頻郝斌C語言足矣
《C primer plus》和《C和指針》,書這兩本足矣。
2、數據結構演算法,各種概念要弄懂+實際編碼。
3、操作系統原理(理論十分枯燥,自己看著辦)
4、計算機網路 可以不理解,但是不能不知道
5、軟體工程 no ,計算機/C語言一級二級 no,
6、學習一門面向對象語言(C++,Java)
7、SQL也是一個重點
以上知識並不能讓你在畢業之後立即找到一份軟體開發的工作。但是能讓你以後學習的時候能更快的掌握,這些都是基礎。
暫時想到這么多。
一定要給我分啊。
❻ 學習編程先學什麼
學習編程首先從C語言開始。雖然,對於一個初學者來說,用一些控制項堆砌成一個小軟體會有一些成就感,但是,基礎才是最重要的。C語言對於數據類型的描敘,遠比VB更全面、明白,而這些正是編程中的根本。
學習編程的相關書籍推薦
1、《c primer plus》
《C Primer Plus》是C語言的經典教材。本書以豐富多樣的程序為例,講解C語言的知識要點和注意事項。每章末尾設計了大量復習題和編程練習,幫助讀者鞏固所學知識和提高實際編程能力。附錄給出了各章復習題的參考答案和豐富的參考資料。適合希望系統學習C語言的讀者,也適用於精通其他編程語言並希望進一步掌握和鞏固C編程技術的程序員。