第四章VB控制结构.ppt_第1页
第四章VB控制结构.ppt_第2页
第四章VB控制结构.ppt_第3页
第四章VB控制结构.ppt_第4页
第四章VB控制结构.ppt_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章VB控制结构 第四章VB控制结构 4 1顺序结构4 2选择结构4 3循环结构4 4其他辅助控制语句4 5综合应用4 6程序调试 VB控制结构 4 1顺序结构P60 一 赋值语句 形式形式 变量名 表达式作用 将右边表达式的值赋值给左边的变量 一般用于给变量赋值或对控件设定属性值例 y 3 x 2 4 xText1 Text VisualBasic 注意 虽然赋值号与关系运算符等于号都用 表示 VB系统会根据所处的位置自动判断是何种意义的符号赋值号左边只能是变量 不能是常量 函数调用 表达式 如x y 3 5 sqr s x y 4 1顺序结构P61 一 赋值语句 两个常用形式累加例如sum sum x 与循环结构结合使用可起到累加作用计数例如n n 1 与循环结构结合使用可起到计数作用 一 赋值语句 赋值号两边数据类型不同时的处理当表达式为数值型并与变量精度不同时 需强制转换成左边变量的精度 如n 3 5 n 3当表达式是数字字符串 左边变量是数值类型 自动转换成数值类型再赋值 如表达式中有非数字字符或空串 则出错 如n 123 n 1a23 或n 一 赋值语句 赋值号两边数据类型不同时的处理当逻辑型值赋值给数值型变量时 True转换为 1 False转换为0 反之当数值赋值给逻辑型变量时 非0转换为True 0转换为False任何非字符型的值赋值给字符型变量 自动转换为字符型 4 1顺序结构P62 二 数据的输入和输出1 标签和文本框控件标签 利用标签的Caption属性 可缺省 来输出数据文本框 利用文本框控件的Text属性 可缺省 获得用户从键盘输入的数据 或将计算结果输出 4 1顺序结构P62 二 数据的输入和输出2 输入对话框InputBox函数形式 InputBox 提示 标题 缺省 x坐标位置 y坐标位置 提示 提示信息 标题 对话框标题 缺省 输入区缺省 坐标位置 对话框左上角位置作用 打开一个对话框 等待用户键入文本或选择一个按钮单击 确定 或按回车键时 函数返回文本框中输入的值 其类型为字符类型 二 数据的输入和输出P622 输入对话框InputBox函数要在屏幕上显示图示的对话框jbgz Val InputBox 输入基本工资 计算工资 300 注意 各项参数次序必须一一对应 除了 提示 一项不能省略外 其余均可省略 处于中间的默认部分要用逗号占位符跳过 默认值 提示 标题 x y位置 二 数据的输入和输出P633 消息对话框MsgBox函数和过程函数形式 变量 MsgBox 提示 按钮 标题 过程形式 MsgBox提示 按钮 标题 按钮 决定信息框按钮的数目和类型以及出现在信息框上的图标类型 二 数据的输入和输出P633 消息对话框MsgBox函数和过程作用 打开一个信息框 等待用户选择一个按钮 MsgBox函数返回所选按钮的整数值若不需返回值 则可作为MsgBox过程使用 例4 2编一帐号和密码检验程序 要求 1 帐号不超过6位数字 2 密码4位字符 输入时在屏幕上以 代替 3 若账号为非数字 显示警告信息 4 若密码错 显示有关信息 选择 重试 按钮 清除原内容再输入 选择 取消 按钮 停止运行 分析 帐号6位 MaxLength为6 LostFocus判断数字IsNumeric函数 密码PassWordChar为 MsgBox函数设置密码错对话框 二 数据的输入和输出P664 Print方法 对象 Print 定位函数 输出表达式列表 分隔符 对象 窗体 Form 图形框 PictureBox 或打印机 Printer 省略对象则在窗体上输出定位函数 包括Spc n 函数和Tab n 函数 允许重复使用表达式列表 要输出的数值或字符串表达式分隔符 在多个表达式之间 用于表示光标的定位 包括分号和逗号 二 数据的输入和输出P664 Print方法 定位函数Spc n 函数 输出插入n个空格Tab n 函数 从最左第一列开始算起定位第n列PrivateSubCommand1 Click Print 1234567890 PrintTab 1 Tab 2 Spc 2 EndSub若当前打印位置已经超过n列 则定位于下一行的第n列 Print1 2Print We study 运行结果 Print各数据分别在各自的标准输出区内输出 数据划分非常明显 读取数据容易 对于一个数值型数据 前面有一个符号位 对于正号 不显示但留有一个空格 数据后留有一个空格作为分隔符 4 Print方法 分隔符 标准格式 光标定位在下一个打印区的开始位置处 打印区每隔14列开始 Print1 2Print We study 运行结果 Print各数据紧凑地显示对于一个数值型数据 前面有一个符号位 数据后留有一个空格作为分隔符对于字符串数据 输出的各字符串数据间没有空格而连成一片 造成读取数据的困难 4 Print方法 分隔符 紧凑格式 光标定位在上一个显示的字符后 例4 3显示图形PrivateSubForm Click Fori 1To5PrintTab i String 6 i Spc 6 String i NextiEndSub 注意 String number character 返回指定长度重复字符的字符串 考虑 若把Spc 6 换成Tab 6 效果如何 二 数据的输入和输出P675 Format格式输出函数Format 表达式 格式字符串 功能 使数值 日期和字符串按指定格式输出表达式 要格式化的数值 日期和字符串类型表达式格式字符串 表示按其指定的格式输出表达式的值格式字符串有三类 数值格式 日期格式和字符串格式 格式字符串两旁要加双引号函数的返回值是按规定格式形成的一个字符串 二 数据的输入和输出P675 Format格式输出函数 1 数值格式化0 实际数字小于符号位数 数字前后加0 实际数字小于符号位数 数字前后不加0注意 若要显示数值表达式的整数部分位数多于格式字符串的位数 按实际数值显示若小数部分多于格式字符串的位数 按四舍五入显示 1234 567 01234 5670 00000 0000 1234 567 1234 57 000 00 1234 567 1234 567 1234 567 1234 57 4 2选择结构P69 一 If条件语句对条件进行判断 根据判断结果选择执行不同的分支1 If Then语句 单分支结构 IfThenEndIf或IfThen功能 条件执行 表达式 语句块 F T 一 If条件语句1 If Then语句 单分支结构 例 已知两个数x和y 比较它们的大小 若x小于y 互换两者的值 使得x大于yIfx yThent xx yy tEndIf或Ifx yThent x x y y t x y t 一 If条件语句2 If Then Else语句 双分支结构 IfThenElseEndIf或IfThenElse功能 分支选择 表达式 语句块1 F T 语句块2 一 If条件语句2 If Then Else语句 双分支结构 计算分段函数 1 单分支结构实现 y sin x sqr x x 1 Ifx 0Theny cos x x 3 3 x 2 双分支结构实现 Ifx0Theny sin x sqr x x 1 Elsey cos x x 3 3 xEndIf 一 If条件语句3 If Then ElseIf语句 多分支结构 IfThenElseIfThen Else语句块n 1 EndIf 例4 2已知字符型变量ch中存放了一个字符 判断该字符是字母字符 数字字符还是其他字符 用多分支结构实现 IfUcase ch A AndUcase ch 0 Andch 9 ThenPrintch 是数字字符 ElsePrintch 其他字符 EndIf 一 If条件语句 ElseIf不能写成ElseIf不管有几个分支 依次判断 当某条件满足 执行相应的语句 其余分支不再执行当多分支中有多个表达式同时满足时 则只执行第一个与之匹配的语句块若条件都不满足 且有Else子句 则执行该语句块 否则什么也不执行 一 If条件语句 例4 3已知百分制成绩mark 显示对应的五级制成绩 哪些正确 哪些错误 一 If条件语句 一 If条件语句4 If嵌套语句If语句的嵌套是指If或Else后面的语句块中又包含If语句 形式如下 IfThenIfThen EndIf EndIf 一 If条件语句4 If嵌套语句例4 4已知x y z三个数 使得x y z 用一个IF语句和一个嵌套的IF语句实现Ifx yThent x x y y tIfy zThent y y z z tIfx yThent x x y y tEndIfEndIf 二 SelectCase语句 情况语句 P73形式 SelectCase变量或表达式Case表达式列表1Case表达式列表2 CaseElse EndSelect 数值型或字符串表达式 二 SelectCase语句 情况语句 P73 与同类型的下面四种形式之一 表达式例 A 一组枚举表达式 用逗号分隔 2 4 6 8表达式1To表达式260To100Is关系运算符表达式Is中的结果与各Case子句中的值比较决定执行哪一组语句块 例4 5变量ch中存放了一个字符 判断该字符类型 在例4 2中用多分支结构实现 IfUcase ch A AndUcase ch 0 Andch 9 ThenPrintch 是数字字符 ElsePrintch 其他字符 EndIf用SelectCase语句实现 SelectCasechCase a To z A To Z Printch 是字母字符 Case 0 To 9 Printch 是数字字符 CaseElsePrintch 其他字符 EndSelect 例4 6已知坐标点 x y 判断其落在哪个象限 哪个能实现 哪个不能实现 方法一Ifx 0Andy 0ThenPrint 在第一象限 ElseIfx0ThenPrint 在第二象限 ElseIfx0Andy 0ThenPrint 在第四象限 EndIf 方法二SelectCasex yCasex 0Andy 0Print 在第一象限 Casex0Print 在第二象限 Casex0Andy 0Print 在第四象限 EndSelect 方法二代码错误 1 SelectCase后不能出现多个变量 2 Case后不能出现变量及有关运算符 三 条件函数P75 1 IIf函数 可代替IF语句 形式 IIf 表达式 当条件为True时的值 当条件为False时的值 例 求x和y中大的数 放入Tmax变量中 语句为 Tmax IIf x y x y 2 Choose函数 可代替SelectCase语句 形式 Choose 数字类型变量 值为1的返回值 值为2的返回值 例 Nop是1 4的值 转换成 运算符的语句为 Op Choose Nop 常见错误1 在选择结构中缺少配对的结束语句对多行式的If块语句中 应有配对的EndIf语句结束 2 多边选择ElseIf关键字的书写和条件表达式的表示ElseIf不要写成ElseIf 多个条件表达式次序问题 见例4 8 3 SelectCase语句的使用SelectCase后不能出现多个变量 Case子句后不能出现变量 见例4 9 在指定的条件下多次重复执行一组语句1 For循环语句一般用于循环次数已知For循环变量 初值to终值 Step步长 语句块 ExitFor 语句块Next循环变量 循环体 循环变量赋初值 循环条件 语句块 循环变量加步长 F For语句的下条语句 T ExitFor 语句块 F T 4 3循环结构P76 4 3循环结构P77 1 For循环语句 一般用于循环次数已知 例4 8计算1 100的奇数和 程序段如下 Dimi s s 0Fori 1To100step2s s iNexti Dimi s s 0 i 1re Ifi 100Thens s ii i 2GoToreEndIf 4 3循环结构P77 1 For循环语句 一般用于循环次数已知 0初值终值 0死循环 步长 循环次数 注意 退出循环 循环控制变量值的问题 4 3循环结构P77 1 For循环语句 一般用于循环次数已知 例程序段 Fori 2To13Step3PrintiNextiPrint Print I i循环执行次数 输出i的值分别为 25811结束循环输出为 I 14 输出如下图所示的图形PrivateSubForm Click Dimi Fori 0To9PrintTab 11 i String 2 i 1 Mid Str i 2 1 NextiEndSub Trim C 去除字符串两边的空格 例4 9改变循环控制变量对循环的影响PrivateSubCommand1 Click j 0Fori 1To20Step2i i 3j j 1Print 第 j 次循环i iNextiPrint 退出循环后i iEndSub正常情况 i 1 3 5 7 9 11 13 15 17 19现在 i 4 9 14 19 例4 10输出可打印的ASCII码字符与它的编码值 4 3循环结构P792 Do Loop循环语句用于循环次数未知Do While Until 语句块 ExitDo 语句块Loop特点 先判断 后执行 循环条件 语句块 F DoWhile Loop语句的下条语句 T ExitDo 语句块 F T 4 3循环结构P792 Do Loop循环语句用于循环次数未知Do语句块 ExitDo 语句块Loop While Until 特点 先执行 后判断 循环条件 语句块 T Do LoopWhile语句的下条语句 T ExitDo 语句块 F F 例4 11我国有13亿人口 按人口年增长0 8 计算 多少年后我国人口超过26亿 分析 解此问题两种方法 可根据公式 26 13 1 0 008 n直接利用标准对数函数求得 也可利用循环求得 程序如下 PrivateSubCommand1 Click x 13n 0DoWhilex 26x x 1 008n n 1LoopPrintn xEndSub 例4 12输入两个正整数m和n 求其最大公约数和最小公倍数 分析 1 用辗转相除法求最大公约数 m对n求余数为a 若a 0则m n n a 继续求余 否则n为最大公约数 例如 设m 12 n 212 最小公倍数 例4 12输入两个正整数m和n 求其最大公约数和最小公倍数 次数被除数除数余数 1122112 2 21 12 9 3 12 9 3 4 9 3 0 3 注意 保留m和n的原始值以便求最小公倍数 4 3循环结构P803 循环的嵌套在一个循环体内又包含了一个完整的循环结构称为循环的嵌套循环的嵌套对For循环语句和Do Loop语句均适用 例4 13打印九九乘法表 Fori 1To9Forj 1To9se iNextjPicture1 PrintNexti 思考 打印上三角或下三角程序如何改动 Forj iTo9 Forj 1Toi Forii 1To10Forjj 1To20 NextiiNextjj Forii 1To10Forii 1To20 NextiiNextii Forii 1To10Forjj 1To20 NextjjNextii Forii 1To10 NextiiForii 1To10 Nextii 对于循环的嵌套 要注意以下事项 内循环变量与外循环变量不能同名 外循环必须完全包含内循环 不能交叉 不能从循环体外转向循环体内 反之则可以 正确错误 4 4其他辅助控制语句P821 GoTo语句形式 GoTo 标号 行号 作用 无条件地转移到标号或行号指定的那行语句注意 Goto语句只能转移到同一过程的标号或行号处标号是一个字符序列 首字符必须为字母 与大小写无关 标号后应有冒号行号为一数字序列尽量避免使用Goto语句 4 4其他辅助控制语句P822 Exit语句多种形式 ExitFor ExitDo ExitSub ExitFunction等作用 退出某种控制结构的执行3 End语句多种形式 End EndIf EndSelect EndType EndSub EndFunction作用 End结束一个程序的运行 其余表示某个结构的结束 与对应的结构语句配对出现 五 其他辅助控制语句P864 With语句形式 With对象语句块EndWith作用 对某个对象执行一系列的操作 而不用重复指出对象的名称注意 当程序进入With语句块 对象就不能改变属性前面的 不能省略 WithMyLabel Height 2000 Width 2000 FontSize 22 Caption MyLabel EndWith 4 6程序调试P91 一 错误类型1 编辑时错误在编辑代码时 VB会对键入的代码直接进行语法检查当发现程序中存在输入错误 如语句未输完 关键字输入错误等 VB会弹出一个子窗口 提示出错信息 出错的那一行变成红色用户必须单击 确定 按钮 关闭出错提示窗 然后对出错行进行修改 4 6程序调试P91 一 错误类型2 编译时错误编译错误指按了 启动 按钮 VB开始运行程序前 先编译执行的程序段时 产生的错误此类错误是由于用户未定义变量 遗漏关键字等原因产生这时 VisualBasic也弹出一个子窗口 提示出错信息 出错的那一行被高亮度显示 4 6程序调试P92 一 错误类型3 运行时错误运行时错误指VB在编译通

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论