当前位置:首页全部内容什么是程序?程序是由什么构成的?

什么是程序?程序是由什么构成的?

什么是程序?

学计算机必须知道程序这个概念,因为它是软件的主要组成部分。

程序其实就是指令和数据的集合。

指令就是一系列的命令或者代码,比如你按键盘上的删除键,其实就是向操作系统发送了一个删除的指令。

数据就是一堆二进制的01代码,它分为两类,一类是作为指令执行对象的输入数据,一类是从指令执行结果得到的输出数据,无论程序多么复杂,其内容也都是指令和数据。

在编程的时候,程序员为一组指令定义一个操作,这个叫做函数。为数据定义一个名字,这个叫做变量。看到变量和函数, 大家也许会联想到数学吧。

但是在程序中有一点与数学不同的是, 变量和函数的名字都可以由一个以上的字符构成, 比如下面这种情况。

output = operate(input)

也就是说, 使用由多个字符构成的长名字也是可以的。 而且写成这样的情况更加普遍。

举个例子,如下是一段编程语言C语言写的代码:

int a, b ,c; a = 20; b = 30; c = fun(a, b);

在C 语言中要在每条指令的末尾写一个分号“;”。

第一行的“int a, b, c;” 表示接下来要使用名为 a、 b、 c 的整数变量, 其中 int 是integer( 整数) 的缩写, 用于告诉计算机“要用的是整数”,学过小学数学的人都知道整数是什么吧!

下一行的“a = 20” 表示把整数 20 赋值给变量 a。 同样地, “b = 30;” 表示把整数

30 赋值给变量 b。 等号“=” 是赋值给变量的指令,记住在编程语言中等号“=”不是等于的意思而是赋值的意思

再来看最后一行的“c = fun(a, b);”, 这一行表示把变量 a 和 b 传给函数, 并将函数运算结果赋值给变量 c。

其中使用了一个名为 fun的函数, 但是它的具体实现我并没有写出来,只是代表它会返回一个值,然后把这个返回的值赋值给c。

通过上面这个例子, 大家就应该能明白程序确实只是由指令和数据构成的了吧。

程序员在写好代码后,代码并不能直接运行,而是需要经过编译后再执行,什么是编译?

所谓的编译,就是把C语言等编程语言写的文件(也叫做源文件)转换成机器语言(也叫作二进制代码),在Windows系统下叫做exe可执行文件,其内容大概如下:

C7 45 FC 01 00 00 00 C7 45 F8 02 00 00 00 8B 45 F8 50 8B 4D FC 51 E8 82 FF FF FF 83 C4 08 89 45 F4 8B 55 F4 52 68 1C 30 42 00 E8 B9 03 00 00 83

它是一段用16进制表示的二进制代码,这些数据代表了什么呢?

这些数据其实就是一些指令和数据,比如C7可能代表的是一个赋值操作,45代表的是一个整数。只是这种数据人类很难看懂,但是对于计算机来说这个很容易读懂。

大家所使用的 Windows 系统的计算机中, 都会有很多个以 .exe 为扩展名的可执行程序文件。

计算机是执行程序的机器,程序是指令和数据的集合,只要定义出了指令和数据的规范, 装有符合规范的程序的计算机自然就可以相互协作了。

所谓计算机的协同工作指的是, 输入到一台计算机中的数据, 可以通过互联网传送到与这台计算机相连的其他计算机上执行运算, 运算所输出的结果再返回给这台计算机。

无论是哪个程序, 其内容都是数值的罗列, 每个数值要么是指令, 要么是数据。

欢迎关注我,学习更多计算机知识!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧