下面我们学习程序这个概念
有同学说你怎么还讲程序呢
前面的 1234567 步不是程序嘛
对 那是程序
什么是程序
程序是一个指令序列
也就是 用指令排成的一个工作顺序
工作步骤
1*4 送 a
35*4 送 e 等等等等的
这就是一个工作次序 工作步骤
每一条 看作一个指令
这就是一个指令序列
这个程序啊 是程序
但是 计算机不能执行啊
计算机不认识它
对于计算机来讲
就要写出计算机程序
计算机程序是什么
同样的问题
这么来写
也是那 1234567 步
这是计算机程序
而且这是用 C 语言写出来的
计算机程序
计算机程序是什么
是跟计算机交流的
给计算机下达指令的
那些命令来组成的
下面 执行一下这个程序
执行
打印出来了
23 12 结果
23 只鸡 12 只兔子
这样执行了
大家说 唉呀 我这也不知道怎么算
计算机是按这个算的吗
是按这个算的
计算机怎么算 也是内部算的
跟咱们没关系
咱们看不着
但是呢
咱们现在初学呀
为了大家那个有个直观印象
咱们看看 计算机内部怎么执行的
当然了
咱也是 在高一层次上来看
下面 让我们看看计算机内部
这个程序 是怎么执行的
大家看到有个黑点
执行
大家看这个黄箭头啊 执行到这个黑点
刚刚开始执行
往下咱们 一条一条执行
看
1*4 送到 a 里去
大家看 底下有个 a
那里的值 是不是 4 了
然后 35*4 送到 e 里去
大家看底下
那个 e 140
再执行 2-a 送到 a 里去
大家再看看 a 里头是不是 -2 了
再往下执行
94-e 送到 b 里去
大家看底下那个 b 是不是 -46 啊
再往下执行 x 赋值 b/a
大家看 x 是不是 23
这是 鸡的只数吧
再往下执行
y 赋值 35-x
大家看底下那个 y 是不是 12 啊
是不是就算出来了
在往下执行 打印
大家看打印界面
这顶上
是不是 23 12 打印出来了
计算机内部 就这样一行一行往下执行
更深一层次的 再底层的 咱别讲了
等学编译原理的时候 会学的
a 赋值 1*4
里面的机器代码指令 是什么样的
你会学那个的
咱不讲那个了
就执行到这儿吧 退出去
咱们
执行了这个程序
也看了机器内部
一条一条的 是怎么执行的
这是计算机程序
计算机程序
是给计算机下达指令的
而且是个 C 语言程序
计算机懂这个程序
不懂刚才 1234567 步
这个程序是什么
用计算机语言写出来的
计算机语言 叫程序设计语言
程序设计语言分作三大类
机器语言 汇编语言 高级语言
都什么样
也给大家看看它的样子
就别用这个程序了
这个程序太复杂了
虽然是简单
也太复杂了
更简单一点
比如就算这个 y 的值是什么
X+15 或者 X-15
根据x是不是小于y决定
根据 x 是不是小于 y 决定
咱们看
用机器语言写出程序来 什么样
这个样子啊
要早期来看 都用纸带穿成孔
现在 在机器内部都是 这些二进制代码
什么 1010 1001
0001 等等等等
你能看懂吗
你看不懂 我也看不懂
天书一样
但计算机内部 就懂这个二进制代码
它那程序就这样
早期计算机刚出来的时候 编程序就这么编
现在不这么编了
这么编程太麻烦了
所以人们
就设计了一个汇编语言
同样问题
这么写 就简单了吧
清楚了吧
MOV 传送 X 送到 AX 里去
比较 Y 跟 AX 里的值比较
谁大谁小 等等等等的
刚才那个二进制代码 也是那个意思
但是 看不懂啊
现在能看懂
人们就用汇编语言 来写程序
当然了
汇编语言写程序
计算机执行的 是二进制代码
最后被它转换成 那个二进制代码
但人可以这么写啊
还有高级语言
那就更简单啦
大家看
这是一个 C 语言写出来的 同样问题
如果你不懂 C 语言
不懂计算机 你能不能看懂啊
凭你的英语知识 也应该看懂吧
if
如果 X 小于 Y
怎么办 否则怎么办
跟这个是一样的
你也能看懂啊
这是高级语言
因为人们 对汇编语言还觉得麻烦
所以设计了 高级语言
高级语言写出的程序
跟我们人的自然语言 就觉得差不太多了
就好懂了 好看了
当然
高级语言写出的程序
最终 也得翻译成
二进制代码 的机器语言程序
才能执行
咱们讲程序设计
刚刚学程序设计
不能陷到那个什么
汇编语言 机器语言 那个泥潭里去
咱们用高级语言来讲
既然用 C 语言 讲程序设计
就讲看一看 C 语言程序的结构
这是鸡兔同笼的问题的 C 语言程序
以后编程序 就要按照这个格式来写
这是这一章里最重要内容
程序结构
在这个程序里
头一横 括入文件
你这个文件内容还不够
另有一个文件
那文件里有程序
括到这来 镶到这来
跟你构成一个程序
这个意思
这个 不是必须的
这行是必须的
声明
这程序里用到的一些变量 在这声明
什么 a b e 啊 什么 x y 啊
都是什么东西
整数类型变量 在这声明呢
下面
这是有效的计算部分
那 1234567 步 那七行在这呢
这是一个函数
是主函数
一般的 C 语言程序 就这样结构
前面若干说明 后边有若干函数
函数里 给出了具体计算
这个程序简单
可能就一个主函数
现在 鸡兔同笼问题就一个主函数
但是 有的问题复杂
复杂的程序结构 可能就比这个还复杂
函数不止一个 不算
还可能 不在一个程序文件上
这个程序
在一个文件上
如果 程序太复杂了
可能 不在一个文件上
举个例子
当然 这个程序不复杂
放一个文件里 没问题
咱们有意的 把它放在两个文件上
一个文件 hello.C 有这么几行
另一个文件 starup.C 有这么几行
这两个文件合在一起 构成一个程序
每个文件 结构什么样
跟刚才那个结构 差不多
概括起来
一个 C 程序 由若干个编辑单位组成
一个编辑单位是什么
就是一个源程序文件
像刚才这个
这是两个文件
一个 C 程序由若干编辑单位组成
每个编辑单位呢
看一个文件
哪个文件都行
由若干顶层声明组成
顶层声明是什么
主要是函数定义
还有什么
还有一些什么 类型定义啊 变量声明啊
外部声明 等等等等的 一系列声明
都可以作为顶层声明
顶层声明是什么
若干个声明
其中 主要的是函数定义
一个程序 就是这样
这么组成的
任何一个 C 程序
都由有一些函数定义
加一些声明组成的
必须有一个主函数
这个函数的函数名 main
就像这里这个 右边有 main 这函数
有 main 而且只能有一个
什么意思
你这个程序执行啊
从 main 这个函数执行
你要有多个 从哪执行
那不知道了
你要没有 那从哪执行也不知道啊
所以必须有一个
而且只能有一个
这是 C 程序的结构
话说回来了
咱们现在
学习的过程中
那个程序啊
不太大 一个文件就够用了
所以呢
一个 C 程序是什么
一个源程序文件
里头由若干个声明 来组成
声明可能是什么
可能是 什么类型定义呀
变量声明啊 等等的一些声明
其中 最主要的有 若干个函数是定义
这些函数定义里
要有一个函数
它的名字叫 main
它 是主函数
程序从这个 main 开始执行
如果程序再简单了
可能就 只有一个 main 函数
别的函数没有
像鸡兔同笼这个问题一样
只有一个主函数
有关程序的概念
咱们就介绍到这儿