合工大计算机学院程序设计01第一章程序设计与C语言初步.ppt

上传人:za****8 文档编号:13203525 上传时间:2020-06-07 格式:PPT 页数:43 大小:300.01KB
返回 下载 相关 举报
合工大计算机学院程序设计01第一章程序设计与C语言初步.ppt_第1页
第1页 / 共43页
合工大计算机学院程序设计01第一章程序设计与C语言初步.ppt_第2页
第2页 / 共43页
合工大计算机学院程序设计01第一章程序设计与C语言初步.ppt_第3页
第3页 / 共43页
点击查看更多>>
资源描述
第一章程序设计与C语言初步,算法、实体与程序程序设计方法与程序设计语言Backus-Naur范式C+语言的程序结构面向对象程序设计思维方式,概述,程序:完成一定功能的指令或语句序列程序设计:编写计算机程序的活动程序设计方法程序设计语言本课程以面向对象程序设计方法为核心,并选用C+程序设计语言为工具来介绍程序设计,1.1算法与程序,例1.1.1:求解最大公约数的欧几里德算法。步骤1:如果pb+v,则令m=0,b=b并转向步骤2;否则令m=m,b=b-m并终止。步骤2:提示超额透支并终止。,1.1.2实体,例1.1.4:银行账户实体。实体:银行账户。属性:账号、户名、地址、密码、当前余额b、透支限额。行为:1)存款输入:存款金额m和当前余额b。输出:无。步骤:令b=b+m并终止。2)取款输入:取款金额m。输出:已取金额m。步骤1:如果mb+v,则令m=0并转向步骤2;否则令m=m,b=b-m并终止。步骤2:提示超额透支并终止,1.1.2实体,1)实体的概念:现实生活中的客观事物(人、动物、企业、部门等等)。2)实体的特点:一个实体应有一个名字,应有描述这个实体特征的数据(状态),应有作用于这些实体上面的操作(行为)。,1.1.3程序,程序就是算法的计算机实现!用计算机程序来解决问题数据在计算机内部的表示计算机只能识别和理解二进制数:0和1所有由计算机处理的数据都必须表示为二进制数,1.1.3程序,voidmain()inta,b,c;/a,b,c为变量,记录程序所需要的数据。cina;/输入acinb;/输入bc=a+b;/计算a+b的和并存于c中coutc;/输出c的值(即a+b的和),1.1.3程序,程序在计算机内部的表示机器语言:二进制指令汇编语言:用简单的符号表示二进制指令高级语言要把高级语言程序翻译成计算机能理解的机器语言翻译编译解释,1.1.4程序设计,程序设计:编写计算机程序的活动四方面的知识:应用领域知识程序设计方法程序设计语言程序设计环境与工具,1.2程序设计的演变,1.2.1早期的程序设计线性程序设计(手工作坊式)BASIC程序10INPUTA,B20C=A+B30PRINTC,1.2.1结构化程序设计,采用三种基本结构:顺序、循环、选择分支单入口/单出口控制结构以流程为主,围绕操作本身来设计,1.2.1结构化程序设计,结构化程序设计的主要思想:由三种基本控制结构组成程序这三种结构的示意图如下:,1.2.1结构化程序设计,1.2.1结构化程序设计,可以看到,三种基本结构都具有以下特点:有一个入口。有一个出口。结构中每一部分都应当有被执行到的机会,也就是说,每一部分都应当有一条从入口到出口的路径通过它(至少通过一次)。没有死循环(无终止的循环)。,1.2.3面向对象程序设计,围绕被操作的数据来设计1)实体:现实生活中的客观事物(人、动物、企业、部门等等)。一个实体应有一个名字,应有描述这个实体特征的数据(状态),应有作用于这些实体上面的操作(行为)。2)对象:面向对象方法中的对象,是系统中用来描述客观事物的一个实体,它是用于构成系统的一个基本单位。C+使用类来描述对象,1.3程序设计语言的定义,1.3.1语法和语义语法(syntax):由程序语言基本符号组成程序中各个语法成分的一组规则。语义(semantics):程序设计语言中按语法规则构成的各个语法成分的意义。,1.3.2字符集,字符集:任何一种语言都是建立在某一个有限的字符集上的。C+语言使用的是ASCII字符集。单词:由字符集中的若干字符构成且具有某一特定含义的字符序列。保留字:有些语言中预先规定一些单词具有特殊的意义,并保留其名字,不允许程序员另作它用,这种单词被称为保留字。关键字:还有些语言规定一些特殊单词在一定的上下文中具有预先定义的特殊意义,这种单词被称为关键字。,注意,C/C是大小写字母是敏感的,同一字母的大写状态和小写状态将视为26个不同字符。下划线视为一个字母。,1.3.3Backus-Naur范式,形式化定义程序设计语言的语法一般包括一个明确定义的字符集和一组有限的规则,这些规则规定符号如何组成表达式、语义和程序等形式。较常用的语法定义方法是Backus-Naur范式(简写为BNF)和语法图。,1.3.3Backus-Naur范式,元符号:BNF规定了一些符号作为描述语法的机制,称作元符号,包括::=表示“定义为”。|表示“或者”。表示“任选”,即方括号内的内容可以出现一次或不出现。表示“重复”,即花括号内的内容可以出现零次或任意多次。终结符号:BNF中不必定义的符号或字符串,如A、B、0、1等非终结符号:在用法规则中需要加以定义的语法变量,如字母、数字、标识符等,1.3.3Backus-Naur范式,每一个非终结符号都必须有一个规则定义它,非终结符号按规则总是可以展开为一串终结符号。例:标识符的BNF描述。标识符:=字母字母|数字字母:=A|B|Z|a|b|z|_数字:=0|1|9,1.3.3Backus-Naur范式,整数的BNF描述整数:=正负号无符号整数无符号整数:=数字数字正负号:=+|-数字:=0|1|9,1.3.4语法图,语法图是与BNF等价的另一种语法描述方法,但比BNF更加直观。一条BNF可转换成一个语法图,1.3.4语法图,BNF转换为语法图的规则(1)每一个终结符号的出现对应于(2)每一个非终结符号X的出现对应于X(3)形如P:=V1V2Vk则转换为V1V2Vk,(4)形如P:=V1|V2|Vk则转换为V1V2Vk(5)形如P:=V则转换为V(6)形如P:=V则转换为,1.3.4语法图,例:标识符可用以下语法图来定义字母字母数字,1.4C语言的程序结构,1.4.1C+语言程序的组成程序:一个程序是实体的属性及行为在计算机内的表示。类:是对一群具有相同属性,表现相同行为的对象的描述。对象:具体的单个存在的实体。主函数:具有特定名字“main”函数,由它去激活(调用)一个对象的行为(函数)。,1.4.2.C+语言程序的基本结构,例1:一个很特殊的例子-只有一个主函数#includevoidmain()coutbalance)/判断是否透支return0;/如果透支则不作取款,返回0表示取款不成功elsebalance=balance-amount;/减少当前的存款余额return1;/返回1表示取款成功/查询帐户中当前的余额。floatget_balance()returnbalance;/返回当前的余额;,/主函数main()/开设帐户ACCOUNTacc1(500);/开设第一个帐户acc1,同时存入500元ACCOUNTacc2(1500);/开设第二个帐户acc2,同时存入1500元/存款与取款acc1.deposit(255.5);/往帐户acc1中存入255.5元acc2.deposit(500);/往帐户acc2中存入500元acc2.withdraw(700);/往帐户acc2中取出700元acc1.withdraw(700);/往帐户acc1中取出700元acc2.withdraw(350);/往帐户acc2中取出350元/查询余额并在屏幕上显示cout帐号1的余额还有acc1.get_balance()元n;cout帐号2的余额还有acc2.get_balance()元n;return1;,由一个主函数,加上0个或者若干个其它函数、0个或若干个其它的类组成。程序的执行总是从主函数开始,而不管主函数放在程序的任何位置;由主函数调用其它函数(类的行为)、主函数执行完,程序也就执行完。,归纳C程序的基本构成:,1.4.3两种退化现象,1)只有函数,没有类。除主函数外,还可能有一些游离的函数,这些游离的函数不属于任何类。只有函数,没有类的C程序。#include/利用该库将数据输出到屏幕intmain()cout矩形的面积是”78*42balance)return0;elsebalance=balance-amount;return1;floatget_balance()returnbalance;,1.5C+语言程序,源程序(源代码)用程序设计语言编写的程序存放在一个文本文件中。后缀为.cpp目标程序(目标代码)用编译程序将源程序转换为计算机能理解的形式后缀为.obj可执行代码把目标代码和现有的库通过链接程序产生可执行代码后缀为.exe,1.5C+语言程序开发一个C+程序的过程,编译程序,链接程序,.cpp.hpp,.obj,.exe,1.编辑2.编译3.链接4.运行,1.6面向对象程序设计,1.6.1面向对象程序设计过程,实体概念,现象,抽象,类,对象,具体,建模,模拟,1.6面向对象程序设计,1.6.2面向对象程序设计特征数据封装将一类数据和与该类数据相关的操作集合封装在一起继承低层次的类(子类)可以从它的高层次类(基类)中继承所有的数据和操作多态性一个名字,多种语义;相同界面,多种实现。,习题,P.191-1,1-2,1-9补充下列语句完成两个变量a,b中数值的交换:c=a;a=b;b=c;能否不借助变量c完成两个数的交换呢?,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


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

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


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