预备知识ppt课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【{例in1t .z2】; 输入两个数,输出其中的大数。
if (x>y) z = x; else z = y;
return(z);
}
main( )
/* 主函数 */
{ int a,b,c;
scanf("%d, %d",&a,&b);
c = max(a,b); /* 调用max函数,求a和b中大数 */
x>y
T
F
z=x z=y
输出z的值
图1.7 用N-S结构图描述的算法
已经证明,任何复杂的问题都可以三种基本算 法结构来描述:顺序、选择、循环。因此用计 算机语句描述的程序也包含三种基本结构。
12
1.1.3 结构化程序设计
程序的三种基本结构
顺序结构程序:按照书写顺序依次执行语句 选择结构程序:按照条件判断选择执行语句 循环结构程序:通过条件控制循环执行语句
5
汇编源程序的翻译:
将汇编源程序翻译为目标程序的过
程称为汇编
汇编汇编过程序程:
连接程序
汇编语言
汇
机器语言
连
可执行
运
运行
源程序
编
目标程序
接
程序
行
结果
(.ASM)
(.OBJ)
(.EXE)
图1.1 汇编过程
6
高级语言的翻译:
编译程序
编译方法
连接程序
高级语言
编
机器语言
连
可执行
运
运行
源程序
译
目标程序
三种基本结构的共同点: • 都是只有一个入口和一个出口; • 结构内的每一个框都有机会被执行; • 结构内没有死循环。
13
结构化程序设计的基本原则:
如果一个程序仅包含这三种基本结构(由这些基
本结构顺序组成),则称为结构化程序。
结构化程序设计的基本原则:
采用自顶向下、逐步细化的方法进行设计; 采用模块化原则和方法进行设计。即将大型任务从上
CPL语言:剑桥大学,1963年
发展过经程简化
BCPL语言:剑桥大学,1967年
进一步简化
B语言:Bell实验室,1970年 在PDP机器上用其编写UNIX系统
保持精练、接近硬件的优点,克服数据类型过少的不足
C语言:Bell实验室,1972~1973年用其改写UNIX系统
16
1.2.2 C语言的特点
包括说明性语句、可执行语句
以 ;表示语句结束
注释
可以出现在程序的任何位置
用 /* 和 */ 括起来,必须成对出现
书写格式
C语言没有行的概念,书写格式自由。
习惯小写字母,缩进格式。
21
1.12..源4程序C文程件序的建的立执和编行辑过程
语言简洁,表达能力强,易于理解
只有32个关键字,9种控制语句 增加学习难度 数据构造能力强 运算符丰富 程序书写格式自由
可直接访问物理地址,实现对硬件和低层
系统软件的访问
语言生成的代码质量高 可移植性好
17
1【.2例.31C.1】程计序算的并输基出本一结个数构a的平方。
main( )
{
函数体开始
float a,b;
a=5.2;
b=a*a;
printf("b=%f\n",b);
}
函数体结束
main 为函数名 程序从这里开始运行
函数体内定义 a, b 为 a 赋值 计算并输出平方值 b
执行程序的输出结果为: b=27.039997
18
1.2.3 C程序的基本结构
int max(int x, int y) /* max函数 */
易于理解,但 冗长,不够精 确,难于描述 复杂算法。
例如当描述“输出10个 数中最大数”的算法时, 会冗长、难于理解
10
用流程图描述起止算框 法开始
输入/输出框 输入x和y
判断框
Y
x >y ?
处理框 z= x
N z= y
流程线
输出z
结束
图1.5 用流程图描述算法
11
用N-S结构图描述算法 输入x、y的值
机器语言
机器指令(由0 和 1 组成),可直接执行
难学、难记 依赖机器的类型
用助记符代替机器指 克服记忆的难点
汇编语言 令,用变量代替各类 其他与机器语言类
地址。
似
类似数学语言、接近自然语言、具有通用 高级语言 性和可移植性,不依赖具体的计算机类型。
4
例如:
• 机器语言程序 • 汇编语言源程序
MOV AX, 300H
ADD BX, AX
00100011
11101101 01100001
•0高1 1级1 0语1 1言0 源程序(C)
MOV [2100H], BX HLT
main( ) { int a, b, c;
a=300; b=18;
源程序需要 翻译
c=a+b; printf(“ a+b= %d\n”, c); }
向下划分为多个功能模块,每个模块又可以划分为若 干子模块,然后分别进行模块程序的编写; 每个模块都是用结构化程序实现,即都只能由三种基 本结构组成,并通过计算机语言的结构化语句实现。
14
1.2 C语言概述
主要内容:
C语言的发展 C语言的特点 C程序的基本结构 C程序的执行过程
15
1.2.1 C语言的发展
接
程序
行
结果
(.C或.PAS等)
(.OBJ)
(.EXE)
解释方法
图1. 2 编译过程 解释程序
高级语言 源程序
解释 执行
运行 结果
(.BAS) 图1.3 解释过程
7
2.程序设计
用计算提机出解决一个确实定际数应据用结问构题时的整编个写处理过
程称为问程题序设计 确定算法
程序
调试和运行
翻译
程序
(编译或解释)
printf("max = %d\n",c);
}
1函数) 总是从main函数开始执行
函数
由函数首部和函数体组成 函数首部指定函数名、函数参数、类型 函数体从 { 开始,到 } 结束 函数内有语句
20
C程序结构(续)
语句
C 语言程序设计
第1章 预备知识
1
本章主要内容
程序设计与算法概述 C语言概述 C程序的符号系统
2
1.1 程序设计与算法概述
主要内容:
计算机语言与程序设计 算法 结构化程序设计
3
1.1.1 计算机语言与程序设计
1. 计算机语言
– 是人与计算机进行交流的工具 – 计算机语言分为:
输入 程序
得到 运行结果
8
1.1.2 算法
什么是算法
为解决某一应用问题而采用的解题步骤
算法的描述方式
用自然语言描述算法 用流程图描述算法
用例N-如S结:构输图出描两述算个法数中的最大数
9
用自然语言描述算法
第一步:输入x和y的值
第二步:比较x和y的值,如果x大于y,则输 出x的值,否则输出y的值。