零基礎如何學好編程?

高一了,對電腦感興趣,想自學編程,請問大家怎麼學好編程,暫時0基礎。編程分很多種,哪個適合新手?


學好編程,我覺得是非常難的事情。大學開始畢業4年時間,才勉強能編出一些可靠的商用的軟體代碼。

但如果是想學編程,又還沒任何基礎,我能給的建議是:

1、想清楚自己的目的。

是為了充實自己,還是自己內心對計算機(不只是電腦)的渴望?

如果是充實自己,那除了編程之外的基礎東西也夠學習了解很長一段時間了,比如計算機網路,計算機硬體,計算機歷史,計算機基礎結構等。同時這樣內容也是計算機專業的學生在大學裡主修的課程。

如果是對計算機的迷戀或者渴望,那就好辦了。興趣是最偉大的老師。以上的內容你都可以根據一個大學課程的安排選中自己想要了解的方向,深入學習。

2、選中自己的興趣。

假設你是為了個人興趣(也許在高中的時候,對興趣的把握可能沒那麼深刻。)而想學習編程,那一定有你喜歡的領域。

比如:iPhone開發,Android開發,機器人等嵌入式開發,WEB網站應用開發,Windows桌面程序開發,後者Linux伺服器內核驅動開發。

這些領域每一個都值得研究很多年。但有了興趣後,就可以在一個領域不斷的積累培養知識體系與編程技能了。

3、從一門語言開始

如果iPhone,則Objective-C

如果Android,則是Java

如果是基礎語言開發,Linux等,則是C語言

如果是WEB開發,則是Java,Python,RoR,PHP等

如果是Win桌面開發,則是C++,C#

如果是嵌入式開發,則是C,彙編

一般在高中也有很多人開始學習編程,而且由於C語言的廣泛應用,以C語言作為一個門語言還是比較推薦的。其次的Python也推薦。

4、做一個可以用的東西出來

做一個東西需要有目的,有工具,有想法,有實踐能力。

只有你用某一門語言寫了一個東西出來,才能更好的掌握這門技能。

比如你寫個iPhone應用,Android應用,或者做一個WEB應用,或者做一個Win桌面程序。

這時候興趣還是你的老師,為你指明方向。

5、可以參考的地方

大學課程列表參考,這個可以google百度下,很多大學課程安排都是有這些信息的。

在線網路公開課,現在的網易公開課已經非常全,在計算機領域的課程也非常多。

各種官方網站,比如Apple之於iPhone,Google之於Android,還有其他眾多參考Java,Python等。

學習思考實踐總結,不斷的與人交流,所以各大論壇,GoogleGroup,Github都是可以積極關注的。

總結:

基本上講完了,計算機領域從概念,知識,體系架構,語言變成,運維整個過程,知識體系比較龐大,編程只是其中一個環節和領域,要做好,需要了解上下文關係,體系知識關係。這些知識的培養與積累都是要在不斷的學習實踐過程中總結的。

希望你在計算機領域能滿足自己的好奇心,也能創造更大的價值和成就。

高中的時候,主要學習任務可別忘記了哈。以上的內容完全可以在業餘一步步積累。

祝你學習愉快。

最後送一句給LZ:

「天下沒有免費的午餐」,想做到任何事都是需要付出巨大的。


請在電腦看本回答。##寫一個C語言的簡單的入門教程吧,看完這個回答估計就能對C語言有一個基本認識了。##寫在前面

  1. C語言是世界上最好的語言
  2. 本回答中所有的代碼都會有詳細的注釋,注釋的符號是兩個斜杠,也就是 // 。
  3. 逐字逐句的閱讀這個回答,邊看邊操作
  4. 盡量不要直接複製代碼,不然會出錯的。請自己手打代碼。(非常重要!!)

以下是回答。

一、環境配置:暫時不推薦安裝Linux的Ubuntu系統並用vim和clang來入門,因為這是一件麻煩的事情。為了更加簡單,所以,直接下載devcpp這個軟體就好了

二、學會devcpp的基本使用方法1.按Ctrl+N新建一個文件來寫代碼,Ctrl+S來保存。 2.代碼寫好之後,按F11來編譯運行。

三、講一講hello world。

1. #include& //兩個斜杠是注釋的意思,為你的代碼打注釋是很有必要的
2. int main() //第一第二行代碼暫時不講,直接背下來,直接背下來
3. { //每一個程序都以左大括弧開始,右大括弧結束
4. printf("hello world"); //每一條語句的都已分號結束
5. return 0; //這一行是為了告訴電腦程序已經結束
6. } //每一個程序都以左大括弧開始,右大括弧結束

1.將上面的6行代碼輸入到devcpp裡面,保存後,按F11編譯運行,就可以跳出一個黑框輸出hello world。(注意不要把代碼前面的數字編號也輸入到devcpp裡面了)

2.這是一個最經典最簡單的程序。請務逐字逐句的閱讀上面的代碼和注釋。

四、用C語言實現加法

1. #include& //你仔細對比前面的代碼,發現前面兩行都是一樣的
2. int main()
3. {
4. int a=0; //這裡定義了三個變數,名字是a,b,c。
5. int b=0; //請注意:所有的變數都要先定義,再使用!!!
6. int c=0; //在定義變數的時候要給他們賦予一個初始值,一般是0
7. printf("請輸入兩個整數a和b:");// printf("你的內容"); 這個是printf的使用規範
8. scanf("%d%d",a,b); //scanf的作用是輸入,括弧裡面的一堆 % ,下面會講
9. c=a+b; //這裡的=不叫等於號,而是叫做賦值符號
10. printf("%d+%d的結果是:%d",a,b,c); //輸出c的值
11. }

1、我們著重講講printf和scanf的使用方法(1)printf的使用方法

10. printf("%d+%d的結果是:%d",a,b,c);

①請看剛才的第10行代碼。在這裡要注意小圓括弧、雙引號、分號,一個都不能少,雙引號裡面是你要輸出的內容。

②注意一下這裡有一個 %d 這個東西。百分號在這裡叫做轉義符,d是整數的意思。%d就是告訴電腦:「我這裡要輸出一個整數,你得給我留一個地方出來。」所以,我們會在printf雙引號的後面看到a,b,c,因為每一個%d對應一個整數

(2)scanf的使用方法

8. scanf("%d%d",a,b);

①請看剛才的第8行代碼。這一行代碼的作用是從鍵盤輸入a和b的值。注意同樣用到了%d,表明我們輸入的是整數。

②雙引號後面的 a 和 b 。是取地址符的意思。這裡不多講,只要記住用scanf來輸入變數記得帶上 這個符號就好了。

到這裡,我們已經可以用C語言實現簡單的加法了,減法和乘法的實現和加法是類似的。

===========================不定期持續更新==============================

下次更新,我會講一講除法、for循環、switch-case選擇結構。


個人感覺先學c,而對於新人來說不要一上來就選擇c primer plus,先選擇一些簡單,薄一些能讓你大概了解c,再去看c primer plus,晉階時再看下c和指針,這時候盡量去深入學習下指針,隨後就是c專家編程了,對於c陷阱與缺陷有空時候看看還是很好的,想學好編程而數據結構與演算法當然也是不可缺少的,如果可以的話去看看,數據結構與演算法分析(高數會成為你晉級最好的一把寶刀)。以上也就是我現在的學習資料,我想(真的是我想我認為)學編程應該有舉一反三的想法,而對於新人來說,(其實我也是)有時候看書,不懂的地方不妨多看幾遍,之前我也曾一度因為語法的繁瑣,慢慢喪失熱情(希望保持熱情,不要像我三分熱度),後來一路磕磕撞撞,也慢慢走上正途(我自己個人單純認為)。正所謂長路漫漫,唯劍相伴,我想這劍指的便是編程吧。而學編程能遇到一本好的武功秘籍能讓你少走很多彎路的!例如編程珠璣之類或更多的好書。(這裡有很多比我這個大一小菜鳥的厲害的前輩大神,很多時候我都是潛水觀望,在他們的討論中成長,我也是這個學期才開始知道有編程這個東西的。)表達能力不好,多多諒解。


可以了解一下蛛網時代做的東東-蛛網系統(開源免費),可以藉助這個平台快速的稱謂合格的程序員!而且是一級棒的那種,做這樣的平台3-5分鐘即可,而且零編碼,很神奇吧


在信息化發展的幾十年里,Java軟體編程技術功不可沒,Java軟體編程的發展帶動了我國各行各業的發展,也改變了人們的一些生活方式,也提高部分行業的工作效率。而Java軟體編程技術的發展也是需要大量軟體開發人員和軟體項目管理人員來完成。但是這項技術相對比較高端,而且從業人員相對較少。目前軟體編程專業,在我國大學中很少有開設,就有開設的學校也是近年來推出的專業,在教學上也不夠成熟,而且課程體系也不太完善,這樣就導致了我國軟體編程從業人員缺口巨大,培養Java軟體編程人員成為當務之急。

隨著軟體的普及,軟體已經涉及到了很多領域,所以在學習Java編程之前要清楚未來的發展方向:是想做底層開發?還是網站開發?還是更高端的商業軟體開發等等……

那如何學好軟體編程?

1、沒有什麼捷徑,如果有的話,價值也就不大了。所以別夢想一步登天,如果非要說有什麼捷徑的話,那就是比起自學來,找個能夠全方位指導你的學校會更好,畢竟現在這個快節奏社會,時間就是金錢,半年可以學會的東西,花兩三年才學會並不划算。

2、遇到問題多查多問,可以上網站進行搜索,可以加一些交流群,還可以多問學校的老師…… 另外要學會欣賞他人的代碼,向成功者學習。

3、忌諱急功近利,越急就越容易走彎路,軟體基礎雖然很簡單,但要真正學好半年一年的很正常,因此要有耐心和恆心。

4、精而非全,學精一門語言再轉其它語言也會容易的多,基礎很重要,不要貪多,學好Java編程語言就很不錯了。

5、在實踐中提高自己的能力:邊學邊練,買一些帶實例的書,可以試著做一些日常生活中常用到的小程序。

6、培養自己發現、思考、解決問題的能力。

7、計算機是技術更新很快的行業,你不會永遠都站在別人的前頭的,不斷學習,這才是王道!

8、IT企業是非常務實的,除了一些的基本證書,其他證書沒必要花費大的精力去考。

若想得到必先付出,沒有什麼事情是能一蹴而就的,如果真的想以後在這一行業大展身手,紮實的基礎和出色的技能一定是必備品,這就需要你從現在起靜下心來好好學習,慢慢積累,不管你是零基礎,還是門外漢,想學習Java都必須有一套不錯的Java教程,或者選擇一個不錯的Java培訓機構,動力節點是一家很不錯的Java培訓機構,八年多一直都在做,也沒改變過什麼。

俗話說得好興趣是最好的老師,想學好編程軟體開發,最重要的還是要有興趣沒如果對編程興趣缺缺,我建議你還是轉行吧,IT不適合你這種堅持不下去,對編程沒興趣的人。


學好一樣東西,要了解它的本質,歷史及局限性.

編程其實最早起源於中國,早在幾千年前,那時候還沒有發現電,更沒有電腦了計算機,但那時候老祖宗們就已經學會用0,1來表示世間萬物及運行規律了,

為了學好編程,我開始研究周易.研究五行八卦奇門遁甲.

潛心專研數十載... ...

我踏遍山河萬里,遊歷四海八荒... ....

我為有緣人占卜... ...

只收998... ...

不準不要錢... ...

你要來一卦嗎?


推薦閱讀:

應該向 Web 開發初學者推薦 PHP、Python 還是 Ruby ?理由是什麼?
使用Rust的開發效率怎麼樣?
哪些書籍能提高程序員的演算法能力?
創造編程語言應該學習什麼語言?設計編程語言最好是用C/C++嗎?
函數式編程的函數是如何實現的?

TAG:程序員 | 編程語言 | 編程 | 數據結構 | C語言入門 |