您的位置:首页 > 职场人生

如何入门计算机高级程序语言,进化菜鸟程序员

2018-05-14 12:34 651 查看

身边非计算机专业的同学、朋友蛮多的,谈到程序可能会有一两个会说自己会写几行Hello world!.

但菜鸟程序员怎么可能就只会几行Hello world呢?

理科最重要的就是理解,一句hello world 几行代码,比如

如果用C

 

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

 

//line1,引入基本输入输出库

//line2,创建入口函数,并且是一个具有返回值的入口函数,这里定义为int

//line3,调用打印方法,并且传递字符串"hello world"

//line4,因为该函数是有返回值的函数,所以在此处返回一个int类型的值  

我记得我刚刚学c语言的时候就一直纠结为什么要返回0(其实是上课走神了),

返回值在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

function print(str){//声明这是一个带参数的方法
console.log(str)  //打印参数到控制台
}

var s = "I love U"//声明一个字符串
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

 

var i = 0 //声明一个变量并且赋值
for (i; i < 10; i++) {//使用for循环
console.log(i)//打印
if (i > 6) {//if判断如果大于6 才执行下面的语句
console.log("I love a beautiful girl!")
}
switch (i) {//switch 分支判断
case 1:console.log("I just hava 1 pen")//当i = 1时怎样怎样
break//退出分支判断
case 2: print(i)//当i = 2时怎样怎样
break
case 3: print(i)//当i = 3时怎样怎样
break
default:console.log("I hava to many pens")//当i = 都是上面想要时怎样怎样
break
}
}
function print(num) {//声明一个带参数无返回值的方法
console.log("I hava" + num + "pens")//打印
}

 

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上

作为一个菜鸟程序员要与时俱进,要学的很多

 

且随疾风前行,身后一许流星

吾虽浪迹天涯, 却未迷失本心

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐