第八章 程序设计
子函数和私用(局部)函数
子函数 私用(局部)函数
子函数
MATLAB允许一个M函数文件包含多个 函数的代码。其中,第一个出现的函数 称为主函数(Primary function),该文件 中的其他函数称为子函数(Subfunction)。 保存时所用的函数名与主函数定义名相 同。外部程序只能对主函数进行调用。 子函数的性质:
inputname(n)
跨空间变量传递
跨空间计算串表达式的值 跨空间赋值
跨空间计算串表达式的值
前面已介绍了实现不同工作空间之间变量传递的两种 渠道:函数的输入输出宗量和全局变量。下面介绍第 三个传递渠道:跨空间计算串表达式值的指令。
evalin(„workspace‟,‟expression‟)
它只是一串按用户意图排列而成的(包括控制流向指 令在内的)MATLAB指令集。 脚本文件运行后,所产生的所有变量都驻留在 MATLAB基本工作空间(Base workspace)中。只要不 使用clear指令加以清除,且MATLAB指令窗不关闭, 这些变量将一直保存在基本工作空间中。基本工作空 间随MATLAB的启动而产生;只有关闭MATLAB时, 该基本空间才被删除。
M函数文件示例
函数申明(定义)行 (Function declaration line):
位于函数文件的首行,以MATLAB关键字 function开头,函数名以及函数的输入输出 宗量都在这一行定义。
H1行(The first help text line):
紧随函数申明行之后以%开头的第一注释行。 按MATLAB自身文件的规则,H1行包含: 大写体的函数文件名;运用关键词简要描述 的函数功能。该H1行供lookfor关键词查询 和help在线帮助使用。
子函数的性质:
每个子函数的第一行是其自己的函数申明行。 在M函数文件内,主函数的位置不可改变,但子函数的 排列次序可任意改变。 子函数只能被处于同一文件的主函数或其他子函数调用。 在M函数文件中,任何指令通过“名字”对函数进行调 用时,子函数的优先级仅次于内装函数。 同一文件的主函数、子函数的工作空间都是彼此独立的。 各函数间的信息,或通过输入输出宗量传递,或通过全 局变量传递,或通过跨空间指令传递。 help,lookfor等帮助指令都不能提供关于子函数的任何帮 助信息。 涉及子函数的算例。
输入输出宗量检测指令 跨空间变量传递 子函数和私用函数
输入输出宗量检测指令
nargin 在函数体内,用于获取实际输入宗量 nargout 在函数体内,用于获取实际输出宗量 nargin(„fun‟) 获取‘fun‟指定函数的标称输入宗量
数
nargout(„fun‟)
出
获取‘fun‟指定函数的标称输 宗量数 在函数体内使用,给出第n个 输入宗量的实际调用变量名
为清晰起见,它与前面的注释行以空行相隔。 这部分内容由实现该M函数文件功能的 MATLAB指令组成。它接收输入宗量,进 行程序流控制,得到输出宗量。其中为阅读、 理解方便,也配置适当的空行和注释。若仅 从运算角度看,惟有函数申明行和函数体两 部分是构成M函数文件所必不可少的。
5、变量的检测传递和限权使用函数
for循环结构 while循环结构 if-else-end分支结构 switch-case结构 try-catch结构 控制程序流的其它常用指令
1、for循环结构
for x=array (commands) end
For循环的结构以及含义和其他高级语言的结 构和含义基本一致。 一个简单的for循环示例。 和其他语言一样for循环可以有多重循环。
稀疏 sparse
数据文件
MATLAB允许接受的数据文件大致可分 为以下几类:
以.mat为扩展名的二进制数据文件。 以.txt、.dat为扩展名的ASCII码数据文件。 以.bmp、.jpg、.tif等为扩展名的图像文件。 以.wav为扩展名的声音文件。
P192/表8-3
三、MATLAB控制流
帮助信息。
二、MATLAB的数据类型
6种基本数据类型及若干衍生类型。
数据类型 Data Types
数值 Numeric
字符串 Char
元胞 Cell
构架 Structure
函数句柄 Function handle
JAVA类 JAVA Class
双精度 double
单精度 single
整数类 Int*,uint*
第八章 M文件程序设计基础
M文本编辑器 M文件 MATLAB的数据类型 MATLAB控制流 程序调试 函数句柄
一、M文件
M脚本(命令)文件 M函数文件 局部变量和全局变量 M文件的一般结构 变量的检测传递和限权使用函数
1、M脚本(命令)文件(Script)
“脚本”本身反映这样一个事实:MATLAB只是 按文件所写的指令执行。 M脚本(命令)文件的构成较简单,其特点是:
try (commands1) catch (commands2) end
私用(局部)函数
所谓私用(局部)函数,是指位于private目录 上的M文件函数。 私用(局部)函数的性质:
私用(局部)函数的构造与普通M函数完全相同。 私用(局部)函数的只能被private目录的直接父目录 上的M函数文件所调用。它不能被其他目录上的任何 M函数、M脚本文件或MATLAB指令窗中的命令所 调用,也不能被直接父目录上的M脚本文件调用。 M文件中,任何指令通过“名字”对函数进行调用时, 私用(局部)函数的优先级虽低于内装函数和子函数, 但高与其他任何目录上的函数。 help,lookfor等指令都不能提供关于私用(局部)函数的任何
跨空间计算串表达式值 说明: ‘workspace‟可取两个值:‘base‟和‘caller‟ 该调用格式的执行机理:
当‘workspace‟取‘base‟表示计算eval(„expression‟)时, 将从基本工作空间获得变量值。 当‘workspace‟取‘caller‟表示计算eval(„expression‟)时, 将从主调函数工作空间获得变量值。主调函数是相对被调 函数而言的。这里,被调函数是指evalin所在的函数。
4、switch-case结构
switch ex case test1 (commands1) case test2 (commands2) … case testk (commandsk) otherwise (commands) end
例:学生成绩管理,用来演示switch结构的应用。
5、try-catch结构
2、while循环结构
while expression (commands) end
与for循环设置固定循环次数来执行循环体相比 较,MATLAB中的while循环是应用逻辑表达式 来设置与判断是否执行循环体,循环次数依逻 辑判断条件来决定,循环次数是不固定的。 例:Fibonacci数组的元素满足Fibonacci规则: a k+2=ak+ak+1,(k=1,2,…);且a1=a2=1。现要求该数 组中第一个大于10000的元素。
3、if-else-end分支结构
if-else-end指令为程序流提供了一种分支结构,它最常 用的使用方式:
单分支 if expression (commands) end 双分支 if expression (commands1) else (commands2) end 多分支 if expression1 (commands1) elseif expression2 (commands2) … else (commandsk) end
例: evalin运行机理与eval的异同。
跨空间赋值
实现不同工作空间之间变量传递的第四个 传递渠道是跨空间赋值指令: assignin(„workspace‟,‟VN‟,x)
跨空间向VN变量赋值
说明:把当前工作空间内变量x的值赋给 ‘workspace‟指定空间名的VN变量。
例:assignin运作机理示范
在线帮助文本(Help text)区:
H1行及其之后的连续以%开头的所有注释 行构成整个在线帮助文本。它通常包括:函 数输入输出宗量的含义,调用格式说明。
编写和修改记录:
与在线帮助文本区相隔一个空行,也以%开 头,标志编写及修改该M文件的作者和日期、 版本记录。它用于软件档案管理。
函数体(Function body):2、函数文件( Function)
与脚本(命令)文件不同,函数文件(Function file)犹如一个“黑箱”。从外界只能看到传给 它的输入量和送出来的计算结果,而内部运作 是藏而不见的。
函数文件的特点:
从形式上看,与脚本文件不同,函数文件的第一行总是以“function” 引导的“函数申明行”(Function declaration line)。该行还罗列出函数 与外界联系的全部“标称”输入输出宗量。但对“输入输出宗量”的 标称数目并没有限制,即可以完全没有输入输出宗量,也可以是任意 数目。 MATLAB允许使用比“标称数目”较少的输入输出宗量,实现对函数 的调用。 从运行上看,与脚本文件运行不同,每当函数文件运行,MATLAB就 会专门为它开辟一个临时工作空间,称之谓函数工作空间(Function workspace)。所有中间变量都存放在函数工作空间中。当执行完文件 最后一条指令或遇到return时,就结束该函数文件的运行,同时该临 时函数空间及其所有的中间变量就立即被清除。 函数空间随具体M函数文件的被调用而产生,随调用结束而删除。函 数空间是相对独立的、临时的。在MATLAB整个运行期间,可以产生 任意多个临时函数空间。 假如在函数文件中,发生对某脚本文件的调用,那么该脚本文件运行 产生的所有变量都存放于该函数空间之中,而不是存放在基本空间。
C++程序设计 第八章 指针和引用
第
在程序运行时变量和函数都存放在内存中,通过变量名来访问数据、通过函数名来调用函数都是直接访问方式。还有另一种间接访问方式就是用指针。指针的本质是内存地址。指针往往用于说明函数的形参,使实参能通过指针传递,以提高函数调用的效率。利用指针能动态地使用内存,以提高内存使用效率。指针也能用来表示数据关联,以构成复杂的数据结构。指针是C程序中最常见的类型。引用是C++扩展的新概念,主要用于函数形参和返回类型。本章将详细介绍指针和引用的概念及应用。
首先,这6个变量的地址是按递减次序排列,这是因为局部变量都存储在堆栈中,堆栈是先入后出的。先入栈的数据存放在较大地址位置,后入栈的数据存放在较小地址位置。如果这些变量改为全局变量,它们的排列次序就会颠倒过来。
其次,尽管变量s只占2字节,变量c只占1字节,但却分别占用4字节空间。这是因为按字对齐(32位数据)能提高CPU访问内存的效率,而且一次压栈和出栈操作也是以32位数据为单位,代价是浪费一些内存。如果这些变量改为全局变量,它们将按实际大小存储。
怎样能知道一个变量在运行时刻的内存地址?把取地址运算符&放在变量前面就得到它的首地址。例如b是一个变量,那么&b就表示它的地址。下面例子能看到一组局部变量的首地址。
例8-1显示一组局部变量的首地址。
#include<iostream.h>
void main(){
bool b = true;
char c = 'c';
其中,<类型名>是这个指针变量所指向的对象的类型,简称指针类型,它可以是任何一种类型。*表示这个变量是一个指针变量。这个变量的类型就是“<类型名>*”。<变量名>是一个标识符。指针变量可以进行初始化,等号之后给出一个变量的地址,要求这个变量的类型与指针类型相符。
第八章 可编程序控制器的程序设计
第八章可编程序控制器的程序设计第一节梯形图的特点及绘制原则第二节PLC程序设计方法第三节顺序控制设计方法中梯形图的编程方式第一节梯形图的特点及绘制原则一、梯形图的特点(1)梯形图按自上而下、从左到右的顺序排列。
每个继电器线圈为一个逻辑行,即一层阶梯。
每一个逻辑行起于左母线,然后是触点的连接,最后终止于继电器线圈或右母线。
(2)在梯形图中某个编号继电器线圈只能出现一次,而继电器触点(常开或常闭)可无限次引用。
(3)在每一逻辑行中,串联触点多的支路应放在上方。
如果将串联触点多的支路放在下方,则语句增多,程序变长。
图8-1梯形图之一124LD 1AND 2OR 3OUT43(a)合理1243LD 3LD 1AND 2ORB OUT4(b) 不合理(4)在每一个逻辑行中,并联触点多的支路应放在左边。
如果将并联触点多的电路放在右边,则语句增多、程序变长。
LD 1OR 2AND 3OUT 41342(a) 合理3142LD 3LD 1OR 2ANB OUT 4(b) 不合理图8-2梯形图之二(5)梯形图中,不允许一个触点上有双向“电流”通过。
对于这样的梯形图,应根据其逻辑功能作适当的等效变换。
512643(a)523541624(b)图8-3梯形图之三(6)梯形图中,当多个逻辑行都具有相同条件时,为了节省语句数量,常将这些逻辑行合并。
147213621582(a )不合理24781365(b )合理图8-4 梯形图之四(7)如果电路结构复杂,用ANB、ORB等指令难以处理时,可以重复使用一些触点改成等效电路,再进行编程。
12 345AB2A35B134图8-5 复杂电路的处理方法(8)设计梯形图时,输入继电器的触点状态全部按相应的输入设备为常开进行设计更为合适,不易出错。
二、典型单元梯形图分析1、起动保持和停止电路Y000X001X000Y000X000 X001 Y000图8-6起保停电路最主要的特点是具有“记忆”功能2、电动机正反转控制电路~KM2 KM1KM1 KM2SB1SB2SB3COM X000Y000X001X002Y001PLC COM(a) PLC 的外部接线图Y001X001 X000 X002 Y000 Y001X000 X001 X002 Y001 Y000Y000(b )梯形图图8-7电动机正反转控制电路SB1为停止按钮,SB2为正转起动按钮,SB3为反转起动按钮,KM1为正转接触器,KM2为反转接触器。
计算机导论第八章 程序设计语言
汇编语言比机器语言易读、易维护。但计算 汇编语言比机器语言易读、易维护。 机并不认识这些符号, 机并不认识这些符号,因此就需要一个专门 的程序负责将这些符号翻译成二进制数的机 器语言,这种翻译程序被称为汇编程序 汇编程序。 器语言,这种翻译程序被称为汇编程序。
1957年,第一个完全脱离机器硬件的高级语言- FORTRAN 年 第一个完全脱离机器硬件的高级语言 问世了。此后, 多年来 共有几百种高级语言出现。 多年来, 问世了。此后,40多年来,共有几百种高级语言出现。
信息表管理程序 编译过程
编译程序工作时,先分析,后综合, 编译程序工作时,先分析,后综合,从而得 词 语 语 中 代 目 到目标程序。所谓分析, 到目标程序。所谓分析,是指词法分析和语 法 法 义 间 码 标 分 分 分 代 优 代 法分析;所谓综合是指代码优化, 码 法分析;所谓综合是指代码优化,存储分配 析 析 析 码 化 程 程 程 生 程 生 和代码生成。 和代码生成。 序 序 序 成 序 成
8.2.3 赋值语句
赋值操作的意义就是把一个确定的数值放到 某个变量代表的那个内存单元中去。 某个变量代表的那个内存单元中去。 赋值号: 赋值号: “=”表示赋值操作 表示赋值操作 左值: 左值:等待被赋予值的变量 右值:将要被赋予的“ 右值:将要被赋予的“值”
8.2.4 分支语句
分支语句
成立
a
8.2程序设计语言的基本元素 程序设计语言的基本元素
1. 2. 3. 4. 5. 6. 7.
变量 数据类型 赋值语句 分支语句 循环语句 过程(函数) 过程(函数) 注释语句
8.2 基本元素
8.2.1 变量和常量
变量:在程序运行过程中, 变量:在程序运行过程中,其值可以被改变的量 称为变量。变量的两个要素: 变量名 变量名。 称为变量。变量的两个要素:1)变量名。每个变 量都必须有一个名字--变量名, --变量名 量都必须有一个名字--变量名,遵循标识符命 名规则。 )变量值。在程序运行过程中, 名规则。2)变量值。在程序运行过程中,变量 值存储在内存中。 值存储在内存中。程序通过变量名来引用变量的 值。 常量:在程序运行过程中, 常量:在程序运行过程中,其值不能被改变的量 变量在使用前, 变量在使用前,在内 称为常量。常量可分为整型常量,实型常量, 称为常量。常量可分为整型常量,实型常量,字 存中会给每个变量申 符常量,符号常量。 符常量,符号常量。 请一定的大小的空间。 请一定的大小的空间。
c#8
C#.NET程序设计
流 和 文 件
流Stream类 类
Stream流是所有流的抽象基类。流是字节序列的抽象 流是所有流的抽象基类。 流是所有流的抽象基类 概念,流提供向后备存储包括文件、输入/输出设备 输出设备、 概念,流提供向后备存储包括文件、输入 输出设备、内部 进程通信管道或者TCP/IP套接字等写入和读取字节,而不 套接字等写入和读取字节, 进程通信管道或者 套接字等写入和读取字节 必了解操作系统和基础设备的具体细节。 必了解操作系统和基础设备的具体细节。 流的Read 和 Write 方法分别是从当前流读和写字节序 流的 列, ReadByte和WriteByte分别是从当前流读和写一个字 和 分别是从当前流读和写一个字 节。使用 Seek 和 SetLength 方法修改流的当前位置和长 使用Position 和 Length 属性可查询和修改流的当前 度,使用 位置和长度。 类支持BeginRead、BeginWrite、 位置和长度。stream类支持 类支持 、 、 EndRead 和 EndWrite异步方法读写数据。 异步方法读写数据。 异步方法读写数据 属性, 通过使用 CanRead、CanWrite 和 CanSeek 属性,应 、 用程序可以查询流的是否具有读,写,和查找功能。 用程序可以查询流的是否具有读, 和查找功能。 Flush 方法可用于清除所有内部缓冲区并确保将所有数 据写入基础数据源或储存库。 据写入基础数据源或储存库。 调用流的 Close方法 将调用 方法 将调用Flush,释放操作系统资源, ,释放操作系统资源, 如文件句柄、网络连接或用于任何内部缓冲的内存。 如文件句柄、网络连接或用于任何内部缓冲的内存。
C#.net程序设计
第八章 文件、 流、文件、XML和配置文件 和配置文件
IBM—PC(80x86)汇编语言与接口技术-第8章 输入输出程序设计
8259A
76 5 4
中断屏蔽寄存器21H
打 印 机
3210
IN AL, 21H AND AL,0FDH
键定 时
盘器
OUT 21H,AL
76 5 4
中断命令寄存器20H
EOI
3 2 1 0 MOV AL, 20H OUT 20H, AL
11
中断向量表
00000 类型0的(IP) 类型0的(CS)
00004 类型1的(IP) 类型1的(CS)
speaker_on endp
speaker_off proc push ax in al, 61h and al, 0fch out 61h, al pop ax ret
speaker_off endp
end
8
3. 中断传送方式
中断源:引起中断的事件
外中断(硬中断):
外设的 I/O 请求 —— 可屏蔽中断 电源掉电 / 奇偶错 —— 非屏蔽中断
15
例:用 DOS 功能调用存取中断向量
MOV AL, N
MOV AH, 35H
INT 21H
PUSH BX
; 保存原中断向量
PUSH DS
MOV AX, SEG INTHAND
MOV DS, AX
MOV DX, OFFSET INTHAND
MOV AL, N
MOV AH, 25H
08 系统定时器 09 键盘 0A 彩色/图形接口 0B 保留 0C 串行通讯口 0D 保留 0E 软盘 0F 打印机
10
中断的条件:
设置CPU中断允许位:
FLAGS 中的 IF 位 = 1 允许中断 ( STI ) = 0 禁止中断 ( CLI )
第八章 可视化应用程序设计
属性: (2)Size属性:用来设置窗体的大小。 ) 属性 用来设置窗体的大小。
属性: (3)Location属性:设置窗体在屏幕上的位置,即设置 ) 属性 设置窗体在屏幕上的位置, 窗体左上角的坐标值。 窗体左上角的坐标值。
属性: (4)BackColor属性:用于设置窗体的背景颜 ) 属性 色,可以从弹出的调色 板中选择。 板中选择。 属性: (5)BackgroundImage属性:用于设置窗体的背 ) 属性 景图像。 景图像。 属性: (6)Opacity属性:该属性用来设置窗体的透明 ) 属性 其值为100%时,窗体完 度,其值为 时 全不透明;其值为0%时 全不透明;其值为 时,窗 体完全透明。 体完全透明。
4. 影响窗体外观的属性 (1)FormBorderStyle属性 用于控制窗体边界的类型, ) 属性:用于控制窗体边界的类型, 属性 用于控制窗体边界的类型 有7个可选值 。 个可选值 None、Fixed3D、FixedDialog、FixedSingle、 Sizable、 、 、 、 、 、 FixedToolWindow、SizableToolWindow 、
重点难点: 重点难点:
常用控件及控件的属性、 常用控件及控件的属性、事件和方法
8.1 Windows窗体 窗体
Windows应用程序设计是作为图形用户界面 ( GUI) 应用程序设计是作为图形用户界面( 应用程序设计是作为图形用户界面 ) 设计的。用户通过一些简单的操作(如鼠标的点击) 设计的。用户通过一些简单的操作(如鼠标的点击)来 引发一些事件。 引发一些事件。
8.2.1 控件的基本属性
(1)Name属性 ) 属性 (2)Text属性 ) 属性 和位置(Location)属性 (3)尺寸大小 )尺寸大小(Size)和位置 和位置 属性 (4)字体 )字体(Font)属性 属性 (5)颜色 )颜色(BackColor、ForeColor)属性 、 属性 和有效(Enabled)属性 (6)可见 )可见(Visable)和有效 和有效 属性
微机原理微型计算机的程序设计
2024/9/30
43
例6.2
将内存(10050)单元旳内容拆成两段,每段4位,并将它 们分别 存入内存(10051)和(10052)单元。即(10050) 单 元 中 旳 低 4 位 放 入 ( 10051 ) 单 元 中 旳 低 4 位 , 而 (10050)单元中旳高4位放入(10052)单元中旳低4位。
INT 21H
2024/9/30
42
作业8.17 编写求输入算式’加数1+加数2’旳和并送显。
(加数及其和均为4位(即指压缩)BCD数,P262)
分析:要求先有屏幕显示输出‘加数1+加 数2:’,然后从键盘输入两个4个字节旳 BCD数,加完后送显。
用到旳变量:W1和W2因为从键盘输入,均 不拟定是几位十进制,故需拟定其最大位 数不超出要用
2024/9/30
12
MOV AX, W1
;AX=0809H,W2为0607H
ADD AL, BYTE PTR W2 ;AL=10H, CF=0,AF=1
AAA ; 属于第一种情况,故
; AL为(AL+06H)&0FH=10H+06H )&0FH
;
=16H&0FH=06H=AL;
;AH加1且CF置CF=1,所以AH=08H+1=09H,则AX=0906H
2024/9/30
34
2024/9/30
35
2024/9/30
36
2024/9/30
37
2024/9/30
38
作业8.4 编写求两个4位非压缩BCD数之和,
将和送显示屏显示旳程序。(P261)
分析:两加数各要4个字节单元,可觉得DD 类型;考虑到进位,和要5个字节单元,另 外,输出到显示器旳结束符号’$’需要一 个单元存放,故共需6个字节。 所以,数据段定义为:
C语言程序设计 第八章 查表
何谓查找表?查找表是由同一类型的数据元素(或记录)构成的集合。
由于“集合”中的数据元素之间存在着松散的关系,因此查找表是一种应用灵便的结构。
对查找表经常进行的操作:•1)查询某个“特定的”数据元素是否在查找表中;•2)检索某个“特定的”数据元素的各种属性;•3)在查找表中插入一个数据元素;•4)从查找表中删去某个数据元素。
查找表可分为两类:静态查找表仅作查询和检索操作的查找表。
动态查找表有时在查询之后,还需要将“查询”结果为“不在查找表中”的数据元素插入到查找表中;或者,从查找表中删除其“查询”结果为“在查找表中”的数据关键字是数据元素(或记录)中某个数据项的值,用以标识(识别)一个数据元素(或记录)。
若此关键字可以识别唯一的一个记录,则称之谓“主关键字”。
若此关键字能识别若干记录,则称之谓“次关键字”。
查找根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素或(记录)。
若查找表中存在这样一个记录,则称“查找成功”。
查找结果给出整个记录的信息,或指示该记录在查找表中的位置;否则称“查找不成功”。
查找结果给出“空记录”或“空指针”。
如何进行查找?查找的方法取决于查找表的结构。
由于查找表中的数据元素之间不存在明显的组织规律,因此不便于查找。
为了提高查找的效率,需要在查找表中的元素之间人为地附加某种确定的关系,换句话说,用另外一种结构来表示查找表。
9.1 静态查找表9.2 动态查找树表9.3 哈希表9.1静态查找表数据对象D :数据关系R :D 是具有相同特性的数据元素的集合。
每个数据元素含有类型相同的关键字,可唯一标识数据元素。
数据元素同属一个集合。
ADT StaticSearchTable {基本操作P:Create(&ST, n);Destroy(&ST); Search(ST, key);Traverse(ST, Visit()); } ADT StaticSearchTable构造一个含n 个数据元素的静态查找表ST 。
第八章 面向对象程序设计(1)
第八章 表单设计与控件应用
8.2 表单的创建与管理
创建表单
表单向导
表单设计器
第八章 表单设计与控件应用
8.2 表单的创建与管理
表单设计器打开
可视化:菜单和工具栏/项目管理器 命令:CREATE FORM|SCREEN
第八章 表单设计与控件应用
8.1 面向对象程序设计基础
属性(Property) 属性(Property) 是对象所具有 的某种特性和状态 特性和状态。 的某种特性和状态。 比如, 比如,按钮的大小 体现在高度 (height)和宽度 ) (width)属性上。 )属性上。 事件(Event) 事件(Event) 指对象能够识 别的动作。 别的动作。当触发 某个事件时, 某个事件时,该事 件的程序代码就会 开始执行。比如, 开始执行。比如, 单击文件图标。 单击文件图标。
第八章 表单设计与控件应用
8.3 表单设计器
设置对象属性 静态(对象初始状态):在属性窗口中设置。 ):在属性窗口中设置 静态(对象初始状态):在属性窗口中设置。 动态(对象运行状态):在程序代码中设置。 ):在程序代码中设置 动态(对象运行状态):在程序代码中设置。
格式:对象引用.对象的属性名=属性值
第八章 表单设计与控件应用(1) 表单设计与控件应用(1)
Contents
1 2
面向对象程序设计基础 表单的基本操作
第八章 表单设计与控件应用
第八章 表单设计与控件应用
第八章 表单设计与控件应用
8.1 面向对象程序设计基础
8.1.1 基本概念 对象(Object) 对象(Object) 具有某些特性的具体事物的抽象。 具体事物的抽象 具有某些特性的具体事物的抽象。 FoxPro中 在Visual FoxPro中,表单及控件等都是应用 程序中的对象。用户通过对象的属性 事件和 属性、 程序中的对象。用户通过对象的属性、事件和方 法程序来处理对象。 程序来处理对象。
高树芳C语言程序设计--第八章
30
8.5 知识拓展
案例8-11 指针的高级应用 [案例任务] 阅读下列程序 ,分析运行结果,了解指 针的各种应用。
程序代码
31
8.5 知识拓展
相关知识:
1.有关指针的数据类型小结 2.案例说明 3.main函数的参数
32
12
8.2 指针变量
[课堂训练8-1] void swap(int *p1,int *p2) { int *t; t=p1; p1=p2; p2=t; }
1.分析下面的程序,写出运行结果。 #include <stdio.h> void main() { void swap(int *p1,int *p2); int *p1,*p2,a=6,b=8; p1=&a; p2=&b; printf(" 交换前:*p1=%d,*p2=%d\n",*p1,*p2); swap(p1,p2); printf(" 交换后:*p1=%d,*p2=%d\n",*p1,*p2); }
17
8.3 指针与数组
案例8-6 [案例任务]
冒泡排序
使用指针指向一维整型数组,使用冒泡排 序法对数组元素从小到大排序并输出。
程序代码
18
8.3 指针与数组
相关知识: 1.冒泡排序法 2.指针变量的其他运算
19
8.3 指针与数组
案例8-7 [案例任务]
逆置一维数组
使用数组名或指针变量作为函数形参与实 参,完成一维数组元素的逆置。请分析程 序运行结果,并对两个方法进行比较。
6
8.2 指针变量
案例8-2 用指针交换两整数 案例8-3 用指针比较两数大小 案例8-4 用指针参数交换两整数
