當前位置:首頁 » 編程軟體 » 計算機基礎與編程

計算機基礎與編程

發布時間: 2022-08-03 14:49:23

A. 學習計算機編程需要什麼基礎知識

我覺得應該根據你的工作需要或者說你的發展方向而定。基本上兩大類吧:C/C++和java。比如,如果你要做企業級應用的你應該學習Java和C#;如果你想做嵌入式,那麼應該學好c語言;其他情況下,在你不知道要做什麼之前你可以選擇學習C/C++。學會這兩大類中的一類,對於你學習其他語言都將是比較輕松,包括腳本語言,動態語言…… 1、我的入門是從學習C語言開始的(其實課程是C++),這是我們學校的公共課,我上課比較認真(雖然老師講得很差,而且一段時間後,我就發現自己的基礎掌握比她好,當然理解深度沒她好),因此,我認為對於完全沒有基礎的人而言,聽別人講比較容易入門。當時的教材是學校自己編的,挺爛的。 建議一(以C/C++為例),對於剛想進入編程的人(就是從來都沒有接觸過編程的人),最好是聽課的方式(自己看的話估計要很慢,而且很痛苦),可以找視頻或者培訓等。C語言推薦入門教材:譚浩強的C語言,最新版是第三版,不過第二版應該也可以了(藍色的)。說明一下:堅決不同意直接看K&R的《The C programming language》,這本書絕對不是初學者可以看懂的,裡面講語法的並不多,語法都是合在程序裡面講。不過這本書非常好,入門以後一定要看的一本書。 當然可以從C++直接入門,C++之父強烈推薦從C++直接入手。C++推薦入門教材:錢能的C++(紅色的,清華大學出版),這本書第一版不是ISO C++,不過比較經典,作者現在也出了第二版了,第二版好像不是太好。國外的最好的入門教材據說是:《Acclerated C++》作者是Koenig和Moo夫婦,非常厲害。他們的著作還有《c陷阱與缺陷》《c++沉思錄》。《Acclerated C++》這本入門的書我沒有看過,我覺得還是先找本國內的書好好看,看的差不多了,國外的經典書籍隨便看就會覺得很有味道,否則你可能會很受打擊。 入門的書至少要看兩三遍(要徹底理解哦 ):)。如果是C++,我建議後面類的部分至少要理解三到五遍。說明一下,c++模板的部分可以先不用看,如果有興趣的話,等把c++學的差不多了,我覺得可以把模板、STL、泛型編程結合起來學習,這個又是一個很大的工作量了,又得下很大的功夫。所以說,C++博大精深啊。 建議二、學習過程中要結合簡單的演算法,像冒泡還有類似c語言程序百例這樣的小例子做做;更進一步應該做點大一點的項目,最好是控制台程序。或者你已經著手學習win32、MFC或linux,你也可以結合平台做點小的項目。 那時我其實並沒有考慮那麼多,因為我不是學計算機的,因此我就把參加一些計算機之類的考試當作學習目標。我當時其實C++語言基礎已經很不錯了,但是上機實踐很少(那時我沒有電腦),因此參加省計算機二級,全國計算機三級和全國計算機四級考試,結果上機都沒有通過。我很郁悶,二級的時候是我不知道怎麼樣進那個DOS界面把題目調出來,三級的時候是很快就編好了,也通過運行了,可是成績出來卻不及格,四級的時候是編好了,可能是我那題目比較難,好像用了兩次循環,結果那破機器竟然承受不了。後來一亂就毀了(當然主要是上機太少了)。不過我那些上機都沒有去補考。二級和三級的時候是自恃水平已經遠遠超過考試要求了(^_^,見笑了,可能是因為等級考試還是比較簡單的),四級的時候則因為自己已經通過高級程序員考試,覺得補考上機好像沒必要。(我高程和四級都是在2003年考的)。 建議三:定位學習方向(見附錄一)並好好學習計算機基礎知識。在你還不確定學習方向,或者你還在大學本科期間,那麼我認為應該先把計算機的基礎知識好好學習一下。我認為計算機必學的基礎課程而且要精學——首先是數據結構,其次是操作系統、軟體工程,資料庫。這四門課不管你將來想從事哪個方向的基本上都會用到。當然,有時間的話,其他基礎課都是應該掌握的,離散數學、組成原理、體系結構、網路、編譯原理甚至跨學科的。方向是很重要的,因為知識其實是無限的,一個小小的領域就夠你研究很久了。本科生可能還沒有什麼方向的感覺,但是到了研究生你一定要清楚自己到底想要做什麼,要往哪個方面發展,不要盲目學,瞎學亂學,否則最後可能看似什麼都會,其實什麼都不會。 我也曾經學習過Java一段時間,這篇文章既然是談編程語言的入門學習,我也簡單說一說。因為有了比較C++扎實的語言基礎,所以Java學起來比較輕松。我先找了國內一本薄薄的教材很快看了一遍(幾乎都理解,但是只看了一遍),空閑的時間配合清華張孝詳老師的java視頻。以後其實才算我真正要開始入門JAVA的學習,我用了是《core java》中文第六版(本來想用候捷翻譯的第二版的《Thinking in Java》,發現被同學弄丟了),這本書我差不多用了20天才把裡面的知識都搞懂,當然包括程序風格的模擬,最重要的時我把有關GUI編程的那三章裡面的程序例子幾乎可以默寫出來(當然,那是因為我理解了,其實這樣就變成了我的知識了),裡面的API我也記得差不多了。(說明:Java裡面的GUI編程沒什麼用處了,建議大家先跳過,GUI不是Java的長處,如果以後需要的話再查手冊或者再記憶學習)。 其實學習了C++以後,學習Java是比較容易了,但是建議不要兩種都學啦,他們的用途是不一樣的,你應該熟悉其中一種,更重要的是熟悉其應用領域所需要的專業知識甚至平台,以及使用他們的企業,有創業計劃的還應該考慮一下他們的應用領域,最重要的是思考他們的潛在的應用領域。 對於初級的學習就講到這里,接下去的學習其實都是高級部分,先不介紹了,因為:一、我自己都還沒有學懂,這里亂吹會誤人子弟。 二、高級東西的學習很多,有很多選擇,又需要很多繁瑣的知識,可能也一下子沒辦法講清楚。

B. 計算機和編程的理論基礎是什麼

理科大學生學計算機,應該學什麼? 對於大學生來說,計算機是一個非常重要的1、計算機數學基礎計算機數學基礎是計算機專業重要的基礎課程,它是學習專業理論

C. 零基礎編程學什麼

零基礎編程學習內容如下:

第一:python基礎語法階段。Python基礎語法階段的學習難度相對比較小,但是如果計算機基礎比較薄弱,需要多做一些實驗,以便於盡早建立自己的編程思想。學習Python的過程中除了要多做實驗之外,還需要重視多與技術專家交流,可以充分利用互聯網資源。

第二:機器學習階段。機器學習不僅是大數據分析的兩種主要方式之一,也是人工智慧領域的六大研究方向之一,所以學習機器學習還是比較重要的。在掌握Python語言之後,可以直接學習機器學習領域的一些經典演算法,然後通過Python語言來完成演算法實現和演算法訓練等過程,進而逐漸掌握機器學習的步驟。

第三:大數據平台階段。學習大數據知識一定離不開學習大數據平台,初學者可以從Hadoop、Spark開始學起,雖然內容相對比較多,但是可以參考的學習案例也比較豐富,所以並不會遇到太大的學習障礙,對於學習能力比較強的人來說,也完全可以自學。

建議

重視基礎,才能走的更遠很多人覺得學習編程只需要剛才我說的那幾步,學習語法、寫簡單demo,然後學習高級特性,最後著手做項目就可以了。但是這只是最初級的程序員,離開這門語言,他們可能就什麼都不剩下了。

沒有計算機基礎的支撐,他們不明白計算機網路的原理,不知道為什麼要考慮網路編程,不明白為什麼要考慮DNS、負載均衡,不知道操作系統的原理,就不能夠理解伺服器出問題時的根本原因,無法排查,不懂得數據結構和演算法,就不明白為什麼有的程序是這么寫的,有的集合類是這么設計的。

重視基礎,是每一個程序員都要做到的一點,離開基礎,其他的東西都是空中樓閣,基礎不扎實,你連談論技術時也不會有底氣,更別說談架構、談業務場景了。

D. 零基礎怎樣學習編程 應從哪裡入手

計算機基礎、網路基礎,這些先基本了解一下,然後選擇一個編程技術方向,現在熱門的編程崗位就是Web前端、Java,如果是為了就業可以考慮這兩個技術方向,如果是對編程感興趣,可以學Python,語法簡單,可以迅速做一些小項目。
"編程"就是我們為了完成某項任務, 將解決問題的步驟, 用計算機能夠理解的語言寫成指令, 這就是"編程". 而後, 計算機會根據這些指令一步步執行, 最後完成任務.
編程語言有很多種,只需要精通一門編程語言或者說一個技術方向就可以了,可以結合自身,選擇一門自己喜歡並合適自己的。

HTML5+JS(web前端開發)
什麼是前端?在網站上看到的一切圖片、文字、視頻、都是前端寫的。
目前web前端開發還是熱門編程方向,這門語言對於零基礎的學員來說學起來難度不大。

Java
java仍然是市場上最流行和最火爆的編程語言,常常跟企業聯系在一起, 因為具備一些很好的語言特性, 以及豐富的框架, 在企業應用中最被青睞。

Python
Python是動態形的靈活的解釋性語言,從軟體開發到Web開發,Python都有在被使用,因為他的解釋性,適合輕量級開發,Python是很多新手會選擇的編程語言。

C語言
C語言,語法較多,時間相對還是比較多的,所以也可以考慮從C語言入手,因為打好編程基礎,以後再學其他語言會很快上手。如果是快速就業,不太適合C語言

C++
和C語言一樣,語法有一定難度,C++是一種最廣泛支持範式的編程語言,。當然如果C學的不錯,C++上手也會快。

E. 學習編程需要什麼基礎

學習編程其實不需要什麼基礎,只要可以正常操作電腦就可以學習編程,但是如果想往高深的技術研究就需要學習很多東西,時代咋子進步很多東西都有千絲萬縷,所以很多編程需要都是相通的。

3、知識經濟時代給我們帶來了無限的機遇。要真正掌握計算機技術並在信息技術行業有所作為,具備一定的編程能力是一個基本條件和要求。

4、為基礎編程打下堅實的基礎,應總結如下幾個方面,數學基礎從計算機發展和應用的歷史來看,計算機的數學模型和體系結構是由數學家提出的,最早的計算機也是為數值計算而設計的。 因此要學好計算機必須有一定的數學基礎初學者應該有高中水平。

F. 計算機基礎知識都包括哪些

基礎知識重要,但是具體來說,哪些點重要呢?
今天我就試圖總結一下,也歡迎大家補充。
信息的表示和處理
計算機如何表示整數:有符號數和無符號數,尤其是如何用補碼表示負數,數字的取值范圍。
計算機如何表示浮點數,為什麼小數的二進製表示法只能近似表示十進制小數。

數值的轉換、移位

這幾點非常重要,因為幾乎所有的編程語言都有數據類型,而最基本數據類型必然包括整數和浮點數。
搞不清這些表示和運算,在編程中就會遇到一些稀奇古怪的問題。
從匯編層面理解程序的執行
順序、分支、循環、函數調用、數組、結構體等在匯編層面是怎麼實現的,寄存器和內存是怎麼使用的。
理解了這些其實也就理解了馮諾依曼計算機體系結構,這是計算機學科一個基礎性的東西。
知道程序在底層是怎麼運轉的, 對於學習各種虛擬機有很大的幫助,比如JVM,它要解析執行的是位元組碼,位元組碼本質上要表達的就是這些東西,只不過有所擴展。
理解了棧幀,就能理解函數調用的本質,遞歸,以及尾遞歸的實現。還有安全相關的概念,如緩沖區溢出這個臭名卓著的漏洞及其防範辦法。
進程和線程
程序員必備的知識,不了解這個,簡直是無法編程。
需要掌握進程的地址空間,代碼在哪裡,堆在哪裡,棧在哪裡。
要准確理解進程和線程之間的關系,為什麼說進程是擁有資源的基本單位, 線程是CPU調度的基本單位?
進程切換和線程切換之間的區別和聯系。
他們是如何創建,執行,有哪些狀態,狀態之間的轉換。 由此會涉及到並發和並行,線程之間的競爭和合作。
鎖的本質(硬體層面),樂觀鎖,悲觀鎖,死鎖等問題。
線程的實現方式,用戶級線程和內核級線程的對應方式。
在編程的過程中,有些知識點會直接使用,如多線程編程,鎖。 還有一些概念能用到很多地方,例如CAS,不僅僅是編程語言的概念,還能在更新資料庫時使用。再比如你理解了線程的實現方式,迅速就能掌握go語言中並發的手段:goroutine。
存儲器的層次結構
Tomcat用了多線程執行請求,Redis用了單線程來處理請求,Node.js也用了單線程來,這是為什麼? 秘密都在存儲器的層次結構。
人類製造的計算機設備之間有著巨大的速度差異:
總之,CPU超級快,內存比較快,硬碟非常慢,網路更慢, 這個速度差異是IT行業的一個核心問題,人類想了很多辦法試圖去彌補這個差異:多線程,緩存,非同步,多路復用,硬體層面的DMA。
記著下面這張圖,每當你遇到某個軟體的特性的時候,想一想和它有什麼關系:

數據結構和演算法
它的重要性我羅嗦過很多次了,不用再重復了, 我就舉個最簡單的例子: 理解了B+ Tree才能理解MySQL的InnoDB的索引,理解了索引才能更好地優化查詢,對吧?
計算機網路
現在的程序基本上都是網路程序, 所以這也是一個必備的基礎知識,學習計算機網路的一大好處就是和工作直接相關,能直接使用,比較有動力。
HTTP協議肯定跑不掉,TCP,UDP也得會,尤其是TCP可靠傳輸的原理:如何在一個不可靠的網路中進行可靠的傳輸, 這是無數前輩總結的經驗,一定得掌握。
要理解什麼是通信協議,也許某一天你自己就需要定製一個協議來傳輸數據。
分組交換是什麼意思? 協議分層的本質是什麼? 什麼叫無狀態的協議?
Socket相關的編程更是重點,尤其是涉及到伺服器端高並發的時候,如何維持和處理這些海量的socket, epoll等技術就得上場了。
還有非常重要的HTTPs的基本原理,也是網路安全的精華所在:對稱加密,非對稱加密,消息摘要,數字證書,中間人攻擊。
資料庫
不多說,關系模型、範式、SQL、索引、事務等知識都得掌握,尤其是要了解他們的實現方式。
分布式的基礎知識
這些已經偏向應用層面了,但是現在很多系統都是分布式的了,分布式就變成了一種基礎知識。
系統通信:RPC, 消息隊列等
負載均衡的原理
CAP原理,BASE原理,冪等性,一致性模型(強一致性,最終一致性.....)和相關協議(兩階段提交,Raft,Paxos......)
數據分片:取模演算法,一致性Hash,虛擬桶
基本的設計思想
下面這幾種設計思想對我影響很大,需要大家特別注意。但是掌握起來卻很不容易,需要在實踐中不斷地體會:
正交:各個概念之間可以獨立變化
抽象:拋棄細節,找到本質和共性
《深入理解計算機系統》一書中提到:「指令集是對CPU的抽象, 文件是對輸入/輸出設備的抽象, 虛擬存儲器是對程序存儲的抽象, 進程是對一個正在運行的程序的抽象, 而虛擬機是對整個計算機(包括操作系統、處理器和程序)的抽象。 如果你對這句話透徹理解了,說明對計算機系統的認識已經很深刻了。
分層:我只想和我的鄰居打交道, 如網路協議,Web應用開發。
分而治之:大事化小,小事化了,架構設計必備。
關鍵點來了,怎麼學習呢?
我原來的方式是先看書,看了很多書,數據結構,操作系統,匯編,網路...... 這種辦法的最大問題就是枯燥(嗯,那時候還沒有碼農翻身這樣用故事講解技術的文章)。
理論多,實踐少,很多知識點體會不深, 等到參與的項目多了,Coding多了,這些知識點才慢慢地鮮活起來。
一種更加有效的辦法是從工作中用到的知識點出發,從這個知識點向外擴展,由點到線,由線到面,然後讓各個層次都連接起來,形成一個立體的網路。
切記,學習是一個螺旋上升的過程,想要上升就得深度思考,多問幾個為什麼。
比如工作中用到了Redis,你在學習過程中發現這個Redis用了單線程來處理讀寫請求,為什麼要這么做? 對於成千上萬的請求它是如何處理的? 然後再聯想一下別的軟體:Tomcat為什麼不這么干? 想回答這些問題,需要發掘很多基礎知識。
這樣做的次數多了,積累到一定程度,量變就會引起質變,整個系統就被你看透了,你的知識又擴大了一圈,更多的疑問出現了......

G. 計算機編程如何入門

計算機編程最重要的是入門,如果入門的時候有一個好的學習方法及思路,有比較扎實的編程基礎,對今後的學習都是十分有幫助的,最重要的是學習計算機編程前,需要了解計算機語言有哪些,選擇一門語言進行系統的學習。目前,計算機語言分為JAVA、python、html5、C++等,建議你可以選擇JAVA這門語言,比較熱門,也是需求量、前景較光明的語言。


把一種計算機語言掌握後,想要學習別的語言也是比較簡單的,因為計算機語言都是互通的。還有很多人說自己的基礎很差,高中畢業什麼的。其實這個並不重要,比如說英語,在計算機語言里所用到的單詞量很少,而且都是常用詞,經常使用就記住了。


當然,如果要看原文資料或者幫助的話,專業詞彙比較多,不過在老師、同學的幫助下,也是沒什麼太大問題的。至於數學的學習,只是培養一個邏輯思維能力,在初學編程的時候影響不是很大。


學習計算機語言一般分為兩種方法,一種是自學,一種是報班學習,對於零基礎的學員建議報班學習,學習周期根據個人的實際情況而決定,一般在6個月到1年之間,如果基礎不扎實,只能多加練習。


關於計算機編程的學習可以到達內了解一下,達內目前已在北京、上海、廣州、深圳、大連、南京、武漢、杭州、西安、蘇州、成都、沈陽等70個大中城市成立了342家學習中心,擁有員工超過10000多人,累計培訓量已學員已達100萬人次。


達內集團憑借雄厚的技術研發實力、過硬的教學質量、成熟的就業服務團隊,為學員提供強大的職業競爭力,在用人企業中樹立了良好的口碑。

H. 計算機編程入門知識

個人建議你學C#。一般計算機專業學習的是C語言,但是初學者使用這個語言只能編寫出一些基於字元的程序,也就是像DOS命令一樣的程序,要編寫出有窗口、按鈕、圖像的程序有很長的路要走,C語言對於初學者來說不夠直觀,也挺挫敗信心的,覺得學了那麼久還編寫不出一個能展示給別人看的程序。更不要說匯編了,更加不直觀;而C#就方便很多,你可以很快寫出有窗口,有圖形的程序。另外一點就是,C#語言的編程環境比較完美。具體來說,你只要下載安裝Visual C#,就可以開始編程了;而且錯誤提示比較人性化,就是說你寫錯了,它會提示你,否則的話,你找老半天都不知道錯在哪,也會覺得很挫敗。
當然,你會猶豫是不是學其他語言更好呢?其實爭論語言的優劣是沒有必要的,因為他們專門為不同的目的而設計,合適的才是最好的。C#就很適合你,你可以很快寫出一個有模有樣的程序,體會編程的樂趣。
C#同時也教會你很多基本的編程概念,你以後學習其他語言會快很多。學好C#以後,你可以選擇,進一步學習C#,因為C#本身也是很強大的語言,能探索的很多很多。也可以根據你更明確的目標,接觸其他語言。如果你想對計算機有更深入的了解,願意投入較多時間,或者有興趣參加比賽,可以學C/C++;你想開發手機程序,可以學習Java,等等。。。
最後,我看了一下C#的教材,覺得《C#經典入門》這本書不錯,可以去買一本。第一章10頁左右,可以跳過,講的過於抽象了。祝你學習愉快!

熱點內容
錄制伺服器怎麼樣 發布:2024-04-28 01:13:16 瀏覽:463
提示mysql存儲過程不存在 發布:2024-04-28 00:52:35 瀏覽:312
絕地求生如何增加人機配置 發布:2024-04-28 00:42:55 瀏覽:315
思科怎麼配置主機數量 發布:2024-04-28 00:41:58 瀏覽:823
java進制運算 發布:2024-04-28 00:33:58 瀏覽:284
編譯原理什麼內容 發布:2024-04-28 00:01:33 瀏覽:478
安卓手機怎麼登錄ipadid 發布:2024-04-27 23:52:25 瀏覽:671
瀏覽量和訪問次數 發布:2024-04-27 23:44:56 瀏覽:476
在linuxpython 發布:2024-04-27 22:38:57 瀏覽:316
機頂盒密碼是在哪裡 發布:2024-04-27 22:32:47 瀏覽:158