自學編程要從哪里開始學,然后有什么自學網站比較好
謝謝悟空邀請,大家好我是準程序猿道哥。
我自學編程都是在網上淘的培訓班資源,自我感覺比那些網站強的很多,網站上別人不會免費給你分享,免費給你分享的大部分都是公開課,這種課意義不大。
既然題主說要編程的自學網,那我就推薦幾個。
菜鳥編程
這個還算不錯的,但是都是純文本的東西。
慕課網
這是初學編程的天堂。
最后這是我的網盤,也是我自學的資料,我的大部分資源都是培訓班的資源,我會免費分享給大家,希望你們可以關注加贊,私信我給你資源鏈接哦~
如何學編程
編程是編定程序的中文簡稱,就是讓計算機代碼解決某個問題,對某個計算體系規定一定的運算方式,使計算體系按照該計算方式運行,并最終得到相應結果的過程。編程能提高邏輯思維能力,加強計算能力。
編程語言
Python
Python是一種面向對象有著代碼簡潔、可讀性強特點的解釋型計算機程序設計語言。代碼簡潔是因為它把許多的復雜的操作封裝起來,將C語言中麻煩的指針和內存管理對開發者隱藏起來,使得在開發過程中,無須在意這部分的細節。另外Python這門語言強制用戶用縮進進行排版,若不好好排版,則代碼編譯無法通過,或者運行過程會出現錯誤。
C語言
C語言是一門面向過程的、抽象化的廣泛應用于底層開發的通用程序設計語言,能以簡易的方式編譯和處理低級存儲器。C語言既具有高級語言的特點,又具有匯編語言的特點,是僅產生少量機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。
是有簡潔的語言、具有結構化的控制語句、豐富的數據類型、豐富的運算符、可對物理地址進行直接操作、代碼具有較好的可移植性、可生成高質量、目標代碼執行效率高的程序。
Java
Java通過面向作為靜態對象的編程語言的代表,可以充分的實現面向的對象理論的編程語言,有簡單性、功能強大、分布式、健壯性、安全性、平臺獨立與可移植性、多線程及動態性的特點。
Java支持在網絡上應用,Java既支持各種層次的網絡連接,又以Socket類支持可靠的流(stream)網絡連接,它是分布式語言。所以用戶可以產生分布式的客戶機和服務器。網絡變成軟件應用的分布運載工具。Java程序只要編寫一次,就可到處運行。
PHP
PHP是一種被廣泛應用的開放源代碼的多用途腳本語言,它可嵌入到HTML中,尤其適合web開發。
使用PHP的最大的好處是它對于初學者來說極其簡單,同時也給專業的程序員提供了各種高級的特性,只需幾個小時就可以自己寫一些簡單的腳本。盡管PHP的開發是以服務端腳本為目的,但事實上其功能遠不局限于此。
GO
Go語言(又稱Golang)是一種靜態強類型、編譯型語言,是一個開源編程環境,可以輕松構建簡單、可靠和高效的軟件。Go語言語法與C相近,但功能上有:內存安全,GC(垃圾回收),結構形態及CSP-style并發計算。Go內嵌了關聯數組(也稱為哈希表(Hashes)或字典(Dictionaries)),就像字符串類型一樣。
對比
python和c語言的區別主要體現在:語言類型、內存管理、速度、應用、運行、對象、聲明、測試和調試難度、復雜度、學習程度。測試和調試難度不同:Python相對其他語言而言是非常簡單的語言,高度集成,代碼量少。Python中的測試和調試更容易;C中測試和調試更難。學習難度不同:Python:Python程序更易于學習,編寫和閱讀;C語言:C程序語法比Python更難。
python跟java一樣是強類型語言,也就是說它不會根據環境變化自動改變數據類型。python是動態語言,而java是靜態語言。也就是說python在編程時,永遠不用給任何變量指定數據類型,而java寫程序時必須聲明所有變量的數據類型。
python的模塊類似于java的class,不過python模塊導入會執行代碼的內容,而java不會。python與java的執行方式還是蠻像的,都是將源碼編譯成bytecode然后交給相應的虛擬機去執行。
Python的框架數量較少,而PHP中成熟的框架比較多;PHP是面向web的語言,而Python是多用途語言,也可以用于web開發;Python使用非常嚴格的縮進強制執行,使它比PHP更具可讀性。
學習思路
認識編程
編程語言(programminglanguage)又稱程序設計語言,是一組用特定語言編寫的用于執行特定任務的指令。主要用于開發桌面應用、操作系統、網站、移動應用等。
低級編程語言
它基于二進制數0和1工作,處理器直接運行低級程序,不需要編譯器或解釋器,因此用低級語言編寫的程序可以運行得非常快。
低級語言進一步分為兩部分
機器語言
機器語言也稱為機器代碼或目標代碼,更容易閱讀,因為它通常以二進制或十六進制形式(基數16)形式顯示。
它不需要翻譯器來轉換程序,因為計算機直接理解機器語言程序。
匯編語言
匯編語言是為特定處理器設計的,它以象征性和人類可理解的形式表示一組指令。它使用匯編程序將匯編語言轉換為機器語言。
中級編程語言
中級編程語言介于低級編程語言和高級編程語言之間。
它也被稱為中間程序語言和偽語言。
中級編程語言的優點是支持高級編程的特性,是一種用戶友好的語言,與機器語言和人類語言密切相關。
例如:C、C++
高級編程語言
高級編程語言(HLL)旨在開發用戶友好的軟件程序和網站。
這種編程語言需要編譯器或解釋器將程序翻譯成機器語言(執行程序)。
示例:Python、Java、JavaScript、PHP、C#、C++等。
編程實踐
學習編程語言的過程簡單描述為:過、抄、仿、改、調、看、練、創、悟。
過
基礎知識點不求深解,語言什么樣的,適用場合、基本語法格式
抄代碼
從書上抄、例子中抄、邊抄邊想邊想邊回憶語法
模仿改
仿照給出的代碼寫出自己的代碼
勤調試
不斷調試驗證自己想法,繼續思考,再次驗證。熟悉調試工具調試方法
看n遍
出錯或者遇到問題時,將代碼從頭到尾看n遍直到快記住,找出問題原因
練
2-5步三遍以上
創新
拿出一個沒有寫過的根據要求,一步一步寫出來,寫不出來參考6
悟
主動找到寫代碼的感覺和成就感,保持下去。
選擇大于努力,只有切入一個適合自己的開發方向,才能持續進步。關于開發方向,我有以下兩個選擇標準。
興趣
學習編程是一個非常枯燥的過程,內容多,時間長,成本高,即使報名了培訓班也學不會,所以,我們首先要選擇自己感興趣的一個開發方向,這樣不但能快速學習,以后還能持續進步。學習編程的過程是比較艱苦的,沒有興趣很難硬抗下來,此處的興趣,是指別人無法撼動的熱愛,是工作之余讓你放松的事情。如果你只是有過某種想法,別人告訴你這個想法不靠譜,你就放棄了,這頂多是一時的雞血。
學習方式
費曼學習法
在學完一個東西之后去給別人講明白,注意是講給別人聽,當你寫成文章發表在網上的時候,你自然會去用更通俗的語言,更清晰的邏輯去講述這個事物背后的邏輯。這個過程是對自己學習的一個檢驗,也是加深映像整理思路的重要過程。
那么如果你是去記筆記的話,很有可能你會傾向于去照抄,或是不完全照抄,以“提綱”或是“知識點”的形式抄在本子上。說句實話,照抄的筆記真的沒用,因為現在搜索引擎的能力已經可以讓你把大多數東西快速找到,你為什么還要照抄到筆記本上呢?
從功利的角度考慮,技術文章的寫作,別人可以直接訪問,也可以逐漸累積你的影響力,一個好的個人技術博客,會給你的簡歷加分很多,而一個厚厚的筆記本,沒有人會管你記了什么。
做好筆記
大多數人沒有過目不忘的神技,學了也不一定馬上掌握,需要過后花時間慢慢領悟,而且還有忘掉的風險,所以對于重要的知識點都要做好筆記。編程的過程中總會遇到各種各樣的問題,比如編程環境的配置,常用的快捷鍵,編程過程中的錯誤、異常,軟件更新問題等等。面對這些問題都是如何解決的,一定要記錄下來,一是增加自己解決問題的經驗,而是以防下次出現。
多看官方文檔
外文資料互聯網是一個更新迭代很快的行業,所有編程語言都會不斷的更新新功能和修復舊Bug,網上查的資料很有可能是舊的解決方案,現在已經不適用了。所以最好最快的方法就是查看官方文檔。
進入行業圈子
只有進入行業圈子與其他人交流,你才了解最新的行業動態,才知道自己需要更新哪些技能。
動手做項目
學習編程的最終目的就是用所學的做出具有一定功能的項目,而做項目又是最好的學習和鞏固知識的方式。如果前期能力不足就先做一些簡單的功能模塊,一步一步慢慢來,不要一開始就要實現各種酷炫炸天功能,遇到不會的就在網上查,現在互聯網這么發達,獲取資源也及其方便。而且開發前也最好在網上查一下有沒有已經成型的框架或模板,什么都自己做一是很耗費時間,二是自己技術能力不足還可能留下不少坑。
學習Python
安裝編程環境
第一步:訪問Python官網,獲取最新安裝程序。
第二步:運行下載的安裝程序,注意勾選“AddPython3.7toPATH”,然后選擇個性化安裝,即“Customizeinstallation”。
第三步:確保“pip”被勾選上,之后安裝各種庫需要用到pip。
第四步:高級選項,需要的可以修改安裝目錄,通常沒有需要修改的,直接點“Install”。
第五步:等待程序自動安裝完成。
第六步:出現如下界面,說明安裝已完成。
第七步:驗證方法,Windows+R鍵打開“運行”窗口,輸入cmd運行,進入命令提示窗口,再輸入python,進入Python的命令模式,輸入print("Hello"),結果輸出了Hello,如下圖所示,確定開發環境已安裝完成。
運行環境
HelloWorld!
命令行
在Linux命令行輸入:$python
將直接進入python。然后在命令行提示符>>>后面輸入:>>>print('HelloWorld!')
可以看到,隨后在屏幕上輸出:
HelloWorld!
print是一個常用函數,其功能就是輸出括號中得字符串。
(在Python2.x中,print還可以是一個關鍵字,可寫成print'HelloWorld!',但這在3.x中行不通)
小程序
另一個使用Python的方法,是寫一個Python程序。用文本編輯器寫一個.py結尾的文件,比如說hello.py
在hello.py中寫入如下,并保存:print('HelloWorld!')
退出文本編輯器,然后在命令行輸入:$pythonhello.py
來運行hello.py。可以看到Python隨后輸出HelloWorld!
腳本
我們還可以把Python程序hello.py改成一個可執行的腳本,直接執行:#!/usr/bin/envpython
print('HelloWorld!')
需要修改上面程序的權限為可執行:chmod755hello.py
然后再命令行中,輸入./hello.py
就可以直接運行了。
基本數據類型
變量不聲明
Python的變量不需要聲明,你可以直接輸入:>>>a=10
那么你的內存里就有了一個變量a,它的值是10,它的類型是integer(整數)。在此之前你不需要做什么特別的聲明,而數據類型是Python自動決定的。
>>>print(a)
>>>print(type(a))
那么會有如下輸出:
10
這里,我們學到一個內置函數type(),用以查詢變量的類型。
回收變量名
如果你想讓a存儲不同的數據,你不需要刪除原有變量就可以直接賦值。
>>>a=1.3
>>>print(a,type(a))
會有如下輸出
1.3
序列
sequence(序列)是一組有順序的元素的集合,(嚴格的說,是對象的集合,但鑒于我們還沒有引入“對象”概念,暫時說元素)序列可以包含一個或多個元素,也可以沒有任何元素。
我們之前所說的基本數據類型,都可以作為序列的元素。元素還可以是另一個序列,以及我們以后要介紹的其他對象。
序列有兩種:tuple(定值表;也有翻譯為元組)和list(表)
>>>s1=(2,1.3,'love',5.6,9,12,False)#s1是一個tuple
>>>s2=[True,5,'smile']#s2是一個list
>>>print(s1,type(s1))
>>>print(s2,type(s2))
tuple和list的主要區別在于,一旦建立,tuple的各個元素不可再變更,而list的各個元素可以再變更。
一個序列作為另一個序列的元素
>>>s3=[1,[3,4,5]]
空序列
>>>s4=[]
自學
網站
菜鳥網站
這個python教程很適合小白學習,沒有高深的原理,照著教程學就完事了。
菜鳥教程是一個提供免費編程學習的網站,里面不但能學到編程知識,還能運用在線編程工具,使你在學習的過程中得到發揮,實踐得真理,邊學邊做中讓基礎打得更穩,讓自己的知識更加穩固。在自己有不明白不理解的地方可以在網站的用戶筆記中尋找大佬們的筆記,把自己所學和技術大佬的經驗所融合,使自己更好地提升自己的能力。
菜鳥教程內容豐富,例如前端熱門語言HTML5、CSS3、JavaScript、Vue等它該有的都有,都會從最基礎的開始教,讓剛學編程的小白由淺及深,一看就懂。每個知識點都有實例可以動手,直接在頁面內做你想要的效果真的非常棒。菜鳥的排版簡潔清晰有序,內容一針見血,讓你一看就能明白其知識點的含義。
菜鳥教程不僅前端教程語言豐富,后端的Java、PHP、Python更是一應俱全,當然數據庫、移動端、XML、ASP.NET、WebService、開發工具和網站建設也是應有盡有,菜鳥教程有學到的知識如此之多,奮斗吧少年。
廖雪峰的官方網站
廖雪峰的官方網站比較推薦新手程序員學習前端,這個網站的教學視頻的講解相對來說會比較生動,沒有其他教程那么死板,看起來也不至于那么犯困,也更便于新手去理解。總的來說,廖雪峰的官方網站作為一款啟蒙類的前端學習網站還是相當不錯的。
Python官方教程
這是Python官方出品的教程,可搭配Python標準庫一起學。
書籍
《Python編程從入門到實踐(第2版)》
作者:埃里克·馬瑟斯(EricMatthes)袁國忠譯
ISBN:9787115546081
出版:人民郵電出版社
本書是針對所有層次Python讀者而作的Python門書。全書分兩部分:部分介紹用Python編程所必須了解的基本概念,包括強大的Python庫和工具,以及列表、字典、if語句、類、文件與異常、代碼測試等內容;第二部分將理論付諸實踐,講解如何發三個項目,包括簡單的2D游戲、利用數據生成交互式的信息圖以及創建和定制簡單的Web應用,并幫助讀者解決常見編程問題和困惑。
《像計算機科學家一樣學Python》
ISBN:9787115425515
作者:艾倫B.唐尼(AllenB.Downey)
出版:人民郵電出版社
本書以培養讀者以計算機科學家一樣的思維方式來理解Python語言編程。貫穿全書的主體是如何思考、設計、發的方法,而具體的編程語言,只是提供了一個具體場景方便介紹的媒介。全書共21章,詳細介紹Python語言編程的方方面面。本書從基本的編程概念始講起,包括語言的語法和語義,而且每個編程概念都有清晰的定義,引領讀者循序漸地學習變量、表達式、語句、函數和數據結構。書中還探討了如何處理文件和數據庫,如何理解對象、方法和面向對象編程,如何使用調試技巧來修正語法錯誤、運行時錯誤和語義錯誤。
《計算機科學叢書:Java編程思想》
ISBN:9787111213826
作者:[美]BruceEckel
出版:機械工業出版社
本書的作者擁有多年教學經驗,對C、C++以及Java語言都有獨到、深入的見解,以通俗易懂及小而直接的示例解釋了一個個晦澀抽象的概念。本書共22章,包括操作符、控制執行流程、訪問權限控制、復用類、多態、接口、通過異常處理錯誤、字符串、泛型、數組、容器深入研究、JavaI/O系統、枚舉類型、并發以及圖形化用戶界面等內容。這些豐富的內容,包含了Java語言基礎語法以及高級特性,適合各個層次的Java程序員閱讀,同時也是高等院校講授面向對象程序設計語言以及Java語言的好教材和參考書。
《瘋狂Java講義》
ISBN:9787121361586
作者:李剛
出版:電子工業出版社
《瘋狂Java講義(第4版)》深入介紹了Java編程的相關方面,《瘋狂Java講義(第4版)》內容覆蓋了Java的基本語法結構、Java的面向對象特征、Java集合框架體系、Java泛型、異常處理、JavaGUI編程、JDBC數據庫編程、Java注釋、Java的IO流體系、Java多線程編程、Java網絡通信編程和Java反射機制。覆蓋了java.lang、java.util、java.text、java.io和java.nio、java.sql、java.awt、javax.swing包下絕大部分類和接口。本書重點介紹了Java9的模塊化系統,還詳細介紹了Java9的jshell工具、多版本JAR包、匿名內部類的菱形語法、增強的try語句、私有接口方法,以及Java9新增的各種API功能。
有誰知道C語言可以有哪些練習編程的網站
零基礎學習和在線編寫代碼可以考慮下菜鳥教程
菜鳥教程(www.runoob.com)提供了編程的基礎技術教程,介紹了HTML、CSS、Javascript、Python,Java,Ruby,C,PHP,MySQL等各種編程語言的基礎知識。
C語言面試題目刷題可以考慮牛客網牛客網是一個面向IT程序員的專業筆試、面試題庫平臺,專注于程序員的學習和成長服務。北京牛客科技有限公司旗下產品。
ACM等競技類試題練習可以考慮杭電OJ每個ACMer平時都是靠做題來訓練的,杭州電子科技大學的OJ及其受歡迎的。
新手建議只要你想學小白也能編程。學習編程和其他方向可能有所不同,除了看書、看視頻之外,關鍵是要勤動手,勤動腦。通過做大量的練習、項目實戰不斷積累代碼量。只有代碼量足夠多了,項目做的多了,能夠快速解決代碼問題,才能算是真正學會了。
尾言
如果足下基礎比較差,并且不知道從哪里學習這些知識,不妨關注在下,每天最淺顯的介紹C語言、C++,windows知識,喜歡我的文章就關注一波吧,可以看到最新更新和之前的文章哦。相關主頁也有專欄C語言教程哦
有哪些在線編程練習網站
1.How2J(how2j.cn)
推薦理由:學習JAVA非常不錯的網站,從基礎到高級的教程都有,這是某大神推薦給我的網站
2.慕課網(imooc.com)
推薦理由:非常喜歡這個網站能夠邊學習邊操作,一個不錯的it學習網站,不管是前端還是后端的都有
3.我要自學網(51zxw.net)
推薦理由:一個綜合性的學習網站,學編程也還是不錯的,海量優質視頻教程免費觀看
4.實驗樓(shiyanlou.com)
推薦理由:也是一個學習it知識的網站,如其名,該網站注重實驗
三多數控編程學習網是好網站嗎
三多數控編程學習網是一個好網站。個人認為,這個最好是不要在網站自學,因為那些都是理論知識,如果只用作了解一下那你可以去找網站看一看。
如果是踏實的想學這個的話,建議你找一個數控操作的工作,一開始從最簡單的裝夾拆卸的操作工開始,同時可以弄一本所操作的機床說明書自己有空多看看,有不懂的可以問問同事。稍微用點心也差不多三個月的時間就可以換一份可以自己獨立編程的工作。
高中,想自學一點編程,有什么好的自學軟件或網站嗎
建議你先從底層學做起,先學基礎的電工理論知識,再去掌握二次電路,二次電路的功底對你學習理解PLC編程有很大的幫助。