计算机导论课件-第5章 程序设计基础

合集下载

计算机导论课件-第5章 程序设计基础

计算机导论课件-第5章 程序设计基础

5.4 高级程序语言概述
5.4.1变量、运算符和表达式
2. 运算符和表达式 程序中用来表示各种运算的符号称为运算符;参与运算的数据称
为运算对象,或称为运算量、操作数。 使用运算符将运算对象连接起来的式子称为运算表达式。常见的表
达式有算术表达式、关系表达式、逻辑表达式等。 (1)算术运算符和算术表达式
第5章 程序设计基础
【学习目标】
1. 了解程序设计语言的演化过程 2. 了解构建程序的各个阶段的特点 3. 了解不同的编程模式的特点 4. 掌握高级程序设计语言的基本构成及相关语法知识 5. 了解一些常用的高级程序设计语言 6. 了解算法的相关概念与内容
第5章 程序设计基础
【学习内容】
5.1 程序设计语言的演化 5.2 构建程序 5.3 编程模式 5.4 高级程序语言概述 5.5 常用高级语言 5.6 算法概述*
5.3编程模式
5.3.4 说明式模式
说明式模式是在规范的逻辑基础上发展而来,它依据逻辑推理原 则响应查询,后来发展成为一阶谓词演算。
逻辑推理以推导为基础,根据已知正确的事实,运用逻辑推理的 可靠准则推导出新的事实。 【例】逻辑学有以下著名的推导原则:If (A is B) and (B is C),then (A is C),将此原则应用于事实1和事实2,可以推导出事实3。
5.2.3 链接程序
链接程序就是将所有与程序有关的目标文件彼此相连,形成一个能 为操作系统执行的统一整体。目标文件经过链接后得到可执行文件,
依据目标文件与库函数的链接方式,可将链接分为静态链接与动 态链接两大类。
5.2 构建程序
5.2.4 程序的执行
源程序经过编辑、编译和链接后生成可执行程序,运行可执行

计算机导论课件

计算机导论课件

2.2 逻辑代数基础
连接词 “双条件”( )
“双条件”( ):两个命题的A和B的“双条件”(又称为A 当且仅当B)是一个复合命题,记为A B,读作“A当且 仅当B”。 当且仅当A的真值与B的真值相同时,A B为真, 否则A B的真值均为假。
A
B的真值表:
A T T F B T F T A T F T B
国标码。 BIG5码。
汉字字形码 (用于显示和打印)
计算机导论(2009)
2.2 逻辑代数基础
命题 命题公式 命题公式的等价律 逻辑函数的化简
计算机导论(2009)
2.2 逻辑代数基础
命题逻辑基础 命题:有具体意义且能够判断真假的陈述句。 命题的真值:命题所具有的值“真”(true,简记为
T)或“假”(false,简记为F)称为其真值。 命题标识符:表示命题的符号,该标识符称为命题 常量。 原子命题:不能分解为更为简单的陈述句的命题; 复合命题:将原子命题用连接词和标点符号复合而 成的命题。
2.1.3 字符型数据的编码表示
基本含义
对于字符型数据,没有相应的转换规则可以使用。需要 人们规定出每个字符对应的二进制编码形式。
常用的字符型数据编码
ASCII码(美国标准信息交换码的简称)
使用一个字节表示一个ASCII码字符。 主要用于小型机和微型机。
EBCDIC码(扩展BCD码)
BCD 码又称二—十进制编码,用二进制编码形式表示十进制数。 在BCD码的基础上,又增加了一些符号和英文字母的表示。 主要用于超级计算机和大型计算机。
计算机导论(2009)
2.1.2 数值型数据的表示
机器数中小数点的位置
定点数(定点整数/定点小数)
0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 h

《大学计算机基础》第5章-程序设计基础

《大学计算机基础》第5章-程序设计基础
可视化语言——构成了命令式语言中的另一个子类。最流行 的可视化语言Visual BASIC(1999年),已被Visual (2002年)取代。提供拖拉式生成代码段的功 能。一度被认作第四代语言,此说法已不再使用了。
11
程序设计语言的特点
机器语言的特点: ➢ 编程难 ➢ 效率高 ➢ 需要指令系统 ➢ 难读 ➢ 难维护
汇编语言的特点: ➢ 编程不容易 ➢ 效率较高 ➢ 需要汇编程序 ➢ 不易读 ➢ 不易维护
高级语言的特点: ➢ 编程容易 ➢ 效率低 ➢ 需要编译系统 ➢ 易读 ➢ 易维护
12
5.1.3 程序设计语言的结构
程序结构的多样性: ➢ 结构化程序 ➢ 模块化程序 ➢ 面向对象的程序结构
一个良好结构的程序具有以下等特点: ➢ 结构清晰 ➢ 容易阅读 ➢ 容易理解 ➢ 容易验证 ➢ 容易维护
计算机程序设计语言有几百种,但是最常用的不过10 多种,了解一些程序设计语言的不同特性,有助于为 特定任务而选择适当的程序设计语言。
8
1. 机器语言(Machine Language)
指令——指挥计算机完成某个基本操作的命令。 指令系统——所有的指令集合。 (第一代程序设计语言) 机器语言——用二进制代码表示指令系统的语言。 机器语言程序——由二进制代码按一定规则组成的、能被
34
求3个整数的最大值的C程序
/*使C预编译包含I/O头文件,则可用scanf、printf函数 */
#include <stdio.h>
void main(void)
{ int a, b, c, max;
/* 定义 4 个整型变量 */
int max3(int a, int b, int c); /* max3 函数原形声明 */

计算机导论第五课PPT课件

计算机导论第五课PPT课件
2
计算机程序,是用来告诉计算机如何处理问题或 执行操作的一组指令的集合。
支持模块中,包括了一组指令集合用于帮助计算 机连接用户可执行文件,每个支持模块都储存在 一个独立的文件中。主程序可以在需要时调用或 激活一个支持程序。如,.DLL文件等。
数据文件,包括了那些用于完成任务所必需的数 据。如软件包的帮助文件或是软件使用许可协议, 或是软件工具条上的图标。数据文件通常是 以.txt\.bmp作为文件扩展名。
17
结束语
当你尽了自己的最大努力时,失败也是伟大的, 所以不要放弃,坚持就是正确的。
When You Do Your Best, Failure Is Great, So Don'T Give Up, Stick To The End
18
感谢聆听
不足之处请大家批评指导
Please Criticize And Guide The Shortcomings
7
(3)数据库管理系统 计算机要处理的数据往往相当庞大,使用数
据库管理系统可以有效地实现数据信息的 存储、更新、查询、检索、通信控制等。 微机上常用的数据库管理系统有oxPro、 Clipper、Access等,大型数据库管理系统 有Oracle、Sybase、DB2等。
8
(4)网络管理系统
应用软件还可以分为图形软件、音乐软件、教育 软件、娱乐性软件和商业软件等。
11
软件的安装和卸载 Office软件的安装
12
13
14
15
四、软件的开发过程
1、软件需求分析 软件需求分析就是回答做什么的问题。它是一个对用户的
需求进行去粗取精、去伪存真、正确理解,然后把它用软 件工程开发语言(形式功能规约,即需求规格说明书)表 达出来的过程。本阶段的基本任务是和用户一起确定要解 决的问题,建立软件的逻辑模型,编写需求规格说明书文 档并最终得到用户的认可。需求分析的主要方法有结构化 分析方法、数据流程图和数据字典等方法。本阶段的工作 是根据需求说明书的要求,设计建立相应的软件系统的体 系结构,并将整个系统分解成若干个子系统或模块,定义 子系统或模块间的接口关系,对各子系统进行具体设计定 义,编写软件概要设计和详细设计说明书,数据库或数据 结构设计说明书,组装测试计划。

《程序设计基础》PPT课件

《程序设计基础》PPT课件

• 数值型 货币型比较 • 日期型和日期时间型比较 • 逻辑型比较 • 子串包含测试 • 例题2.9
设置字符的排序次序
• Machine 大写小于小写 • Pinyin 大写大于小写 • Stroke 按照笔画算 • Set collate to ”<pinyin|machine|stroke>”
例题2.1 ?'计算机','123',[数据],['ABC'"abc"] ??"学习",'字符串'," ",[表示方法]
4.日期型常量(Data)
• 日期型数据是存储和表示年、月、日等日 期的数据类型,其内部存储格式为 “yyyy/mm/dd”,其中yyyy代表年份, mm代表月份,dd代表日子,共占8个字符。 年份的取值范围为:100至9999;月份的取 值范围为:1至12;日子的取值范围随年份 和月份的不同而不同,最大范围为:1至31。
STORE <表达式> TO <变量名表> 其中变量名表是用逗号“,”分开的多个变量名。与 等号赋值命令不同的是一条store命令可以同时给多个 变量赋相同的值。
• 功能注释见书本
例如为a,b,c赋相同的值34,需输入命令: store 34 to a,b,c
数组
• 数组是内存中连续的一片区域,它由一系 列元素组成,每个数组元素可通过数组名 及相应的下表来访问
数据类型及其存储方式
6.日期时间型(DateTime) 日期时间型数据用于存储日期和时间值。日期时间型数据存储格式为 “yyyymmdd hhmmss”,其中yyyy表示年,mm(第一个)表示月,dd表示 日,hh表示小时,mm(第二个)表示分钟,ss表示秒(必须为整数)。日 期时间型可以表示一个日期值,也可以表示一个时间值,或者表示一个日 期时间值。日期时间型数据与日期型数据一样在内存中用8个字节存储。 7.双精度型(Double) 双精度型数据是指精度要求较高的数据,或真正的浮点数。双精度型数 据占用8个字节存储空间,取值范围为0.904 656 458 412 47×10 324~ ±0.988 456 743 115×10307。 8.整数型(Integer) 整数型数据用于存取不包含小数部分的数值。整数型数值不用转换成 ASCII字符来存 储,而数值型数据是要进行二进制转换的。整数型占用4个 字节,取值范围为 2 147 483 647~2 147 483 646。

程序设计基础课件ppt

程序设计基础课件ppt

顺序结构
按照代码的顺序执行,是最基本的程序流程 控制结构。
选择结构
通过条件判断来决定程序的执行流程,包括if 语句和switch语句等。
循环结构
通过重复执行一段代码来达到多次执行的效 果,包括for循环、while循环和do-while循 环等。
03
函数与模块
函数的定义与调用
总结词
理解函数的基本概念,掌握函数的定义和调用方法。
05
算法基础
算法的概念与分类
算法的概念
算法是解决问题的一系列明确步骤,具有输 入、输出和有限性。
算法的分类
根据不同的标准,算法可以分为不同的类型 ,如按照复杂度可以分为简单算法和复杂算 法,按照应用可以分为排序算法、查找算法 、分治算法等。
排序算法
01
选择排序
每次从未排序的元素中找到最小 (或最大)的元素,将其放到已 排序序列的末尾。
02
03
快速排序
通过选择一个基准元素,将数组 分成两部分,使得左边的元素都 比基准小,右边的元素都比基准 大,然后递归地对左右两部分进 行排序。
04
冒泡排序
通过重复地比较相邻元素并交换 位置,使得较大的元素逐渐向数 组的末尾移动。
插入排序
将未排序的元素插入到已排序序 列的合适位置,使得已排序序列 保持有序。
程序设计基础课件
目录
• 程序设计概述 • 编程基础 • 函数与模块 • 数据结构 • 算法基础 • 软件工程基础 • 实践项目
01
程序设计概述
什么是程序设计
1
程序设计是编写程序的中文简称,就是 让计算机代为解决某个问题,对某个计 算体系规定一定的运算方式,使计算体 系按照该计算方式运行,并最终得到相 应结果的过程。

计算机科学与程序设计导论PPT第5章算法和程序设计语言final

计算机科学与程序设计导论PPT第5章算法和程序设计语言final
折半查找key值(伪代码描述)
1 ikey←0;high←9;low←0 2 while low<high do
mid←(low+high)/2 if key=A[mid] return mid else if key>A[mid] low←mid+1 else if key<A[mid] high←mid-1
– 适合数据处理 – 函数式语言预定义一系列可供任何程
序员调用的原子函数 – 允许程序员通过若干原子函数的组合
创建新的函数
三种主要程序设计模式对比
• 对比
– 面向过程 • 根据业务逻辑从上到下写代码,使用场合包括单片机、嵌入式开发等
– 面向对象 • 将数据与函数绑定在一起,进行封装,这样能够更快速的开发程序,减少了重复代 码的重写过程
– 函数式 • 将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可,函数式更加 注重的是执行结果而非执行的过程
共同概念
• 共同概念
– 几乎每种编程语言(高级程序设计语言)都相同的内容 • 标识符 • 数据类型 • 语句 • 函数
共同概念
• 标识符
– 只用来标识某个实体的一个符号 – 变量、函数名、类名、对象名等 – 具有一定的命名规则 – 不能是语言关键字
基本算法:选择排序
• 选择排序
– 案例:对序列A进行从小到大排序,A={92,67,52,56,11,85,15,39,55,82}
对A选择排序(伪代码描述)
1
st←0; en←9; imax←0
2
for i←en to st do
imax =i
for j←st to i do
if A[imax]>A[i] imax←j

程序设计基础课件完整版教学课件汇总

程序设计基础课件完整版教学课件汇总

•课程介绍与教学目标•程序设计基本概念•基本数据类型与运算目录•控制结构•函数与模块化设计•数组与字符串处理•指针与引用类型详解•文件操作与异常处理机制目录•数据结构与算法基础介绍01课程介绍与教学目标课程背景与意义程序设计是计算机科学的核心基础,掌握程序设计的基本概念和技能对于计算机专业学生至关重要。

随着信息技术的迅猛发展,程序设计已经成为现代社会不可或缺的技能之一,对于非计算机专业学生同样具有重要意义。

本课程旨在培养学生计算思维能力和解决实际问题的能力,为后续专业课程学习和职业发展打下坚实基础。

教学目标与要求01020304课程安排与考核方式课程安排本课程共分为理论授课、实验操作和课程设计三个环节,其中理论授课主要讲解程序设计的基本概念、原理和方法,实验操作要求学生运用所学知识完成实验任务,课程设计则要求学生综合运用所学知识完成一个完整的程序设计项目。

考核方式本课程采用平时成绩、实验成绩和期末考试成绩相结合的考核方式。

平时成绩主要考查学生的出勤率、课堂表现和作业完成情况;实验成绩主要考查学生的实验操作能力和问题解决能力;期末考试成绩则主要考查学生对课程知识的掌握程度和应用能力。

02程序设计基本概念程序与程序设计语言程序程序设计语言编译与解释解决特定问题或完成特定任务的一系列清晰指令,具有有限性、确定性、输入项、输出项和有效性等特性。

算法计算机中存储、组织数据的方式,包括数据结构评估算法性能的方法,包括时间复杂算法分析010203算法与数据结构编程的基本风格和模式,包括过程式编程、面向对象编程、函数式编程等。

编程范式指导编程的基本原则和方法,如模块化、复用性、可维护性等。

编程思想研究如何系统化、规范化、可定量化地开发和维护软件的学科。

软件工程编程范式与编程思想03基本数据类型与运算整型(int)表示整数,包括正整数、零和负整数。

浮点型(float)表示带有小数点的数值,可以表示很大或很小的数。

计算机导论(全套课件466P)

计算机导论(全套课件466P)

计算机导论
1.1 概述
1.1.1 近代计算机的发展
加法器
Charles Babbage
1642 Blaise Pascal 1822 差分机
ቤተ መጻሕፍቲ ባይዱ
电子计算机时代
MARK I
1833 分析机
计算机导论
1.1 概述
1.1.1 近代计算机的发展
计算机的发明是以计算为基本原则,早先 则是被定位为工业用产品。早在19世纪初叶, 英国剑桥大学数学家、机械设计专家、经济学 家和哲学家查尔斯•巴贝基(Charles Babbage, 1791-1871,见图1-1)发明了差分机 (Difference Engine,见图1-2)即可计算等 式间的差距。而之后的分析机(Analytical Engine,见图1-3)则尝试用来执行多种类的运 算,尽管这台机器在他有生之年并未完成,但 其概念其实已经具备了现代电脑的特征,所以 称巴贝基为计算机之父。
查尔斯巴贝基
计算机导论
1.1 概述
1.1.1 近代计算机的发展
差分机
分析机
英国著名诗人拜伦的女儿阿达•拉芙拉斯伯爵夫人(Ada Augusta Lovelace,1815-1852)协助巴贝基完善了分析机的设 计,指出它可以像提花机那样编程。她被誉为世界上第一位 程序员。
计算机导论
1.1 概述
1.1.1 近代计算机的发展
巴贝基生于1791年的英国,当他在剑桥大学攻读博士时,即 为了解决计算等式间的差异数,于1812年首先设计出了一台名为 差分机(Difference Engine)的机器,并于1822年制成了差分机 样机。这是一台利用蒸汽为动力,以齿轮为基础所构成的机器, 由于齿轮的数量过于庞大(约四千),以至于差分机所计算的成 果并不精确。经历十年失败的尝试,1834年巴贝基在研制差分机 的工作中,看到了制造一种新的、在性能上大大超过差分机的计 算机的可能性,从而放弃了差分机转而构想出了名为分析机的自 动运算机器,由于这台机器具备有“输入”、“运算”、“输出” 及“储存”的四大现代计算机特征,最后因英国政府停止资助使 这项计划,直到巴贝基逝世,亦未能最终实现他所设计的计算机。

计算机导论杨月江版第五讲

计算机导论杨月江版第五讲
计算机综合理论 第五讲
第五讲 计算机软件基础
目录
CONTENTS
01 计算机软件系统概述 02 操作系统概述 03 常用操作系统简介 04 Windows操作系统介绍 05 本章小结
01
计算机软件系统概述
1.1 计算机软件系统概述
计算机系统由计算机硬件系统和软件系统两部分。硬件部分包括:中央处理器、存储器和外 部设备等;软件是计算机的运行程序和相应的文档。计算机系统具有接受和存储信息、按程序快 速计算和判断并输出处理结果等功能。
操作系统是方便用户管理和控制计算机软硬件资源的系统软件。从用户角度看,操作系统是对计算
机硬件的扩充;从人机交互方式看,操作系统是用户与计算机的接口;从计算机的系统结构看,从做系
统是一种层次、模块结构的程序集合,属于有序分层法,是无序模块的有序层次调用。操作系统在设计
方面体现了计算机技术和管理技术的结合。其作用,对内实现计算机各种资源的管理和扩充硬件功能;
注 : 在 Win10 的 笔 记 本 上 , 选 择 【计算机】右键【计算机管理】,可以查 看设备管理、系统共享文件夹、本地用户 和组、性能、磁盘管理和服务与应用程序 管理等
4.2 Windows桌面的组成
控制面板图标(操作演示)
控制面板实际上提供了一个供用户进行系统设置及配置的系列通道,通过控制面板的相应操作种类可进行 诸如用户账户、显示、区域和语言、网络、防火墙、程序与功能,个性化等一系列设置。
计算机属性(操作演示)
选择【计算机】右键【属性】,即打开系统属性窗口,在此可以查看该台计算机安装的操作系统版本信息、 处理器和内存等基本性能指标以及计算机名称等重要信息。
选择【计算机】右键【设备管理器】,即打开该计算机的设备及状态信息显示页面,在此可查看处理器、 磁盘驱动器、网络适配器、显示适配器等设备信息

《程序设计基础》ppt课件

《程序设计基础》ppt课件
04
数组与字符串应用举例
数组在解决实际问题中的应用 (如排序问题、查找问题等)
字符串在解决实际问题中的应 用(如文本处理、密码学等)
数组与字符串的综合应用(如 数据结构中的栈、队列等)
经典算法的实现(如二分查找 、快速排序等)
05 函数与模块化程序设计
函数定义与调用
01
02
03
函数定义
使用def关键字定义函数 ,指定函数名、参数列表 和函数体。
使用Python、Java等语 言进行开发,利用数据库 存储数据,采用GUI或 Web界面与用户交互。
案例分析
通过具体案例讲解系统设 计的整个过程,包括需求 分析、系统设计、编码实 现、测试维护等。
案例二:图书管理系统设计
系统功能
图书的借阅、归还、查询以及管理员对图书的增删改查等功能。
设计思路
采用分层架构设计,分为数据访问层、业务逻辑层和表示层,实现模 块化开发。
模块化优点
提高代码可重用性、可维护性和可扩展性。
模块间通信
通过函数调用和参数传递实现模块间通信和 数据共享。
06 文件操作
文件打开与关闭
打开文件
使用系统提供的文件操作函数或类库 ,指定文件路径和打开模式(如只读 、只写、读写等),建立与文件的连 接。
关闭文件
在完成对文件的操作后,需要调用关 闭文件的函数或方法,以释放系统资 源并确保数据被正确写入文件。
能够运用所学知识解决实 际问题的能力
程序设计概述
程序设计的定义和重要性
程序设计中的核心概念和 术语
程序设计的基本步骤和流 程
程序设计的发展趋势和未 来展望
程序设计语言简介
程序设计语言的分类和特点

大学信息技术导论第05章程序的设计基础

大学信息技术导论第05章程序的设计基础
《大学信息技术导论》
第5章
2009年8月
第5章 程序设计基础
程序设计语言是人们用来向计算机传递 信息与下达命令的通信工具。 软件发展的三个阶段:
1946年-1956年 低级语言(机器语言或汇编语言),追求功效,顺序程序。
1956年-1968年 高级语言(数学语言或接近于自然语言(英语)的语言), 追求易读性和易维护性,并发程序和并行程序。
5.1.1 基本概念
5. 程序理论
——研究程序的语义性质和程序设计及开发方法的理论。 主要包括程序语义理论、数据类型理论、程序逻辑理论、程序 验证理论、并发程序设计理论和混合程序设计理论。 程序理论(theory of programs)和算法理论是计算机科学的两大 支柱。 程序理论研究程序的规约、变换和验证,基本问题是如何建立 一个相对完善的理论框架,为软件的设计和开发方法提供理论 依据。这个框架应能提供有效地描述程序规约的语言;应能定 义可操作的变换方法以便能规约构造可执行的程序;应能给出 验证程序与其规约之间一致性的机制。
5.1.1 基本概念
8. 程序设计(programming) ——设计、编制和调试程序的方法与过程,是 目标明确的智力活动。 程序设计的分类:
按结构性质,有结构化(具有由基本结构构造复 杂结构的层次性)与非结构化程序设计之分
按用户要求,有过程式与非过程式程序设计之分 按程序的成分性质,有顺序、并发、并行和分布
程序必须具有解决某一问题的特定任务与功能,都需 要回答“解决什么或做什么”的问题
程序要遵循一定的规则和步骤,而不是多条指令的胡 乱堆砌。程序必须按照算法所规定的语法格式和步骤, 回答“怎样做”和“如何执行”的问题
程序的执行者是计算机,由于计算机有其自身的逻辑 和执行方式,所以程序必须符合计算机的逻辑及处理 方式,才能被计算机识别和执行
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

5.1 程序设计语言的演化
5.1.2 汇编语言
使用符号或助记符的指令和地址代替二进制代码的语言就是汇 编语言,也称之为符号语言。(比如,ADD代表加法,MOV代表 数据传递等。)
使用汇编语言编写的程序称为汇编语言程序,它需要经过汇编 系统翻译成机器语言之后才能执行。
汇编语言比机器语言更容易理解和记忆,且能够直接描述计算 机硬件的操作,具有很强的灵活性,因此在实时控制、实时监测等 领域仍然使用汇编语言。
5.4 高级程序语言概述
5.4.2 数据类型
2. 构造数据类型 构造数据类型也称为组合数据类型,是由一组元素组合而成,
其中每个元素都是基本数据类型或复合数据类型。大部分高级语言 都定义了以下几种构造数据类型:数组、结构体、共用体等。
5.4.3 赋值语句
赋值是指将一个具体的值赋给已经声明过的变量,大多数高 级程序设计语言(如C、C++)使用“=”来赋值。 【例】int a,b,c; //声明3个整型变量;
序员来说,可将变量理解为是一种使用方便的占位符,只需通过变量名 就可以使用变量或者查看、修改变量的值,而不须了解变量在计算机内 存中的具体地址。
(1)变量声明 大部分程序语言要求变量在使用前必须先要声明,声明的主要作
用就是告诉计算机该变量及变量类型将在程序中使用,同时要求计 算机预留出相应的存储区域。 【例】char a; int b; double c;
5.2.3 链接程序
链接程序就是将所有与程序有关的目标文件彼此相连,形成一个能 为操作系统执行的统一整体。目标文件经过链接后得到可执行文件,
依据目标文件与库函数的链接方式,可将链接分为静态链接与动 态链接两大类。
5.2 构建程序
5.2.4 程序的执行
源程序经过编辑、编译和链接后生成可执行程序,运行可执行
在过程式模式中存在被动对象及被动对象的活动主体两个概念。其 中,被动对象本身不能开始动作,但能通过活动主体接收动作。
过程式编程模式下,数据项属于被动对象,存储在计算机内存中; 程序属于被动对象的活动主体,对被动对象进行操纵。为了操纵被动对 象,活动主体发布动作,称之为过程。
【例】进行文件打印,先要将文件(被动对象)存储在内存中,然 后程序(活动主体)调用Print过程完成打印。在过程模式中,被动对 象(文件)和过程(Print)是完全独立的实体。
5.1 程序设计语言的演化
程序设计语言是人与计算机交互的工具,如果想要计算机完成 指定的工作,就需要使用程序设计语言编写程序让计算机去执行。
程序设计语言经历了机器语言、汇编语言和高级程序设计语言 几个阶段。
5.1.1 机器语言
机器语言是由“0”和“1”的字符串组成,是一种“低级语言”, 也是计算机能唯一能识别的语言。 缺点: ➢它依赖于计算机,不同类型的计算机具有不同的机器语言。 ➢使用机器语言的指令系统采用二进制编码,编程和理解非常困难。
5.4 高级程序语言概述
5.4.1变量、运算符和表达式
1. 变量 Leabharlann 2)变量初始化变量初始化是为已声明过的变量赋初值,并为后续使用该变量做 准备,未初始化的变量其内存中的值是随机的。变量初始化可以在 变量声明后进行,也可以在声明变量的同时进行。 【例】char a; a=’z’; int b=125; double c=123.45;
5.2 构建程序
程序的开发过程可分成四个主要步骤:编辑→编译→链接→执行。 现在的高级程序设计语言开发平台都将程序的编辑、编译、连接、运 行等功能进行了集成,极大方便用户的使用。
5.2.1编辑源程序
编辑源程序是指用户按照一定的程序设计语言规范书写程序代码, 并将代码保存到计算机中的过程。
源程序的载体:书籍、磁带、文本文件(最常用)。
5.3编程模式
5.3.3 函数式模式
在函数式模式中,程序被当作一个函数。例如,求和可认为是具 有n个输入,1个输出的函数。 函数式语言具有以下主要功能。 1. 定义一系列可供任何程序员调用的原始函数。 2. 允许程序员将若干原始函数进行组合创建新的函数。 【例】定义函数first,功能是从一个数据列表中取出第一个元素;再 定义函数rest,功能是从一个数据列表中取出除第一个元素以外的所 有元素。通过函数rest和first的组合,可以创建一个新函数third,来 完成对数据列表中第三个元素的抽取。
5.3编程模式
5.3.4 说明式模式
说明式模式是在规范的逻辑基础上发展而来,它依据逻辑推理原 则响应查询,后来发展成为一阶谓词演算。
逻辑推理以推导为基础,根据已知正确的事实,运用逻辑推理的 可靠准则推导出新的事实。 【例】逻辑学有以下著名的推导原则:If (A is B) and (B is C),then (A is C),将此原则应用于事实1和事实2,可以推导出事实3。
3.循环结构 循环结构可以看成是一个条件判断语句和一个向回转向语句的
逻辑运算符主要用于逻辑值(true或false)的运算,逻辑运算的结 果仍然是逻辑值。逻辑运算符有3种,分别是逻辑与(&&)、逻辑或(|| )、逻辑非(!),如下表所示。
说明:C语言中规定,当运算对象为0时,即判定其为假,当运算对象为非0的任 何值(包括负值),即判定其为真。
5.4 高级程序语言概述
5.4.1变量、运算符和表达式
2. 运算符和表达式 (4)运算符的优先级和结合方向
当一个表达式中存在多个运算符时,运算符被处理的先后次序称为运 算符的优先级。
C语言中常见运算符的优先级和结合方向如表5-4所示(见书P87)。
5.4 高级程序语言概述
5.4.2 数据类型
程序中使用的每个数据必须属于某种类型。高级程序设计语言提 供了丰富的数据类型,归纳起来可分为两类:基本数据类型和组合数 据类型。C语言中的数据类型如下图所示。
义的输入函数有scanf和getchar等, scanf用于带格式输入,getchar 用于输入单个字符,并把输入的数据存储到一个变量中。
【例】scanf(“%d”,&a); b=getchar();
//输入一个整数并赋给变量a,其中%d用于 控制输入变量的类型
//输入一个字符并赋给变量b
5.4 高级程序语言概述
第5章 程序设计基础
【学习目标】
1. 了解程序设计语言的演化过程 2. 了解构建程序的各个阶段的特点 3. 了解不同的编程模式的特点 4. 掌握高级程序设计语言的基本构成及相关语法知识 5. 了解一些常用的高级程序设计语言 6. 了解算法的相关概念与内容
第5章 程序设计基础
【学习内容】
5.1 程序设计语言的演化 5.2 构建程序 5.3 编程模式 5.4 高级程序语言概述 5.5 常用高级语言 5.6 算法概述*
5.4 高级程序语言概述
5.4.1变量、运算符和表达式
2. 运算符和表达式 程序中用来表示各种运算的符号称为运算符;参与运算的数据称
为运算对象,或称为运算量、操作数。 使用运算符将运算对象连接起来的式子称为运算表达式。常见的表
达式有算术表达式、关系表达式、逻辑表达式等。 (1)算术运算符和算术表达式
5.4.4 输入输出
2. 输出 输出就是将程序处理后的数据送出程序,供其它程序使用或显
示、打印等。C语言中预定义的输出函数有printf和putchar等, printf用于带格式输出,putchar用于输出单个字符。 【例】printf(“The values is: %d”,b);
putchar(“z”);
程序就可获得编程处理的结果。与编译、链接不同,运行可执行程 序可以脱离语言编译环境。
5.3编程模式
编程模式是使用计算机程序设计语言编写程序来解决具体问题的 方式,通常有4种编程模式:过程式、面向对象式、函数式和说明式。 每种编程模式有着其对应的高级程序设计语言,如下图所示。
5.3编程模式
5.3.1 过程式模式
5.1 程序设计语言的演化
5.1.3 高级语言
高级语言有别于机器语言和汇编语言,它独立于计算机的类型, 且表达形式更接近于被描述的问题,更容易被人掌握、更便于程序的 编写。
程序员只要使用简单的英文单词、熟悉的数学表达式及规定的语 句格式,就可方便地编写程序,而不必考虑计算机操作的具体细节。
高级语言的设计目的就是使程序员摆脱汇编语言繁琐的细节,但 其与汇编语言有一个共同点:编写的程序需要转化为机器语言才能被 计算机执行,这个转化过程称之为解释或编译。
5.4 高级程序语言概述
5.4.5 控制结构
在程序运行过程中,多数时候是按先后顺序执行代码,但有时仅 选择执行部分代码或者反复执行某一部分代码,这时可以通过不同的 程序控制结构来满足要求。
基本的程序控制结构有三种:顺序结构,选择结构和循环结构。
1.顺序结构 顺序结构是最基本的结构方式,程序执行时,按照
5.4 高级程序语言概述
5.4.2 数据类型
1. 基本数据类型 基本数据类型也称为原子类型、标量类型或内建类型,是不能分解 为更小数据类型的数据类型。常用的基本数据类型主要包括以下几 种:
➢ 整数类型:不带小数部分的数字。 ➢ 实数类型:带小数部分的数字。 ➢ 字符类型:Unicode字符集中的符号。 ➢ 布尔类型:只有两种取值(真或假)的数据类型。
5.2.2 编译程序
5.2 构建程序
编译是指把用高级程序设计语言书写的源程序,翻译成计算机能
识别的机器语言,源程序经过编译后成为目标程序。 编译程序时一般先分析源程序,检查源程序词法、语法和语义的
正确性,并将它分解为若干基本成分;然后再根据这些基本成分建立 相等价的目标程序部分;最后将目标程序部分综合为目标程序。
5.4.1变量、运算符和表达式
2. 运算符和表达式 (2)关系运算符和关系表达式
关系运算符主要用于比较两个数据量的大小关系,运算结果是逻 辑值(true或false)。常用的关系运算符有6种,如下表所示。
相关文档
最新文档