logo

您所在位置网站首页 > 海量文档  > 教学课件 > 职业教育

第二章节程序设计语言.ppt 44页

本文档一共被下载: ,您可全文免费在线阅读后下载本文档。

  • 支付并下载
  • 收藏该文档
  • 百度一下本文档
  • 修改文档简介
全屏预览

下载提示

1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
下载地址
需要金币:100    文档纠错   收藏文档   下载帮助
支付并下载
第一章程序设计语言第二章程序设计语言 程序设计语言是也是人—人交换信息的工具2.1高级程序设计语言概述最初的语言是机器语言,例:AX=AX+46用容易记忆的英文单词代替约定的指令,易读写程序,导致了汇编语言的诞生使用汇编语言编程需要:直接安排存储,规定寄存器、运算器动作次序了解数据表示的约定(定点、浮点、双精度)不同的计算机在指令长度、寻址方式、寄存器数目、指令表示等都不同,使得汇编程序不仅不可移植而且读起来也很费劲 ……>导致了高级语言的出现DATASEGMENTXXDBXYYDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,XXCMPAL,0JGEBLGRMOVAL,0FFHMOVYY,ALHLTBLGR:JEEQUTMOVAL,01H MOVYY,AL HLTEQUT:MOVEYY,AL HLTCODEENDS ENDSTART2.2高级程序设计语言实现计算的方式高级语言程序必须经过翻译变成机器语言程序翻译有两种做法:编译和解释,相应的翻译工具分别叫做编译器和解释器2.2.1编译器工作原理首先是识别符号串:关键字、字面量、标识符、运算符、注释行、特殊符号等六类符号,这个过程就是词法分析(LexicalAnalysis)第二步作语法分析(SyntaxAnalysis)一个语句就作为一串记号流由语法分析器处理。按照语言的文法检查每个语法分析树2.2.2高级语言程序的解释执行解释执行需要有一个解释器(lnterpretor),它先作词法分析,建立内部符号表;再作语法和语义分析,即以中间码建立语法树,并作类型检查。完成检查后把每一语句压入执行堆栈,压入后立即解释执行操作系统的命令、BASIC、VB、Prolog、LISP、Java、JavaScript、PostScript都是解释执行的,各种应用软件提供的界面语言(一般都很小)多半是解释执行的。解释器不大,工作空间也不大、能根据程序执行情况决定下一步做什么(人工智能经常是这样的)是它的优点,不过,解释执行难于优化、效率较低,这是这类语言的致命缺点2.3高级程序设计语言基本特征2.3.1变量、表达式、赋值计算的数据对象特别是计算结果的对象在编程时是不存在的。我们只能用变量表示它例:已知三角形三边长度求面积:s:=0.5*(a+b+c)area:=sqrt(s*(s-a)*(s-b)*(s-c))其中a,b,c,s,area是变量,0.5是常量(也是字面量),“+”和“*”是运算符,sqrt是开平方函数表达式是常量、变量、函数调用或者由它们和运算符组成的序列:=是赋值号它将右端表达式算出的结果赋给左端的变量2.3.2程序的控制结构-条件语句有了条件判断if(E)thenTBelseFBendif,打破了自上至下逐句执行的模式当表达式E为‘真’时,执行TB块那一组语句为‘假’时跳过TB块执行FB块那一组语句早期的if语句借助goto语句改变执行顺序2.迭代语句例如,求自然数1到10000之和的程序迭代结构的一般式有几种:(1)结构化程序控制(2)其它控制结构 方便使用的变体:Case语句是嵌套if的简化其它控制Call-return:程序单元间的转移,执行后返回原地。Exception-raise:程序出了异常情况,raise(引发)后,正常执行转到异常处理程序段,并不再返回。在C++中,使用的是try–throw结构,在VB中是ONERRORGOTO语句。Abort(STOP):强行停止执行。Exit:转到本程序块末端。DelayXX:延迟XX时间后继续执行。2.3.2数据类型计算机中计算对象(不管是常量、变量)都是有类型的,类型不同内部表示不同,就是象12+32.7这种简单的计算也是不允许的,要先做类型转换才能计算1.常用的基本类型3.记录相同或不同类型数据组成的结构叫记录。记录型记录了对象的属性信息,记录的各个组成部分,称为记录域,各个域的数据类型可以不相同。用VB声明的一个例子:TypePersonRecordNameAsStringAgeAsIntegerSexAsStringTelnumberAsStringLableAsIntegerEndtype4.指针类型提供指针类型的语言一般都提供两种与指针有关的操作:取地址操作和取值操作取值操作取的是指针所指的变量的值,*P=123取地址操作取的是变量的内存地址,P=&A若给指针赋了初值,并在程序的运行期间不再改变,则称这种指针为常量指针 指针是一种简洁、灵活的语言对象。审慎的使用可以显著提高编程的灵活性和效率,但不负责任的使用将使你掉进错误的深渊。 2.3.4过程在过程中声明的变量是局部变量,只在过程中有效2.过程调用

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片

©2010-2013 max.book118.com在线文档投稿赚钱网. All Rights Reserved 蜀ICP备08101938号