第5章使用对象和类编写程序B
第五章(2)面向对象程序设计同步练习

第五章面向对象程序设计一、选择题1、面向对象程序设计采用了以为中心的软件构造方法。
A)数据结构B)数据流C)功能分析D)算法2、下面关于属性、方法和事件的叙述中,错误的是______。
A)属性用于描述对象的状态,方法用于表示对象的行为B)基于同一个类产生的两个对象可以分别设置自己的属性值C)事件代码也可以像方法一样被显示调用D)在新建一个表单时,可以添加新的属性、方法和事件3、在下面关于面向对象数据库的叙述中,错误的是______。
A)每个对象在系统中都有唯一的对象标识B)事件作用于对象,对象识别事件并作出相应反应C)一个子类能够继承其所有父类的属性和方法D)一个父类包括其所有子类的属性和方法4、每个对象都可以对一个被称为事件的动作进行识别和响应。
下面对于事件的描述中,_____是错误的。
A)事件是一种预先定义好的特定的动作,由用户或系统激活B)VFP基类的事件集合是由系统预先定义好的,是唯一的C)VFP基类的事件也可以由用户创建D)可以激活事件的用户动作有按键、单击鼠标、移动鼠标等5、_____是面向对象程序设计中程序运行的最基本实体。
A)对象B)类C)方法D)函数6、创建类时首先要定义类的。
A)名称B)属性C)事件D)方法7、有关窗口的操作,是正确的。
A) deactivate window命令挂起的窗口将从内存中清除B) show window命令显示的窗口不一定是活动窗口,但活动窗口一定是显示窗口C) hide window命令将活动窗口在屏幕上隐藏起来,输出仍然面向该窗口D)用release window删除的窗口还可以再重新显示或激活8、有关窗口的叙述,是正确的。
A) ACTIVATE WINDOW <WINDOW name> 命令激活窗口后,@…SAY的坐标是相对屏幕的物理坐标B)当多次使用激活窗口命令时,则最后一个被激活的窗口是当前窗口C)当前窗口是无法改变的D)窗口休眠后第一个激活的窗口变为当前窗口9、以下属于窗口类控件的是。
Web应用程序设计案例教程第5章

☺2. 编写Page对象Load事件过程的程序代码 ☺3. 编写Page对象Unload事件过程的程序代码
在文件夹ch5中创建一个命名为counter.txt的文本文件,输入 一个数字“0”。
16
【同步实践】
操作要求如下。 ☺(1)新建一个项目ch5,将Webform1.aspx重命名
为counter.aspx。 ☺(2)在counter.aspx页面上添加4个Label控件并设 置各控件的属性,控件在页面中的位置自行确定。 ☺(3)新建一个文本文件counter.txt,存储的内容为 100。 ☺(4)编写其Page_Load事件,浏览此页时显示系统 的当前时间和读取文件counter.txt中的内容并通过 Label控件显示。 ☺(5)编写其Page_Unload事件,将新的计数器数值 保存到文件counter.txt。
14
5.3.2 设计网站访问计数器界面
网站访问计数器页面用 到了4个Label控件,页 面如图
15
5.3.3 编写程序代码, 实现网站访问计数功能
实现网站访问计数器要用到前面章节曾介绍的 Application对象、Session对象和本章学习的Server 对象。 要真正实现网站访问计数器,必须先将统计的次数数 据保存到文件中,然后再从文件中读取。这样,服务 器停止之后重新启动,原先访问统计的次数将保留下 来,从而实现真正的网站访问计数器。 读写文件就要用到Server对象来实现,要实现浏览一 次网页计数器就增加1,就要将新的次数写入文件中, 这就要写一个Page_Unload事件。 ☺1. 创建保存次数的文本文件
9
5.2.2 取得目前浏览网页的路径
如何得知网页浏览者目前正在浏览哪一个网页 呢?Request对象提供了MapPath方法与Path 属性,供服务器来了解目前被浏览网页的路径。 利用Path属性可让服务器端得知目前被浏览网 页的路径(默认浏览文件夹以下的路径),而 MapPath方法不但可以得知目前网页的完整路 径,还可结合一个字符串,这个字符串可以是 文件名称,这样便可产生一个新的文件路径。
程序设计基础第5章

2
第 五 章 选 择 结 构 程 序 设 计
3. 说明 (1) <条件> 可以是: 条件> 可以是: 关系表达式 布尔表达式 数值表达式: 为 数值表达式:0为False;非0为True ; 为 字符串表达式(只能是数字字符串): 只能是数字字符串 字符串表达式 只能是数字字符串 : "0"为False; 为 ; 非"0"为True 为 (2) 可以没有 可以没有Else部分,这时必须有<语句组 >. 部分, 部分 这时必须有<语句组1>
的值. 【例5-4】按以下公式求分段函数 的值. 】按以下公式求分段函数y的值
第 五 章 选 择 结 构 程 序 设 计 Y=
ex+e-x x<0 1.25 x=0 lgx x>0
X = Val(Text1.Text) Select Case X Case X < 0 Y = Exp(X) + Exp(-X) Case X =0 Y = 1.25 Case X > 0 Y = Log(X) / Log(10) End Select Print "Y="; Y
16
第 五 章 选 择 结 构 程 序 设 计
多分支选择语句的嵌套示例: 多分支选择语句的嵌套示例: Select Case A Case 1 Select Case B Case 0 Print "**0**" Case 1 Print "**1**" End Select Case 2 Print "**2**" End Select
6
第 五 章 选 择 结 构 程 序 设 计
VB语言第5章教案

主页
采用Print直接在窗体上输出结果,程序代码如下: Private Sub Form_Load() Show For i = 1 To 7 Print Tab(10 - i); For j = 1 To 2 * i - 1 Print Chr(i + 48); Next j Print Next i End Sub Print Chr(i+48)与Print i有所不同
主页
例5.7 用π /4=1 - 1/3 + 1/5 - 1/7 + …… 级数,求π 的近似值。当最后一项的绝对值小于10-5时,停止计算 采用Print直接在窗体上输出结果,程序代码:
Private Sub Form_Load() Show Dim pi As Single, n As Long, s As Integer pi = 0 : n = 1 : s = 1 Do While n <= 100000 '或1/n>=0.00001 pi = pi + s / n s = -s n=n+2 Loop Print "π="; pi * 4 End Sub
假设列表框List1中有四个表项,并已选定第2项,则 有: List1.ListIndex 为1 List1.Text的值为”副教授” List1.Selected(1)为True
C++程序设计_郑莉版第五章

globClock;//声明对象globClock, 声明对象globClock Clock globClock;//声明对象globClock, //具有静态生存期 具有静态生存期, //具有静态生存期,文件作用域 //主函数 int main() { //主函数 cout << "First time output:" << endl; //引用具有文件作用域的对象 引用具有文件作用域的对象: //引用具有文件作用域的对象: globClock.showTime();//对象的成员函数具有类作用域 globClock.showTime();//对象的成员函数具有类作用域 globClock.setTime(8,30,30); globClock.setTime(8,30,30); myClock(globClock); Clock myClock(globClock); //声明具有块作用域的对象 声明具有块作用域的对象myClock //声明具有块作用域的对象myClock cout<<"Second time output:"<<endl; myClock.showTime(); //引用具有块作用域的对象 myClock.showTime(); //引用具有块作用域的对象 return 0; }
15
int main() { 静态局部变量,有全局寿命,局部可见。 static int a;// 静态局部变量,有全局寿命,局部可见。 c为局部变量 具有动态生存期。 为局部变量, int b = -10; // b, c为局部变量,具有动态生存期。 int c = 0; "---MAIN-----MAIN---\ cout << "---MAIN---\n"; cout<<" "<<i "<<a "<<b cout<<" i: "<<i<<" a: "<<a<<" b: "<<b<<" c: "<<c<<endl endl; "<<c<<endl; c += 8; other(); cout<<"---MAIN---\ <<"---MAIN--cout<<"---MAIN---\n"; cout<<" "<<i "<<a "<<b cout<<" i: "<<i<<" a: "<<a<<" b: "<<b<<" c: "<<c<<endl endl; "<<c<<endl; i += 10; other(); return 0; }
C++程序设计第5章

#include <iostream> using namespace std; //#include <math.h> int main() { int i,j,min,temp,a[11]; cout<<"enter data:"<<endl; for (i=1;i<=10;i++) {cout<<"a["<<i<<"]="; cin>>a[i]; //输入 个数 输入10个数 输入 } cout<<endl<<"The original numbers:"<<endl;; for (i=1;i<=10;i++) cout<<a[i]<<" "; // 输出这 个数 输出这10个数 cout<<endl;;
判断下面对数组的定义和初始化是否正确? 判断下面对数组的定义和初始化是否正确?
1.int n; cin>>n; int a[n]; 2.const int n=5; int a[n]; 3.int a[3]={1*3}; 4.int a[]={1,2,3,4,5} 5.int a[6]={1,2,3}; 6.int a[6],b; a[4]=b; 7.int a[3]; a[3]={1,2,3}; 8.int a[6],i=1;a[i]=2;
{t=a[i];a[i]=a[i+1];a[i+1]=t;} //交换两个数的位置,使小数上浮 [] [] [ ] [ ] 交换两个数的位置, 交换两个数的位置 cout<<″the sorted numbers :″<<endl; for(i=1;i<11;i++) cout<<a[i]<<″ ″; [] cout<<endl; return 0; } //输出 个数 输出10个数 输出
自学考试软件工程第5章自测题及参考答案

第5章自测题及参考答案一、名词解释1.结构化程序设计2.PAD3.PDL4.结构冲突5.对应关系二、填空题1.结构化程序设计方法使用______构造程序。
2.在详细设计阶段,一种历史最悠久、使用最广泛的描述程序逻辑结构的工具是______。
3.结构化程序设计技术指导人们用良好的思想方法开发______的程序。
4.详细描述处理过程常用的三种工具是图形、语言和______。
5.Jackson图不仅可表示程序结构,还可表示______。
6.PDL具有严格的关键字外层语法,用于定义控制结构、数据结构和______。
7.详细设计的目标不仅是逻辑上正确地实现每个模块的功能,还应使设计出的处理过程______。
8.用JSP方法导出程序结构后,还要列出______,并把它们分配到程序结构图的适当位置上去。
9.在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的______进行设计。
10.在详细设计阶段,为了提高数据的输入、储存、检索等操作的效率并节约存储空间,对某些数据项的值要进行______设计。
三、选择题1.在详细设计阶段,一种二维树型结构并可自动生成程序代码的描述工具是( )。
A.PADB.PDLC.IPOD.判定树2.结构化程序设计的一种基本方法是( )。
A.筛选法B.递归法C.迭代法D.逐步求精法3.JSP方法是一种面向( )的设计方法。
A.对象B.数据流C.数据结构D.控制结构4.JSP方法主要用于规模适中的( )系统的开发。
A.数据处理B.实时处理C.文字处理D.科学计算5.PDL是软件开发过程中用于( )阶段的描述工具。
A.需求分析B.概要设计C.详细设计D.编程6.在详细设计阶段,可自动生成程序代码并可作为注释出现在源程序中的描述工具是( )。
A.PADB.PDLC.IPOD.流程图7.Jackson图上下层之间的关系是( )。
A.调用关系B.组成关系C.继承关系D.嵌套关系8.JSP方法根据输入输出的数据结构按一定的规则映射成软件的( )。
第5章 面向对象的程序设计

5.2.6 修饰符2-1
包中类B 本类D 包中子 类E 所有子类C 所有类A
public protected
类、变量、方法 A B+C 变量、方法
default 类、变量、方法 B private D 变量、方法 private protected 变量、方法 C
14
5.2.6 修饰符2-2
用来说明类、方法或变量的类型。
5.5.1 接口的定义
说明:
[修饰符] interface 接口名称{
[public] [static] [final] 变量名=初值; // 静态常量 (1)通常接口的名字以able或ible结尾;
[public] [abstract] [native]返回值 方法名([参数 (2)可以使用 extends 来继承接口的常量和抽象方法,
12
5.2.5 构造方法
• • • • 构造函数名称与类名称相同 构造函数没有返回类型 其任务是在创建对象时初始化其内部状态 若无定义系统默认有一个无参构造方法
class Fruit { boolean seedLess; boolean seasonal; float price; Fruit(boolean seed, boolean season, float p) { seedLess = seed; seasonal = season; price = p; } } 13
所以类在实现时,必须显示的使用public修饰符,否
则被警告缩小了接口中定义的方法的访问控制范围。
27
实例:接口的定义和实现
class InterfaceTest interface A { { public static void main(String args[ ]) double g=9.8; { void show( ); B b=new B( ); b.show( ); } } class B implements A } { public void show( ) {System.out.println(“g=“+g);} }
第五章vb计算机

2013年7月17日星期三
Visual Basic程序设计
5.2 数组的基本操作
1. 数组赋初值 (1)用循环 For i = 1 To 10 A(i)=i+3 Next i (2) Array函数(只能是一维变体数组) Dim b As Variant b = Array("abc", "def", "67") For i = 0 To UBound(b) Print b(i); " "; Next i
2013年7月17日星期三
Visual Basic程序设计
5.求数组和、最值、位置 例5.4 求一维数组中各元素之和、最小数组元素,并 将最小值数组元素与数组中第一个元素交换。
求元素和:通过循环将每个元素进行累加。
求数组中最小元素:假设第一个元素为最小,然后 将该数与其他元素逐一比较,若发现小于最小值, 就用新值替换最小值,同时记录下标值。 求最大值的方法与求最小值相似。
2013年7月17日星期三
Visual Basic程序设计
5.1.3 动态数组及声明
动态数组指在声明数组时未给出数组的大小(省略括号中的下标),当要使 用它时,随时用ReDim语句重新指出数组大小。 建立动态数组要分两步: (1)用Dim 语句声明数组,但不能指定数组大小 Dim 数组名( ) As 数据类型 (2)用ReDim语句动态地分配元素个数 ReDim 数组名 (下标[,下标2…]) 例:Dim s ( ) As Single Sub Form_Load( ) … ReDim s(4,8) … End Sub
5.1.2 静态数组及声明
在声明时确定了大小的数组称为静态数组。静态数组从建立到消亡 整个阶段中数组的大小是固定的。 静态数组的声明形式: Dim 数组名(下标1[,下标2…]) [As 类型] 声明了数组的名、维数、大小、类型(省略时为变体类型) 维数:几个下标为几维数组,最多60维。 下标:[下界 To ] 上界 省略下界为0,必须为常数。 每一维大小:上界-下界+1 数组大小: 每一维大小的乘积 例:Dim mark(1 to 100) As Integer
C++面向对象程序设计第5章继承与派生

计算机科学与工程学院
C++程序设计
class Studend1 可以看出,很多是重复的地方, 我们可以通过C++语言中的 { int num; //此行原来己有 继承机制,可以扩充和完善旧 char name[20]; //此行原来己有 的程序设计以适应新的需求。 char sex; //此行原来己有 这样不仅可以节省程序开发的 时间和资源,并且为未来程序 int age; 增添了新的资源。 char addr[20]; public: void display( ) ; //此行原来己有 {cout<<"num: "<<num<<endl; //此行原来己有 cout<<"name: "<<name<<endl;//此行原来己有 cout<<"sex: "<<sex<<endl; //此行原来己有 cout<<"age: "<<age<<endl; cout<<"address: "<<addr<<endl;} };
cout<<m_strName<<"\t"<<m_ nSex<<"\t"<<m_strDept<<"\n "; } };
计算机科学与工程学院
14
C++程序设计
5.3
5.3.1 public派生
三种派生方式
以公有继承方式创建的派生类对基类各种成员的访问权限 如下: ⑴基类公有成员相当于派生类的公有成员,即派生类可以像 访问自身的公有成员一样访问基类的公有成员。
第5章 对象类图与对象图

Home
图5.1 一个类图示例
5.1 类图
5.1.1 类 5.1.2 属性 5.1.3 操作
Home
5.1.1 类
类是对象的集合,这些对象具有共同的结 构特征、行为特征、联系和语义。
类的图标(Icon)用实线矩形框表示,矩 形框中含有若干分隔框,分别包含类的名 字、属性、操作、约束以及其他成分等, 如图5.2所示。
类名可以是简单名,也可以是路径名。
属性框中包含类的属性。属性是类的命名 的性质,它描述类性质的实例所能具有的 值。
操作框中包含类的操作。操作实现类的服 务功能,它可以被本类的对象请求执行, 从而发生某种行为。
其他的框可以包含责任、联系、约束、业 务规则、事件、例外情况等内容的说明。
类名 属性 操作 …
Home
可见io
Rose
公有 Public
+
+
私有 private
-
-
保护 protected
#
#
5.1.3 操作
操作(Operation)是类的行为特征或动态特征。 一个类可以有多个操作,也可以没有一个操作。没有一个
操作的类常用于表达接口或数据表。 操作用文字串说明,如图5.4所示。 操作有在本类中唯一的操作名或标识符。 参数列表是可选项目,即一个操作可以有参数,也可以没
第5章 类图与对象图
建立对象模型是面向对象的开发方法的基本任务,是软件 系统开发的基础,也是一个最需要倾注精力和时间的技术 活动。
类与对象的图形表示法是面向对象分析方法的核心技术之 一,它能表达面向对象模型的主要概念。
UML的类图(Class Diagram)与对象图(Object Diagram) 具有强大的表达能力,能够有效地对现实世界的业务领域 和计算机系统建立可视化的对象模型。
面向对象技术

Before:
i
j
After:
i
j
Before:
After:
c1
c2
c2: Circle
radius = 9
1
2
2
2
c1
c2
c1: Circle
radius = 5
变量赋值
Primitive type assignment i=j
Object type assignment c1 = c2
Before:
类和对象
Circle radius findArea new Circle() circle1: Circle radius = 2 ... new Circle() circlen: Circle radius = 5 Graphical 对象的图形 notation for 符号 objects Graphical 类的图形 notation for 符号 classes
构造计算机能够理 解和处理的类 包括了实体中与需 要解决的问题相关 的数据和属性 抽象数据类型
实例化
抽象
概念世界
数据抽象类型
现实生活 中的对象 计算机中的对象的原型
class Car { int color_number; int door_number; int speed; void brake() { … } void speedUp() {…}; void slowDown() { … } }
Primitive type Object type int i = 1 Circle c i c 1 reference
引用变量
c: Circle Created using new Circle(5) radius = 5
Java面向对象程序设计第5章_继承与接口(2)

二、方法的多态性 public class SubClass extends BaseClass{
public String book = "轻量级J2EE企业应用实战"; public void test() {System.out.println("子类的覆盖父类的方法");} public void sub(){System.out.println("子类的普通方法"); } public static void main(String[] args) { BaseClass bc = new BaseClass(); System.out.println(bc.book); bc.base(); 编译时类型和运行时 bc.test(); 类型完全一样,不存 编译时类型和运行时类型 SubClass sc = new SubClass(); 编译时类型和运行时 在多态 System.out.println(sc.book); 不一样,多态发生 类型完全一样,不存 sc.base(); sc.test(); 在多态 sc.sub(); BaseClass ploymophicBc = new SubClass(); System.out.println(ploymophicBc.book); ploymophicBc.base(); ploymophicBc.test(); }}
二、方法的多态性
返回主菜单
记住一个很简单又很复杂的规则,一个类型引用只 能引用引用类型自身含有的方法和变量。 你可能说这个规则不对的,因为父类引用指向子类 对象的时候,最后执行的是子类的方法的。 其实这并不矛盾,那是因为采用了后期绑定,动态 运行的时候又根据型别去调用了子类的方法。而假 若子类的这个方法在父类中并没有定义,则会出错。
VB第5章 循环结构程序设计

教案讲稿第五章循环结构程序设计[旧课复习]:复习内容:1.多分支选择结构语句2.选择结构的嵌套复习目的:学生回顾多分支选择结构的实现语句和嵌套语句的使用复习时长:大约8分钟[新课导入]:导入方式:以日常生活中的实例让学生理解什么是循环结构导入目的:增强学生的理解能力导入时长:大约7分钟[新课讲授]:重点:Do…Loop和For…Next循环语句的使用难点:多重循环语句的使用方法:运用多媒体辅助教学,采用讲授法和案例教学法5.1循环语句循环结构是专门用于实现有规律的重复性操作的算法结构,是结构化程序设计的3种基本结构之一。
所谓循环,是指在一定的条件下多次重复执行一组语句。
循环结构由两部分组成。
(1)循环体:即要重复执行的语句序列。
(2)循环控制部分:指定循环条件来控制重复次数的语句。
正常情况下,循环次数必须是有限的。
5.1.1 Do…Loop语句若事先不知道循环次数,只知道循环结束条件,可以使用Do…Loop循环。
Do…Loop循环语句有前测型循环和后测型循环两种语法结构。
1. 前测型Do…Loop循环前测型循环是先判断条件,根据条件成立与否决定是否执行循环体,这种情况下,循环体有可能一次都不被执行。
前测型循环有两种语法格式:格式1(当型前测型):Do While〈条件〉[〈语句列1〉][ Exit Do ][〈语句列2〉]Loop格式2(直到前测型):Do Until 〈条件〉[〈语句列1〉][ Exit Do ][〈语句列2〉]Loop说明:(1)当VB执行Do While…Loop循环时,先判断指定的条件,若条件为True,执行循环体,条件为False时退出循环;当执行Do Until…Loop循环时,先判断指定的条件,若条件为False,执行循环体,条件为True时退出循环。
(2)〈条件〉是条件表达式,为循环的条件,其值为True或False。
如果省略条件即条件为Null,则条件会被当作False。
JAVA 练习题第5章对象和类

)。 (A)内部类不能有自己的成员方法和成员变量 (B)内部类可用private或protected修饰符修饰 (C)内部类可以作为其他类的成员,而且可访问 它所在的类的成员 (D)除static内部类外,不能在类内声明static成 员
【解析】内部类也可以有自己的成员方法和变量。
答案为 A
函数。
super
2.类与对象的关系是( )。
答案为 A
(A)类是对象的抽象 (B)对象是类的抽象 (C)对象是类的子类 (D)类是对象的具体实例
3.下面哪一个是Java中不合法的标识符( )。
(A)$persons (C)_myVar
(B)twoNum (D)*pointFra bibliotek答案为 D
答案为 D
4.区分类中重载方法的依据是( A.形参列表的类型和顺序 B.不同的形参名称 C.返回值的类型不同 D.访问权限不同
)。
【解析】形参表的类型和顺序不同时区分重载方法的
唯一标志。
答案为 A
5.子类对象能否直接向其父类赋值?父类对象能否向其子类赋值?
( ) A.能,能 B.能,不能 C.不能,能 D.不能,不能 值给子类对象。
据成员。
答案为 C
4.有一个类B,下面为其构造方法的声明,正确 【解析】构造方法没有类型,且方法名与类名相同。
的是( )。 (A)void B(int x) (B)B(int x) {} (C)b(int x) {} (D)void b(int x) {}
{}
答案为 B
答案为 B
在创建对象时必须( )
A、先声明对象,然后才能使用对象 B、先声明对象,为对象分配内存空间,然后才能 使用对象 C、先声明对象,为对象分配内存空间,对对象初 始化,然后才能使用对象 D、上述说法都对
C++程序设计练习题及答案第五章类与对象

第5章类与对象5.1 选择题1. 在下列结构变量的定义中,不正确的是( d )。
(a) struct employee{ char name[ 20 ] ;long code ;} emp ;(b) struct{ char name[ 20 ] ;long code ;} emp ;(c) struct employee{ char name[20];long code;} ;employee emp;(d) struct{ char name[20];long code;} employee;employee emp;2.已知有职工情况结构变量emp定义为:struct employee{ char name[ 20 ] ;long code ;struct{ int year ;int month ;int day ;} birth ;} emp ;下列对 emp 的 birth 正确赋值方法是( d )。
(a) year = 1980 ; month = 5 ; day = 1 ;(b) birth.year = 1980 ; birth.month = 5 ; birth.day = 1 ;(c) emp.year = 1980 ; emp.month = 5 ; emp.day = 1 ;(d) emp.birth.year = 1980 ; emp.birth.month = 5 ; emp.birth.day= 1 ;3.假定有以下声明和定义,则下面引用形式错误的是( b )。
1struct student{ int num ;float score ;} stu[3] = {{1001,80},{1002,75},{1003,91}}, *p = stu ; (a) p->num (b) (p++).num (c) (p++)->num (d) (*p).num4.下列四个运算符中,优先级最低的是( a )。
《C语言程序设计习题与上机指南》答案

《C语言程序设计习题与上机指南》答案第一部分习题篇第一章c语言概述一、单选题1.以下说法中正确的是(c)。
a) C语言程序总是从第一个函数开始执行b)在c语言程序中,要调用函数必须在main()函数中定义c)c语言程序总是从main()函数开始执行d) C语言中的main()函数必须放在程序的开头。
2.C语言程序由(b)组成。
a)一个主程序和若干子程序组成b)函数组成c)若干过程组成d)若干子程序组成3.C语言指定主函数在源程序中的位置(C)。
a)必须在开头b)必须在系统调用的库函数之后c)可以是任意的d)必须在结尾4。
以下陈述不正确(d)。
a)一个c源程序可由一个或多个函数组成b)一个c源程序必须包含一个main函数c)c程序的基本组成单位是函数d)在C程序中,注释只能放在一条语句之后。
5.以下关于C语言的陈述不正确(d)。
a)c语言既有高级语言的功能,也具有低级语言的一些功能b)c语言中的一条执行语句都必须用分号结束c)注释可以出现在程序中任意合适的地方d)include命令行后面必须加分号6.用c语言编写的代码程序(b)。
a)可以立即执行b)是一个源程序c)用高级语言(如c语言)编写的程序称为(a)源程序B)目标程序c)可执行程序d)编译器8。
函数的组成是(a)。
a)函数首部和函数体b)函数名和函数的声明部分c)主函数和子函数d)声明部分和执行部分9.在C语言中,用来表示“take address”的符号是(b)。
a)#b)和c)*d)10.c语言是计算机高级语言,它适合于作为系统描述语言,它(a)。
a)既可用来写系统软件,也可用来写应用软件b)只能写系统软件,不能用来写应用软件c)不能写系统软件,只能用来写应用软件d)既不能写系统软件,也不能写应用软件二.填空题1.C语言使用函数作为程序的模块单元,便于实现程序的模块化。
2.C语言允许直接访问物理地址和位操作。
3.用c语言编写的程序,每一个语句和数据定义的结尾必须要有一个分号。
PowerBuilder实践教程ppt第5章PowerBuilder应用程序的对象

第五章PowerBuilder应用程序的对象PowerBuilder为每个程序都定义了一个应用对象,将它作为程序的开始入口,所以在PowerBuilder开发的软件中,在应用(Application)对象中,需要编写启动代码,同时应用对象还规定着应用程序系统级的许多属性。
5.1 PowerBuilder的应用对象在PowerBuilder画板中,可以对应用程序系统中的各种对象进行设置,包括Application、Window、控件(按钮、文本框等)和数据窗口(DW)等。
在画板中包含许多视图,常见视图列举如下:•“Properties”(属性)视图:用来设置对象及各种控件的属性。
•“Event List”(事件列表)视图:查看对象的所有事件。
•“Script”(脚本)视图:为各种对象的事件编写代码。
•“Function List”(函数列表)视图:查看对象的所有函数。
5.1.1 “Application”应用对象属性“Application”应用对象有许多属性,在“Properties”属性视图中,有“General”和“Toolbar”标签。
Application应用对象的常用事件有:“Open”事件、“close”事件、“systemerror”事件、“idle”事件。
5.1.2 应用对象的事件设计“Open”事件:是一个PowerBuilder应用程序的起点。
•“Close”事件:是在退出应用程序、返回到操作系统之前所触发的事件。
•“Idle”事件:是在程序中判断设定的时间间隔内,当用户未敲击键盘或使用鼠标时,被触发的事件。
•“SystemError”事件:用来处理严重的系统错误。
【例5.1】设置应用对象属性5.1.3 引用多PBL文件PowerBuilder应用程序中的对象,基本上都保存在“PBL”文件中,如果要将一个“PBL”文件移动到其它计算机上,而只需要复制“PBL”文件即可。
方法是建立工作空间之后,再将该“PBL”程序导入,该技术对低版本的PB应用向高版本的升级非常实用。
第五章 VB程序设计语言

Visual Basic的版本 Basic的版本
版本主要有三种:
学习版 专业版 企业版
它们按功能由弱到强分别是学习版、专业版和企 业版。其中学习版功能最弱,但却是免费的, 而专业版和企业版功能都是商业软件,但功能 比学习版要强许多,比如有更多的控件等。
5.1.2 Visual Basic的特点 Basic的特点
可以把属性看作一个对象的性质,把方法看作对象的动作, 把事件看作对象的响应。
5.3面向对象程序设计的基本概念
VB程序的编制过程:
1. 新建工程 2. 根据需要往窗体添加控件 3. 设置控件属性 4. 添加代码 5. 试验运行(应先保存)
5.4窗体常用的属性、事件和方法
属性 基本属性
名称属性( (1) Name名称属性(任何对象都具有的) ) 名称属性 任何对象都具有的) 创建的对象名称,有默认的名 在程序中, 有默认的名.在程序中 创建的对象名称 有默认的名 在程序中,控件名 是作为对象的标识而引用,不会显示在窗体上。 是作为对象的标识而引用,不会显示在窗体上。 (2) Height、width、top和left属性 ) 、 、 和 属性 单位为twip:1 twip=1/20点=1/1440英寸 单位为 : 点 英寸 =1/567cm
5.3面向对象程序设计的基本概念
对象的三要素 (1)属性 对象的性质,即用来描述和反映对象特征的 参数。 属性窗口设置和 对象.属性 属性= 属性窗口设置和 对象 属性=属性值 窗口
确定” 如:Command1.Caption=确定” 确定 “
对象 属性 属性值
5.3面向对象程序设计的基本概念
对象的三要素 (2)方法 对象的行为,即将一些通用的过程编写好并 封装起来,作为方法供用户直接调用。 对象方法的调用格式为:[对象.] 方法 [您使用Visual Basic 6.0!”
VB程序设计基础教程第5章

RGB函数
表5-3 3种颜色的相对亮度组合 颜色 红色值 绿色值 蓝色值
黑色
蓝色 绿色
0
0 0
0
0 255
0
255 0
青色
红色 洋红色 黄色 白色
0
255 255 255 255
255
0 0 255 255
255
0 255 0 255
魏豪明 制作
颜色属性
BackColor
Form1
绘制正圆 Command1 绘制椭圆 Command2 绘制弧形 Command3
命令按钮2
命令按钮3
魏豪明 制作
绘制正圆
绘制椭圆
绘制弧形
图5-8 演示程序
魏豪明 制作
5.3.4 PaintPicture方法
PaintPicture方法
PaintPicture方法主要用来在窗体、图片框或打印机对象上绘 制图形文件,图形文件的类型包 括.bmp、.ico、.wmf、.emf、.cur、.ico和.dib等,使用 PaintPicture方法,可以实现图片的移动、翻转、缩放、裁剪等操 作,其在程序代码中的一般格式为: [对象].PaintPicture 图片,x1,y1,[宽度1,[高度1, x2[ y2[宽度2[,高度2[,位操作常数] ] ] ] ] ] ]
(x2,y2):为终点坐标。带Step关键字时表示与起点坐标
的相对位置。
魏豪明 制作
实例
设计一个程序,当在程序中单击“绘制矩形”按钮时,图片框中绘
制出类型不同的矩形,其操作步骤如下:
表5-8 对象属性设置 对象 窗体 属性 Caption (名称) 设置 Line方法实例 Form1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
讲稿和源代码下载地址 ftp://文件夹汤立浩目录下
5.5 可见性修饰符与访问器方法
前面我们使用c.radius++直接修改对象的属性,这种让用户 通过对象直接修改属性并不是一个好的做法。这样会引起难以 调试的错误。 为了避免通过对象直接修改对象属性,可以使用private修饰符, 声明该属性是私有的。这样使用c.radius++将是非法的。 public:用它定义的类、方法和数据,所有程序都能访问。 private:用它定义的方法或数据,只能由定义该方法和数据的 类访问,而其他类不能访问。
可见性修饰符与访问器方法
对象不能直接访问私有数据域。但是用户常常需要检 索和修改数据域。为了能够访问数据域,可以为私有 数据域添加读取方法和设置方法。 这些方法称为访问器方法(accessor method)。如: public double getRadius(){ return radius; } public void setRadius(double radius){ this.radius=radius; }
类变量、 类变量、类常量和类方法
内存
circle1: Circle
1
radius=1 numOfObject=2
radius
2
circle2: Circle radius=5 numOfObject=2
numOfObject
5
radius
Circle1中的radius和Circle2中的radius在不同内存空间 不同内存空间, 不同内存空间 类变量numOfObject被同一类中所有对象共享 共享。 共享
可见性修饰符与访问器方法
TestCircleWithWithPrivateModifier.java 演示访问器方法。
可见性修饰符与访问器方法
p134编程练习 5.1 5.2
5.6类变量、 5.6类变量、类常量和类方法 类变量
Class Circle() 有修饰符static, numofObjects 是类变量 { static int numofObjects ; double radius; }
radius是实例变量
类变量、 类变量、类常量和类方法
Circle circle1 = new Circle(); Circle circle1 = new Circle(5); radius是实例变量,Circle1中的radius独立与 circle2中的radius,存储在不同内存空间。 circle1中radius的变化不会影响circle2的 radius。 如果想让一个类中的所有实例共享数据,请用类 类 变量。类变量将变量值存储于类的公用内存。 变量 所以某个对象修改了类变量的值,同一类中的 所有对象都会受影响。
类变量、 类变量、类常量和类方法
实例方法属于实例而且只能在实例创建后使用。 对象名方法名(); 类方法可以有两种调用方式: 类名.方法名(); 对象名.方法名(); 类方法和类变量相类似。
什么时候使用类方法? 不使用实例变量的方法可以定义为类方法! 不使用实例变量的方法可以定义为类方法!
类变量、 类变量、类常量和类方法
TestInstanceAndClassVariable.java 演示类变量
类变量、 类变量、类常量和类方法
请思考类变量和实例变量有什么不同?