




已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章 visual basic语法:控制和过程 4.1 基本结构 4.2 顺序结构语句序列 4.3 选择结构条件语句 4.4 选择结构多分支语句 4.5 选择结构条件函数iif() 4.6 循环结构循环语句 4.7 过程和函数 4.8 变量的作用域 4.1 结构化程序的基本结构 n程序结构清晰,可读性好,也易于查错和修改 ; n具有单入口,单出口的特点 n结构化程序设计方法有三种基本控制结构: 顺序结构顺序结构 语句序列语句序列 a b 假 真 l e 真假 ab e 选择结构选择结构 条件语句条件语句 循环结构循环结构 循环语句循环语句 4.2 顺序结构语句序列 n顺序执行:语句依照其在程序中的位置 依次顺序地执行。 顺序结构顺序结构 语句序列语句序列 a b 4.3 选择结构条件语句 n选择结构是一种常用的基本结构,其特点是根据 所给定的选择条件为真或假,来决定从不同操作 中选择执行一种操作。选择结构用条件语句实现 。 真假 ab e 选择结构选择结构 条件语句条件语句 4.3 选择结构条件语句 nif条件语句 nif语句的嵌套 n多分支语句select case 单分支单分支ifif 双分支双分支ifif 多分支多分支ifif 行结构行结构 块结构块结构 行结构行结构 块结构块结构 4.3 选择结构条件语句 一、单分支 if x0 then y=1 if x0 then y=1 end if y=-1不论论x是什么,y1。 t t f f 语句(块)语句(块) 表达式表达式 单分支结构单分支结构 if if 表达式表达式 then if if 表达式表达式 thenthen end ifend if 4.3 选择结构条件语句 二、双分支 if x0 then y=1 else y=2 if if 表达式表达式 then then 语句语句1 else 1 else 语句语句2 2 if if 表达式表达式 thenthen 1 elseelse 2 end ifend if f f t t 语句语句( (块块)1)1语句语句( (块块)2)2 表表 达达 式式 双分支结构双分支结构 4.3 选择结构条件语句 二、双分支 if x0 then y=1 else y=2 end if f f t t 语句语句( (块块)1)1语句语句( (块块)2)2 表表 达达 式式 双分支结构双分支结构 4.3 选择结构条件语句 多分支结构多分支结构 f f t t t t t t 表达式表达式1 1 表达式表达式 2 2 表达式表达式n n 语句块语句块1 1语句块语句块2 2语句块语句块n n语句块语句块n+1n+1 f f 三、多分支三、多分支ifthenifthenelseifelseif 4.3 选择结构条件语句 if if 表达式表达式1 then 1 then 语句块语句块1 1 elseifelseif 表达式表达式2 then2 then 语句块语句块2 2 elseelse 语句块语句块 n+1 n+1 end if end if 三、多分支三、多分支ifthenifthenelseifelseif 4.3 选择结构条件语句 三、多分支三、多分支ifthenelse ififthenelse if if x0 thenif x0 then 实现实现y=sign(x)y=sign(x) y=1y=1 else if x=0else if x=0 y=0y=0 elseelse y=-1y=-1 end ifend if 四、if语句的嵌套 n嵌套:语句块本身又是一个if语句 n说明 nvb中对块嵌套的层数没有限制 n使用条件语句嵌套时,一定要注意if与else,if 与end if的配对关系。书写时,采用向右缩进 的方式,使程序结构更加清楚,便于阅读和查 错。 4.3 选择结构条件语句 四、if语句的嵌套 n嵌套例子: if x0 then实现y=sign(x) y=1 else if x=0 then y=0 else y=-1 end if end if 4.3 选择结构条件语句 1. 1.格式:格式: 4.4 选择结构多分支语句select case select case select case 测试表达式测试表达式 case case 表达式表表达式表1 1 1 case case 表达式表表达式表2 2 2 case case 表达式表表达式表n n n case else case else 可选可选 n+1 end select end select 2.2.功能功能 根据根据“测试表测试表 达式达式”的值,的值, 选择第一个符选择第一个符 合条件的语句合条件的语句 块执行。块执行。 f f t t f f f f 语句块语句块n+1n+1 语句块语句块n n t t 语句块语句块2 2 t t 语句块语句块1 1 表达式表表达式表n n 表达式表表达式表2 2 表达式表表达式表1 1 执行过程:执行过程: (1 1)计算)计算 的值的值 (2 2)将)将 的值与的值与casecase语句语句 中的中的 中的每一个值逐一中的每一个值逐一 进行比较。进行比较。 如果与其中的一个值相匹配,则如果与其中的一个值相匹配,则 执行该语句中的执行该语句中的 。 如果不止一个如果不止一个 casecase与与 相匹配,则只对相匹配,则只对第一个匹配第一个匹配的的 case case 执行与之相关联的执行与之相关联的 。 如果在表达式列表中没有一个值如果在表达式列表中没有一个值 与测试表达式相匹配,则与测试表达式相匹配,则 执行执行 case else case else 子句(此项是可选的)中子句(此项是可选的)中 的语句。的语句。 (3 3)执行)执行end selectend select后面的语句。后面的语句。 case else 4.4 4.4 选择结构多分支语句选择结构多分支语句select caseselect case 4.4 选择结构多分支语句select case 1.1.测试表达式只能是测试表达式只能是数值表达式或字符串表达式数值表达式或字符串表达式。 2.2.表达式表与测试表达式的类型必须相同。表达式表与测试表达式的类型必须相同。 3.3.表达式表是一个或几个值的列表。表达式表的形式:表达式表是一个或几个值的列表。表达式表的形式: 类型形式示例 单值一个表达式case 100 多值一组用逗号分隔的枚举值case 2,4,6,8 范围 to case 1 to 10 case “a “ to “e“ is case is =20 case is=40,1 to 10 4.4 选择结构多分支语句select case dim x, y as integerdim x, y as integer select case xselect case x 实现实现 y=sign(x)y=sign(x) case is0 case is0 y=1 y=1 case is=0 case is=0 y=0 y=0 case is0 case is0 y=1 y=1 case else case else select case x select case x case is=0 case is=0 y=0y=0 case else case else y=-1y=-1 end select end select end selectend select 4.4 选择结构多分支语句select case dim x as integer, y as doubledim x as integer, y as double select case xselect case x case 1 case 1 y=2.3 y=2.3 case is1000 case 20,31,60 to 66, is1000 y=7.7 y=7.7 case else case else y=3.22 y=3.22 end selectend select 4.5 选择结构条件函数iif() 格式: iif(条件,条件为真时的值,条件为假时的值) n功能:对条件进行测试,若条件成立(为真 值),则取第一个值(即“条件为真时的值”), 否则取第二个值(即“条件为假时的值”)。 n例如:取出a、b中小的数,存入min变量中 : min=iif (ab,a,b) 格式: iif(条件,条件为真时的值,条件为假时的值) n功能:对条件进行测试,若条件成立(为真 值),则取第一个值(即“条件为真时的值”), 否则取第二个值(即“条件为假时的值”)。 n例如:取出a、b中小的数,存入min变量中 : min=iif (ab,a,b) 4.6 for、 do、while循环 一、循环概述 n循环是指在指定的条件下多次重复执行一组语句。 被重复执行的一组语句称为循环体 nvb提供的循环语句有 lfor循环: for next for each next ldo循环:do while loop do until loop do while loop do until loop lwhile循环:while end while n最常用的是for.next和do.loop语句 二、for next 一般用于循环次数已知 for 循环变量初值 to 终值 step 步长 exit for next 循环变量 循环体循环体 循环变量加步长循环变量加步长 循环变量获得初值循环变量获得初值 t t f f 循环变量超过终值循环变量超过终值? ? 1)“循环变量”:是循环计数器, 为数值型变量。 2)“初值”、“终值” 、“步长 ” :都是数值型,可以是数值表达 式。 3)步长不能为0。如果步长是1,则 step 1可以省略不写。 4)循环次数 : int(终值-初值)/ 步长)+ 1 二、for next 一般用于循环次数已知 例子: dim x, i as integer x=0 for i=0 to 10 step 1 x+=1 next i i可以不写 x=11 二、for next 一般用于循环次数已知 例子: dim x,i as integer x=0 for i=10 to 0 step -2 x+=1 next i i可以不写 x=6 二、for next 一般用于循环次数已知 例子: dim a(5,5), i, j as integer x=0 for i=0 to 2 step 1 for j=0 to 2 step 1 a(i,j)=0 next j j可以不写 next i i可以不写 三、for each next循环 nfor each 变量 in 数组或枚举 next n例子: dim i as workdays 是个枚举 dim x as integer for each i in workdays x+=1 next 循环体循环体 循环变量后继循环变量后继 变量初值:首元素变量初值:首元素 t t f f 循环变量超过终值循环变量超过终值? ? 三、do循环 适用:事先不知道循环次数的操作 四种语法格式: . do while loop语句 . do until loop语句 . do loop while语句 . do loop until语句 分成前测(1)(2)和后测(3)(4)二种 三、do循环 1.前测型 do while|until 条件 exit do loop do do whilewhile loop loop t t f f 条件条件 循环体循环体 f f t t 条件条件 循环体循环体 do do untiluntil loop loop 三、do循环 1.前测型例子: dim x,n as integer x=0 n=10 do while n6 或者写成 do until n6 或者do while n exit do loop while|until 条件 do loop do loop whilewhile t t f f 条件条件 循环体循环体 do loop do loop untiluntil f f t t 条件条件 循环体循环体 三、do循环 1.后测型例子: dim x,n as integer x=0 n=10 do x+=1 n-=1 loop while n6 或者写成 loop until n6 或者写成 loop until n exit while end while 本语句与上述do while.loop循环语句相 似 t f 条件 循环体 四、while循环 例子: dim x, n as integer x=0 n=10 while n6 x+=1 n-=1 end while x=4,n=6 t f 条件 循环体 五、循环语句总结 1.注意事项 n循环语句的doloop、fornext、 whileend while要成对出现 ndo和while的循环体内应设置相应语句,使得 整个循环趋于结束,以避免死循环。 nfor循环体内尽量不修改循环变量。 2.比较 nfor循环用于循环次数已知的情况 ndo循环用于循环次数未知的情况 n后测循环,其循环体至少执行一次 nwhile(执行条件)与until(停止条件)的区 别 六、循环嵌套多重循环结构 n注意事项 (1) 内循环变量与外循环变量不能同名; (2) 外循环必须完全包含内循环,不能交叉; (3) 每层for循环的next语句都不可省略。 (5) 了解:当多重循环的next语句连续出现时,next语句可以 合并成一条,在其后跟着各循环控制变量,循环变量名不能 省略。内层循环变量写在前面,外层循环变量写在后面 (顺 序不能错)。 例如:例如: for i1= for i1= for i2= for i2= for i3= for i3= next i3, i2, i1 next i3, i2, i1 七、exit语句 n 功能:跳出最内层的结构语句(如循环等)。 n 类型: nexit do nexit while nexit for nexit select nexit try nexit sub nexit function 七、exit语句 例子: dim x,n as integer x=0 n=8 do until n=10 if n1 exit sub exit sub 2 end subend sub public function public function 函数名函数名 ( (参数列表参数列表) ) as as 类型类型 1 = exit exit functionfunction 2 return return end functionend function 如果没有给函数名赋值,如果没有给函数名赋值, 或沒有或沒有return return 语句,语句, 返回指定类型的默认值返回指定类型的默认值 返回值返回值 通用过程的例子 public sub testpublic sub test( (byvalbyval x as integer, x as integer, byrefbyref y as string) y as string) if x0 thenif x0 then publicpublic表示可在任意位置调用表示可在任意位置调用 y=”y=”是正数是正数” ” publicpublic是默认是默认 elseelse y=”y=”不是正数不是正数” ” endifendif x+=1x+=1 end subend sub dim s as stringdim s as string dim a as integerdim a as integer call test(a,s)call test(a,s) a a的值不会改变,的值不会改变, s s的值会变。的值会变。 call call可以不写可以不写 通用函数的例子 function addfunction add( (x as double, x as double, y as double) as doubley as double) as double add= x+y add= x+y 或者写成或者写成 return x+yreturn x+y end functionend function dim adim a as doubleas double a=add(100,200)/add(10,10)a=add(100,200)/add(10,10)a=15a=15 参数列表 n传递方式:byval(传值,默认)和byref(传址 ) n optional:说明参数是否可选,一旦某个参数设 为可选,其后的所有参数都必须是可选的。 n缺省值:只有可选参数才能定义缺省值 nparamarray:只有最后一个参数可以使用 qq byvalbyval 变量名变量名 as as 类型类型 qq byrefbyref 变量名变量名 as as 类型类型 qq optional optional 变量名变量名 as as 类型类型 = =缺省值缺省值 ( (了解了解) ) qq paramarrayparamarray 数组名()数组名() as as 类型类型 ( (了解了解) ) 通用过程的方法 call语句 call 过程名(参数表) 将过程名作为语句直接调用 过程名 (参数表) 调用结束后执行call的下一 条语句。 函数调用法 将function的过程名(参数表)作为表达式的一部分 sub过程 没有返回值 function过程,有返回值 加深理解事件驱动的编程机制 窗体初始化窗体初始化 f f t t 是否有事件发生是否有事件发生? ? a事件处理过程b事件处理过程 vb.netvb.net应用程序运行流程如下。编程只需编应用程序运行流程如下。编程只需编 写事件处理过程(白色框部分)。写事件处理过程(白色框部分)。 n事件处理过程 n开头、结尾、参数由.net自动建立。 n处理过程代码必须自行编写。 n调用机制由.net自动建立。 n调用结束后,继续等待事件发生。如上页图。 n通用过程和函数 n开头、结尾、参数必须自行编写。 n过程体代码必须自行编写。 n调用语句必须自行编写,至少有一次被事件处 理过程直接或间接调用。 n调用结束后,执行调用语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 菏泽银行面试题目及答案
- 2025年注册验船师资格考试(A级船舶检验专业基础环境与人员保护)综合试题及答案一
- 北京市门头沟区2023-2024学年七年级下学期第一次月考英语考试题目及答案
- 2025年图书馆管理员招聘面试模拟题及答题技巧
- 2025年医疗器械质量认证考试全真模拟题
- 2025年财务风险管理师高级实务操作手册及考试指南
- 2025年高空作业平台设计与使用技能考试题库及答案
- 2025年高中物理学科知识与教学能力面试题解
- 2025年政府机关招聘行政岗位笔试模拟题及答案
- 2026届江苏省无锡江阴市化学高三上期末教学质量检测模拟试题含解析
- 大气污染治理技术实施方案
- 装修施工项目投标书模板
- 吊篮作业人员安全技术交底
- 1《哦香雪》公开课一等奖创新教学设计统编版高中语文必修上册
- 2024-2030年中国天然气制合成油行业需求量预测与营销战略分析研究报告
- 直播电商监管的国际比较与借鉴
- 沥青购销合同范本2024年
- 《孩子来了:如何度过最艰难的育儿时刻》记录
- 餐饮与单位用餐协议书模板
- 2023年新疆维吾尔自治区喀什地区莎车县水利局公务员考试《行政职业能力测验》历年真题及详解
- 港区泊位码头工程施工组织设计(图文)
评论
0/150
提交评论