什么是编程语言?
学习编程语言之前,首先要搞清楚“编程语言”这个概念。
很小的时候,父母就教我们开口说话,也教我们如何理解别人讲话的意思。经过长时间的熏陶和自我学习,我们竟然在不知不觉中学会了说话,同时也能听懂其他小朋友说话的意思了,我们开始向父母要零花钱买零食和玩具、被欺负了向父母倾诉……
我们说的是汉语,是“中国语言”,只要把我们的需求告诉父母,父母就会满足,我们用“中国语言”来控制父母,让父母做我们喜欢的事情。
“中国语言”有固定的格式,每个汉字代表的意思不同,我们必须正确的表达,父母才能理解我们的意思。例如让父母给我们10元零花钱,我们会说“妈妈给我10块钱吧,我要买小汽车”。如果我们说“10元给我汽车小零花钱妈妈”,或者“妈妈给我10亿人民币,我要买F-22”,妈妈就会觉得奇怪,听不懂我们的意思,或者理解错误,责备我们。
我们通过有固定格式和固定词汇的“语言”来控制他人,让他人为我们做事情。语言有很多种,包括汉语、英语、法语、韩语等,虽然他们的词汇和格式都不一样,但是可以达到同样的目的,我们可以选择任意一种语言去控制他人。
同样,我们也可以通过”语言“来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言(Programming Language)。
编程语言也有固定的格式和词汇,我们必须经过学习才会使用,才能控制计算机。
编程语言有很多种,常用的有C语言、C++、Java、C#、PHP、JavaScript等,每种语言都有自己擅长的方面,例如:
- C语言和C++主要用于PC软件开发、底层开发、单片机和嵌入式系统;
- Java和C#不但可以用来开发软件,还可以用来开发网站后台程序;
- PHP主要用来开发网站后台程序;
- JavaScript 主要负责网站的前端工作(现在也有公司使用 Node.js 开发网站后台)。
可以将不同的编程语言比喻成各国语言,为了表达同一个意思,可能使用不同的语句。例如,表达“世界你好”的意思:
- 汉语:世界你好;
- 英语:Hello World
- 法语:Bonjour tout le monde
在编程语言中,同样的操作也可能使用不同的语句。例如,在屏幕上显示“C语言中文网”:
- C语言:puts("C语言中文网");
- PHP:echo "C语言中文网";
- Java:System.out.println("C语言中文网");
编程语言类似于人类语言,由直观的词汇组成,我们很容易就能理解它的意思,例如在C语言中,我们使用 puts 这个词让计算机在屏幕上显示出文字;puts 是 output string(输出字符串)的缩写。
使用 puts 在屏幕上显示“C语言中文网”:
puts("C语言中文网");
我们把要显示的内容放在("和")之间,并且在最后要有;。你必须要这样写,这是固定的格式。
总结:编程语言是用来控制计算机的一系列指令(Instruction),它有固定的格式和词汇(不同编程语言的格式和词汇不一样),必须遵守,否则就会出错,达不到我们的目的。
C语言(C Language)是编程语言的一种,学习C语言,主要是学习它的格式和词汇。下面是一个C语言的完整例子,它会让计算机在屏幕上显示”C语言中文网“。
这个例子主要演示C语言的一些固有格式和词汇,看不懂的读者不必深究,也不必问为什么是这样,后续我们会逐步给大家讲解。
#include <stdio.h>
int main(){
puts("C语言中文网");
return 0;
}
这些具有特定含义的词汇、语句,按照特定的格式组织在一起,就构成了源代码(Source Code),也称源码或代码(Code)。
那么,C语言肯定规定了源代码中每个词汇、语句的含义,也规定了它们该如何组织在一起,这就是语法(Syntax)。它与我们学习英语时所说的“语法”类似,都规定了如何将特定的词汇和句子组织成能听懂的语言。
编写源代码的过程就叫做编程(Program)。从事编程工作的人叫程序员(Programmer)。程序员也很幽默,喜欢自嘲,经常说自己的工作辛苦,地位低,像农民一样,所以称自己是”码农“,就是写代码的农民。也有人自嘲称是”程序猿“。
与编程相关的计算机硬件介绍
不管是台式机还是笔记本,它们内部都有一块电路板,上面密密麻麻地布满了大小不一的电子器件,包括CPU、内存条、网卡、各种插槽和接口等,这就是“主板”,如下图所示。
这张图片主要让读者了解主板的构造,你不必理解图片中各个晦涩的名词。
图1:计算机主板
CPU
CPU (Central Processing Unit) 就是“中央处理器”,是计算机的大脑,负责计算、思考、处理数据、控制其他设备等,没有CPU,计算机就无从谈起,CPU的速度直接决定了电脑的运行速度。如下图所示:
图2:CPU
目前市场上常见的应用于台式机和笔记本的CPU有 Intel(英特尔) 和 AMD(超微半导体公司),Intel 性能好一点,占据了大部分份额。
CPU有很多针脚,直接插在主板上,如下图所示:
图3:CPU插槽
内存
内存就是下面的长方形“卡片”,也叫内存条。
图4:内存条
我们常说电脑有几个G的内存,就是指它的大小,市面上常见的有2G、4G、8G等。
C语言程序必须加载到内存才能运行,CPU 也被设计为只能从内存中读取数据和指令,一名不了解内存的程序员,注定无法彻底理解程序的运行原理,不能让自己的编程水平有一个质的飞越。
内存条插在主板上的特定插槽内,如下所示是台式机的内存插槽:
图5:台式机内存插槽
不过笔记本为了节省空间,一般将内存条平放,如下所示:
图6:笔记本内存插槽
主板上一般有多个内存插槽,可以插多个内存条,电脑内存大小是所有内存条大小之和。内存条也被称为主存。
硬盘
硬盘是用来保存数据的。打开一个文件,编辑完成后,Ctrl+S 就保存到了硬盘,断电不会丢失。硬盘分为机械硬盘(HDD)和固态硬盘(SSD)。
机械硬盘就像VCD或DVD,由一个精密电机带动光盘快速转动来让探头读取和写入数据。如下图所示:
图7:机械硬盘
固态硬盘就像手机内存卡或U盘,内部有上亿个电子元器件,非常细小,达到纳米级别,通过电路来读取和写入数据。如下图所示:
图8:固态硬盘
与机械硬盘相比,固态硬盘在读写速度上有很大优势,一个很明显的例子就是电脑安装了固态硬盘开机速度很快,很少出现卡顿的现象。
硬盘不是直接插在主板上,而是通过导线与主板相连,所以叫外部存储,也是电脑外设的一部分,不过不像鼠标、键盘、U盘等,没有也可以正常工作,硬盘是电脑正常运行所必需的外部设备。
协调
CPU、内存、硬盘等部件不能各自为战,它们通过主板连接在一起,由CPU控制,协调工作。