第八章 程序设计语言

上传人:痛*** 文档编号:243856149 上传时间:2024-10-01 格式:PPT 页数:22 大小:166KB
返回 下载 相关 举报
第八章 程序设计语言_第1页
第1页 / 共22页
第八章 程序设计语言_第2页
第2页 / 共22页
第八章 程序设计语言_第3页
第3页 / 共22页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第八章 程序设计语言,计算机学院 赵晓南,本章内容,8.1,程序设计语言的发展史,断代划分,高级程序设计语言的分类,8.2,高级程序设计语言的基本要素,变量,数据类型,赋值语句,分支语句,循环语句,过程(函数),注释语句,8.3,高级程序设计语言的编译,编译的基本概念,编译过程,软件的运行,程序设计语言概述,程序设计语言是实现人机交换信息(对话)的最基本工具。,计算机程序设计语言的发展,经历了从机器语言、汇编语言到高级语言的历程。,8.1,程序设计语言断代的划分,机器语言:由机器指令组成。即一串串由“,0”,和“,1”,组成的指令序列集。,用机器语言所编写的程序机器能直接识别和执行,所以又称它为,目标程序,。,缺点:,与自然语言差距大,指令难记忆,调试、排错比较困难,优点:,使用针对特定型号计算机的语言,故而运行效率是所有语言中最高的。,8.1,程序设计语言断代的划分,汇编语言:采用有一定含义的符号即指令助记符来表示指令。,汇编语言比机器语言易读、易维护。但计算机并不认识这些符号,因此就需要一个专门的程序负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为,汇编程序,。,一般都采用某些有关的英文单词的缩写,基本与机器指令一一对应,8.1,程序设计语言断代的划分,高级程序设计语言:一种接近于数学语言或自然语言,同时又不依赖于计算机硬件,编写的程序能在所有机器上,通用,。,1957,年,第一个完全脱离机器硬件的高级语言,-FORTRAN,问世了。此后,,40,多年来,共有几百种高级语言出现。,1969,年,提出了结构化程序设计方法;,1970,年,第一个结构化程序设计语言,Pascal,出现,标志着结构化程序设计时期的开始。,80,年代初开始,在软件设计思想上,又产生了一次革命,其成果就是面向对象的程序设计。,下一个发展目标是“面向应用”,就是说:只要告诉程序要干什么,程序就能自动生成算法进行处理。,即:非过程化程序语言。,高级程序设计语言的分类,按设计要求分(过程,非过程):过程式语言的主要特征是,用户可以指明一系列可顺序执行的运算,以表示相应的计算过程,如,Fortran,,,Cobol,,,Pascal,等。,按应用范围分(通用,专用):如,Fortran,、,Cobol,、,Pascal,、,C,都是通用语言。目标单一的语言称为专用语言,如,APT,等。,按描述问题的方式分(命令型,函数型,描述型,面向对象型)参见,P132,表,8-3,8.2,程序设计语言的基本元素,变量,数据类型,赋值语句,分支语句,循环语句,过程(函数),注释语句,8.2,基本元素,8.2.1,变量和常量(,variable,constant,),变量:在程序运行过程中,其值可以被改变的量称为变量。变量的两个要素:,1),变量名。每个变量都必须有一个名字变量名,遵循标识符命名规则。,2,)变量值。在程序运行过程中,变量值存储在内存中。程序通过变量名来引用变量的值。,常量:在程序运行过程中,其值不能被改变的量称为常量。常量可分为整型常量,实型常量,字符常量,符号常量。,变量在使用前,在内存中会给每个变量申请一定大小的空间。,8.2.2,数据类型,基本数据类型,(data type),整型:,short,int,(短整型),integer,(整型),long,int,(长整型),实型:,real,(基本实型),single,(单精度),double,(双精度)等,字符型:一个单字符。,布尔型:布尔型变量的值只有,false,和,true,。,字符型变量,大小写不等价!,注意:整型,/,实型变量的长度,与具体的机型有关。,注意:整型,/,实型变量的长度,与具体的机型有关。,8.2.2,数据类型,构造数据类型,数组,(array),:,相同类型数据的集合。,数组中的各个元素,存放在连续的内存单元中,加标号引用其中的各个变量,结构体,(,struct,),:,不同类型数据的集合,结构体中的各个变量,存放在连续的内存单元中,引用时,变量名和分量之间加点表示,如:,1.,int,V10,;,其中的数组元素分别表示为:,V0,,,V1V9,。,2.,Struct,student,char name8;,char class8;,float score;,引用时:比如,s,为,Struct,student,型的变量,则,s.name,=“,wang,”,s.class,=10010903,s.score,=89.9,8.2.3,赋值语句,赋值操作的意义就是把一个确定的数值放到某个变量代表的那个内存单元中去。,赋值号:“,=”,表示赋值操作,左值:等待被赋予值的变量,右值:将要被赋予的“值”,8.2.4,分支语句,分支语句,根据指定的条件(即产生真假,/,值的表达式),从两条、或者多条路径中选择一条执行。,又例如,switch,语句,既是多路选择。,p,A,B,成立,不成立,a,b,选择结构,1,p,A,成立,不成立,a,b,选择结构,2,8.2.5,循环语句,for(,表达式,1;,表达式,2;,表达式,3),循环体语句,A,For,语句的循环体执行,0,次或多次。,表达式,2,?,A,真,假,表达式,1,表达式,3,执行循环的次数一般情况下是一个指定的值。一般在表达式,2,中给出,。,8.2.5,循环语句,p,循环体,A,成立,不成立,a,b,循环结构,1(while),while,语句的循环体执行,0,次或多次,while(,表达式,p),循环体语句,A,;,do-while,语句的循环体执行,1,次或多次,do,循环体语句,A,;,while(,表达式,p);,p,循环体,A,a,b,循环结构,2(until),不成立,成立,8.2.6,函数,一个程序一般分为若干个模块,每个模块用来实现一个特定的功能。,函数就是实现一个特定功能的一个语句序列。通过使用函数,可以使程序更短、更清晰。,函数定义的格式,类型标识符 函数名(形式参数表),声明部分;,语句部分;,8.2.6,过程(函数),函数调用的基本格式:,用途:构造通用的算法模块;把一个大的、复杂的算法分解成若干个小的、简单的算法合成。,函数名(参数表),主程序运行过程中,遇到调用过程,暂停在那,转去执行被调用的过程,待其结束后返回,继续向下执行。,过程的参数传递,值传递:,把主程序的具体数值,复制给被调用的过程的参数,进行操作。,地址传递:,主程序操作对象(变量)的地址和被调用的过程的参数(虚参)一致,即:二者共享同一个内存地址。,5,5,实参,虚参,5,实参,虚参,实参:主程序中的待操作对象。虚参:被调用过程的参数,8.2.7,注释语句,目的:注释是对程序的解释说明。使程序更加易读,易维护。,是辅助内容,不包含在真正运行的程序中(即不需要编译),但是却是必不可少的。好的程序都有很出色的注释。,编译的基本概念,编译程序:这是一种将高级语言源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机执行这个目标程序,得到计算结果。,解释程序:这是一种高级语言翻译程序的一种,它将源语言编写的源程序作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。,编译程序的两种方式,编译过程,编译程序工作时,先分析,后综合,从而得到目标程序。所谓分析,是指词法分析和语法分析;所谓综合是指代码优化,存储分配和代码生成。,词法分析程序,信息表管理程序,源程序,语法分析程序,语义分析程序,中间代码生成,代码优化程序,目标代码生成,错误检查和处理程序,目标程序,编译过程的逻辑结构,软件运行,连接和装载,软件的开发环境(如,VC+6.0,),成为一个系统,包括编译,连接,装载,文件保存和调试等子程序。,把各个模块编译生成的互不相连的目标程序联系起来,连接,解决各个模块目标程序如何装入内存的问题,装载,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!