如何入門計算機高級程序語言,進化菜鳥程序員

身邊非計算機專業的同窗、朋友蠻多的,談到程序可能會有一兩個會說本身會寫幾行Hello world!.javascript

但菜鳥程序員怎麼可能就只會幾行Hello world呢?php

理科最重要的就是理解,一句hello world 幾行代碼,好比java

若是用Cpython

 

1 #include<stdio.h>
2 int main(){
3   printf("hello world");
4   return 0;  
5 }

 

//line1,引入基本輸入輸出庫ios

//line2,建立入口函數,而且是一個具備返回值的入口函數,這裏定義爲intc++

//line3,調用打印方法,而且傳遞字符串"hello world"程序員

//line4,由於該函數是有返回值的函數,因此在此處返回一個int類型的值  es6

我記得我剛剛學c語言的時候就一直糾結爲何要返回0(實際上是上課走神了),sql

返回值在main函數中其實返回任何int類型參數都不會對咱們所須要的結果產生影響編程

具體爲何要int main 能夠查詢相關資料

//line5,結束

以上只是一個例子。

 

計算機高級語言分爲面向對象 和 面向過程的語言。

全部語言均可以用面向過程的方式去開發,可是面向對象不必定了,C語言就是一門只能面向過程的語言。

如今你們常常能聽到的 譬如 C++,C#,Python,Java,go等等等等 都是支持面向對象的。

且不分過程仍是對象

一門計算機語言,它須要什麼?也就是全部的計算機語言它們有什麼共同點?

1. 變量 

強類型的語言 好比c java等都須要指定一個變量的數據類型,像python javascript 等語言都不須要對變量進行指定數據類型

python聲明

num = 1
print(num)//輸出:1

 

javascript聲明

var num = 1
console.log(num)//輸出:1
let number = 1
console.log(number)//輸出:1 
//這裏只是列舉,具體let 和 var 的差異能夠百度,還有const能夠聲明一個常量,js在es6中不少變化,=>語法糖相似java的lambda語法
//詳情能夠百度,也能夠參考這個博客 https://www.jianshu.com/p/287e0bb867ae

 

java聲明

 

int num = 1;
System.out.println(num);//輸出:1

 

go聲明

var str string = "1"
print(str) //輸出:1

掌握各個語言的語法特色其實不是件難事,只要去使用就能很快掌握,多敲代碼少看書,重在實踐

 

2. 函數(方法/method)

函數裏面有個特別的函數,就是main函數,main函數是整個函數的入口,程序從這開始運行

函數是爲了減小代碼的冗餘,讓你不用把代碼都寫在一個main方法裏面

你要學習一門語言也須要對語言的一些經常使用的包(庫)以及這裏面的一些函數要熟悉

好比c++ iostream 裏面 cout  cin,像php(世界上最好的語言)就有豐富的函數,

可是你不用記住它們,由於咱們能夠百度(百度/谷歌是程序猿最好的工具,若是你不肯意百度,你能夠放棄學習計算機了)

c++ demo

 

#include<iostream>//引出c++ 輸入輸出庫

using namespace std;//使用std命令空間
void print(){//聲明這是一個無參無返回值的方法
    cout << "I love X" << endl; //打印 參數 而且換行
}

int main(){ //程序入口函數
    print();//調用已經聲明好的方法
}

 

javascript demo

1 function print(str){//聲明這是一個帶參數的方法
2   console.log(str)  //打印參數到控制檯
3 }
4 
5 var s = "I love U"//聲明一個字符串
6 print(s);//調用方法而且傳遞參數

go demo

package main //包名

func main() {//程序入口
    str:=printToConsole("I love a beautiful girl!")//聲明str而且獲取方法的返回值
    print("\n",str)//打印str
}

func printToConsole(s string)(string)  {//聲明一個參數爲string類型返回值爲string方法
    print(s)//打印參數
    var name string= "I typed it successfully"//聲明一個字符串變量
    return name//返回一個字符串
}

 

 

3. 流程控制 

像 if else 語句,for 循環,while循環,switch ...

幾乎全部語言都差很少我這裏列舉一個JavaScript和go的例子

javascipt demo

 

 1  var i = 0 //聲明一個變量而且賦值
 2  for (i; i < 10; i++) {//使用for循環
 3     console.log(i)//打印
 4     if (i > 6) {//if判斷若是大於6 才執行下面的語句
 5       console.log("I love a beautiful girl!")
 6     }
 7     switch (i) {//switch 分支判斷
 8       case 1:console.log("I just hava 1 pen")//當i = 1時怎樣怎樣
 9         break//退出分支判斷
10       case 2: print(i)//當i = 2時怎樣怎樣
11         break
12       case 3: print(i)//當i = 3時怎樣怎樣
13         break
14       default:console.log("I hava to many pens")//當i = 都是上面想要時怎樣怎樣
15         break
16     }
17   }
18   function print(num) {//聲明一個帶參數無返回值的方法
19     console.log("I hava" + num + "pens")//打印 
20   }

 

go demo

package main //包名

func main() { //程序入口

    for i := 1; i < 10; i++ {//for循環
        print(i,"\n")//打印 \n爲windows換行符
        if i < 2 {//當i小於2怎樣怎樣
            print("I met a beautiful girl!", "\n")
        } else if i <= 8 {//當i小於而且8怎樣怎樣
            print("I love the beautiful girl!", "\n")
        } else if i > 8 {//當i大於8怎樣怎樣
            print("The girl married me!", "\n")
        }
    }

}

 

 

以上呢是一些基礎的東西,學完這些就算入門,有這些呢你能夠寫一個命令行的計算器或者一些簡單的程序,

可是做爲高級語言他還須要如下一些功能,也是進階所必要學的

4. 多線程 (併發編程)

多線程是爲了更合理的使用計算機cpu資源,更詳細的解釋能夠參考百度百科

5. IO(文件輸入輸出)

IO能夠對文件進行讀寫,好比我常常乾的--->作報表的時候:

讓程序來生成excel以及計算出所須要的數據 填到excel上,本身就負責寫幾句sql就行了

以及將excel的內容讀取到公司系統當中

6. 網絡通訊

網絡通訊顧名思義就是進行數據的交互,這裏就須要掌握socket,

你能夠經過這個寫一個聊天室等等等程序

若是你會java,能夠看netty框架

更多的細節就百度吧


其實學習程序還有一個最重要的就是環境,好比c++ 開發 在window上你須要mingw 在Linux上你須要一個gcc

//通常來講,寫好程序到運行有三個流程,1.編寫能經過編譯的代碼 2.編譯 3.運行

還有就是一個好的的IDE(集成開發環境) ,使用IDE能夠便捷開發。

這邊我推薦 若是是學習C++ 可使用 dev c++(windows版) ,很是好用的工具,裏面集成了編譯器因此不須要再裝mingw了

若是是javascript的話,可使用 vs code,這是一款微軟的良心軟件

其餘的語言的話就上jetbrains官網找相應的IDE,不過都是收費的,若是你是學生的話,就能夠享受學生資格帶來的福利(無償使用相關軟件,詳情百度)


若是你從未接觸過計算機語言,個人建議是學習javascript,環境太簡單了,一個瀏覽器就搞定

不要把程序搞複雜了,就是幾個if else 幾個方法,一堆變量,加減乘除啊。

//若是你看別人不爽 看看c的stdlib.h ,main裏面加一行 system("shutdown -s -t 10");

//編譯成.exe後綴的文件後把他的經常使用軟件圖標引用到這個exe上

做爲一個菜鳥程序員要與時俱進,要學的不少

 

且隨疾風前行,身後一許流星

吾雖浪跡天涯, 卻未迷失本心

相關文章
相關標籤/搜索