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

計算機編程基礎知識

發布時間: 2022-02-23 10:08:15

㈠ 計算機編程知識

同道中人!兩年前我也和你一樣,誓死要學java,到處打聽怎麼學,非專業就是非專業,總是提出這么沒厘頭的問題!
經過這么長時間的滾打摸爬,總算有了點眉目!
我認為,不要過於相信別人的經驗。去圖書館或書店,翻編程的書籍,自己喜歡哪本就去好好研究,畢竟興趣是自己最好的老師和最大的動力!將來遇到的困難全仰仗著興趣去戰勝它們!
將來終歸是要最軟體的,或web吧,但最重要的是編程思想---演算法,語言還會層出不窮,但演算法是業已固定的。所以要學的是演算法。
C++,java,C#都是踩在C的肩膀上的,所以,把演算法學好了,萬變不離其宗!

㈡ 計算機編程入門

選擇一門編程語言、建立基本的編程思想、注重實驗和學習相關知識。

1、選擇一門編程語言。

雖然目前編程語言有600種左右,但是比較流行的編程語言只有幾十種,所以盡量選擇流行程度比較高的編程語言來入門編程。對於沒有明確編程場景的初學者來說,盡量選擇全場景編程語言,比如Java、Python、C#等就是不錯的選擇,不僅應用范圍廣泛,而且也有大量的開發案例可以參考學習。

(2)計算機編程基礎知識擴展閱讀

注意事項:

1、網上有很多編程社區,編程論壇,以及免費的學習教程、視頻資源等。剛開始學習,除了看書,要親自上手實踐,遇到問題去這些地方查找。

2、要學習電腦編程,對於剛入門的新手來說,一定要多實踐,多敲代碼,遇到bug上網查找,多看看別人的博客、個人網站,向程序員大牛學習。

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

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

數值的轉換、移位

這幾點非常重要,因為幾乎所有的編程語言都有數據類型,而最基本數據類型必然包括整數和浮點數。
搞不清這些表示和運算,在編程中就會遇到一些稀奇古怪的問題。
從匯編層面理解程序的執行
順序、分支、循環、函數調用、數組、結構體等在匯編層面是怎麼實現的,寄存器和內存是怎麼使用的。
理解了這些其實也就理解了馮諾依曼計算機體系結構,這是計算機學科一個基礎性的東西。
知道程序在底層是怎麼運轉的, 對於學習各種虛擬機有很大的幫助,比如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為什麼不這么干? 想回答這些問題,需要發掘很多基礎知識。
這樣做的次數多了,積累到一定程度,量變就會引起質變,整個系統就被你看透了,你的知識又擴大了一圈,更多的疑問出現了......

㈣ 計算機編程入門知識

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

㈤ 電腦編程的基礎知識

1:如果你能夠熟練的使用Windows的話,你就可以開始你的程序生涯了!

2:首先從C語言開始。有的朋友可能認為C語言太難了,應該從VB開始。雖然,對於一個初學者來說,用一些控制項堆砌成一個小軟體,是有一些成就感,但是,基礎才是最重要的!C語言對於數據類型的描敘,遠比VB裡面說的更為全面,清楚,明白,而這些卻是編程中的根本!

3:學C語言,從數據類型,基本表達式,再到條件語句,循環語句,然後學習函數,再加上一些簡單的數組知識,就可以了!一句話,到現在為止,你只要理解結構化程序設計的思想也就夠了!

4:有了以上的基礎,就要開始學匯編了。匯編開始的時候是很難,那些各種各樣的寄存器,分段的內存地址,是很難理解,可是這些知識理解了以後,後面的內容就簡單了,學習8086的那些指令,再加上一些偽操作,還有DOS和BIOS中斷的調用,就可以看懂書上的匯編程序了。(著重是理解演算法,對於後面的那些匯編的應用有興趣的可以看一下!)到此,你應該會對計算機的理解更深一層!

5:有了匯編的基礎,再來學習C語言中的精華部分----指針,可謂如魚得水了。現在你要對C語言全全面面的學一遍了,譚版的教材要從頭到尾認認真真的看兩遍以上。

6:學完以上的內容,有必要研究一下數據結構了,線性表,堆棧,隊列,樹,圖,二叉樹,等等,都要滾瓜爛熟!(最好是清華嚴蔚敏老師的那本教材)

7:請時刻記住:浮躁是學習編程的大忌!

8:現在,你應該學習一些資料庫的知識,還有一些常用的演算法了!

9:如果以上的知識你都學精通的話,就可以開始C++的課程了,找本C++上手的書,用一個星期的時間大概了解一下C++,然後找一本VC上手的書,再花一個星期的時間學習VC的界面和用法,就可以做一些簡單的應用了!

10:要想學好VC,沒有扎實的C++知識是不行的,以下書籍是VC程序員必須翻的爛熟的:C++Primer,Effective C++,Thinking in C++,More Effective C++
深入淺出MFC。

11:深刻理解C++面向對象的思想!

12:編程的時候,出錯是難免的,所以,MSDN一定要熟練使用;好的代碼風格會使調試的時候,更加簡單的查錯,所以,一定要養成良好的編程風格!

13:如果你嚴格的走好了以上的每一步,你才踏上了編程的門檻,可以混口飯吃了!
至於在以後,編譯原理,操作系統,還有軟體工程等等基礎知識,是必不可少的!

14:如果現在再來學習JAVA,C#等別的語言的話,應該是觸類旁通,拿來就用了,
到此,你才可以稱得上是一個高手!
參考資料:引用!回答者:獎學金是我的 - 魔法師 四級 1-14 10:59

㈥ 學編程需要什麼基礎知識

學編程要具備一定的基礎,總結之有以下幾方面:
(1)數學基礎 從計算機發展和應用的歷史來看計算機的數學模型和體系結構等都是有數學家提出的,最早的計算機也是為數值計算而設計的。因此,要學好計算機就要有一定的數學基礎,出學者有高中水平就差不多了。
(2)邏輯思維能力的培養 學程序設計要有一定的邏輯思維能力,「邏思力」的培養要長時間的實踐鍛煉。要想成為一名優秀的程序員,最重要的是掌握編程思想。要做到這一點必須在反復的實踐、觀察、分析、比較、總結中逐漸地積累。因此在學習編程過程中,我們不必等到什麼都完全明白了才去動手實踐,只要明白了大概,就要敢於自己動手去體驗。誰都有第一次。有些問題只有通過實踐後才能明白,也只有實踐才能把老師和書上的知識變成自己的,高手都是這樣成材的。
(3)選擇一種合適的入門語言 面對各種各樣的語言,應按什麼樣的順序學呢?程序設計工具不外乎如下幾類: 1)本地開發 應用軟體開發的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;資料庫開發工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 2)跨平台開發 開發工具如 Java 等。 3)網路開發 對客戶端開發工具如:Java Script 等;對伺服器開發工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。 以上不同的環境下幾種開發工具中 VB 法簡單並容易理解,界面設計是可設化的,易學、易用。選 VB 作為入門的方向對出學者是較為適合的。
希望對您有幫助。

㈦ 計算機編程所需相關知識

現在市場上有各種各樣的編程語言,你想學編程的話,其實選任何一種編程語言都可以,編程里最需要的就是數學跟數據結構(或稱為演算法)知識。演算法是程序的靈魂,如果你的演算法沒有學好的話,學再多的編程語言都是在學它們的語法而已的。建議你先學一下C語言,它是比較基礎也比較簡單的編程語言,學完這門語言後你去看一下演算法類的書,再學其他的編程語言。
其實編程語言不一定要學得很多,只要你學精了一兩門,學起其他語言也是很快的。不同的只是語法而已,演算法的思想是一樣的。

㈧ 學習電腦編程需要什麼基礎知識

電腦編程就是 寫些東東 叫電腦幫你做事哦 ,很多黑客 就是 會 叫電腦幫做事 呵呵

㈨ 關於計算機編程基礎知識

編程也有很多種類。至於你說的應該要從語言開始。1——2星期就可以了。接下來就是要學一些方法了。這要用腦的。要自己慢慢摸所。如果你現在學編程還不算晚

熱點內容
adbandroid版本 發布:2025-01-16 13:53:14 瀏覽:388
直鏈雲存儲 發布:2025-01-16 13:19:30 瀏覽:727
電腦主機伺服器多少錢 發布:2025-01-16 13:00:28 瀏覽:668
linuxoracle操作 發布:2025-01-16 12:40:50 瀏覽:47
河北存儲服務價格 發布:2025-01-16 12:39:21 瀏覽:351
掛機伺服器的搭建 發布:2025-01-16 12:34:07 瀏覽:417
安卓怎麼刪除信任憑證 發布:2025-01-16 12:22:06 瀏覽:338
代理編譯 發布:2025-01-16 12:07:59 瀏覽:794
伺服器為什麼老是無響應 發布:2025-01-16 12:07:59 瀏覽:894
安卓怎麼傳軟體到蘋果 發布:2025-01-16 12:01:28 瀏覽:959