VisualBasic.NET编程PPT电子课件教案-第4章VisualBasic语法:控制和过程.ppt_第1页
VisualBasic.NET编程PPT电子课件教案-第4章VisualBasic语法:控制和过程.ppt_第2页
免费预览已结束,剩余53页可下载查看

下载本文档

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

文档简介

第4章 visual basic语法:控制和过程,4.1 基本结构 4.2 顺序结构语句序列 4.3 选择结构条件语句 4.4 选择结构多分支语句 4.5 选择结构条件函数iif() 4.6 循环结构循环语句 4.7 过程和函数 4.8 变量的作用域,4.1 结构化程序的基本结构,程序结构清晰,可读性好,也易于查错和修改; 具有单入口,单出口的特点 结构化程序设计方法有三种基本控制结构:,顺序结构 语句序列,选择结构 条件语句,循环结构 循环语句,4.2 顺序结构语句序列,顺序执行:语句依照其在程序中的位置依次顺序地执行。,顺序结构 语句序列,4.3 选择结构条件语句,选择结构是一种常用的基本结构,其特点是根据所给定的选择条件为真或假,来决定从不同操作中选择执行一种操作。选择结构用条件语句实现。,选择结构 条件语句,4.3 选择结构条件语句,if条件语句 if语句的嵌套 多分支语句select case,4.3 选择结构条件语句,一、单分支 if x0 then y=1 if x0 then y=1 end if y=-1 不论x是什么,y1。,if 表达式 then ,if 表达式 then end if,4.3 选择结构条件语句,二、双分支 if x0 then y=1 else y=2,if 表达式 then 语句1 else 语句2,if 表达式 then else end if,4.3 选择结构条件语句,二、双分支 if x0 then y=1 else y=2 end if,4.3 选择结构条件语句,多分支结构,三、多分支ifthenelseif,4.3 选择结构条件语句,if 表达式1 then 语句块1 elseif 表达式2 then 语句块2 else 语句块 n+1 end if,三、多分支ifthenelseif,4.3 选择结构条件语句,三、多分支ifthenelse if if x0 then 实现y=sign(x) y=1 else if x=0 y=0 else y=-1 end if,四、if语句的嵌套 嵌套:语句块本身又是一个if语句 说明 vb中对块嵌套的层数没有限制 使用条件语句嵌套时,一定要注意if与else,if与end if的配对关系。书写时,采用向右缩进的方式,使程序结构更加清楚,便于阅读和查错。,4.3 选择结构条件语句,四、if语句的嵌套 嵌套例子: 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.格式:,4.4 选择结构多分支语句select case,select case 测试表达式 case 表达式表1 case 表达式表2 case 表达式表n case else 可选 end select,2.功能 根据“测试表达式”的值,选择第一个符合条件的语句块执行。,执行过程: (1)计算的值 (2)将的值与case语句中的中的每一个值逐一进行比较。 如果与其中的一个值相匹配,则执行该语句中的。 如果不止一个 case与相匹配,则只对第一个匹配的 case 执行与之相关联的。 如果在表达式列表中没有一个值与测试表达式相匹配,则 执行 case else 子句(此项是可选的)中的语句。 (3)执行end select后面的语句。,case else,4.4 选择结构多分支语句select case,4.4 选择结构多分支语句select case,1.测试表达式只能是数值表达式或字符串表达式。 2.表达式表与测试表达式的类型必须相同。 3.表达式表是一个或几个值的列表。表达式表的形式:,4.4 选择结构多分支语句select case,dim x, y as integer select case x 实现y=sign(x) case is0 y=1 case is=0 y=0 case is0 y=-1 case else y=-1 end select,4.4 选择结构多分支语句select case,dim x, y as integer select case x 实现y=sign(x) case is0 y=1 case else select case x case is=0 y=0 case else y=-1 end select end select,4.4 选择结构多分支语句select case,dim x as integer, y as double select case x case 1 y=2.3 case is1000 y=7.7 case else y=3.22 end select,4.5 选择结构条件函数iif(),格式: iif(条件,条件为真时的值,条件为假时的值) 功能:对条件进行测试,若条件成立(为真值),则取第一个值(即“条件为真时的值”),否则取第二个值(即“条件为假时的值”)。 例如:取出a、b中小的数,存入min变量中: min=iif (ab,a,b),格式: iif(条件,条件为真时的值,条件为假时的值) 功能:对条件进行测试,若条件成立(为真值),则取第一个值(即“条件为真时的值”),否则取第二个值(即“条件为假时的值”)。 例如:取出a、b中小的数,存入min变量中: min=iif (ab,a,b),4.6 for、 do、while循环,一、循环概述 循环是指在指定的条件下多次重复执行一组语句。被重复执行的一组语句称为循环体 vb提供的循环语句有 for循环: for next for each next do循环:do while loop do until loop do while loop do until loop while循环:while end while 最常用的是for.next和do.loop语句,二、for next 一般用于循环次数已知,for 循环变量初值 to 终值 step 步长 exit for next 循环变量,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循环,for each 变量 in 数组或枚举 next 例子: dim i as workdays 是个枚举 dim x as integer for each i in workdays x+=1 next,三、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 while loop,do until loop,三、do循环,1.前测型例子: dim x,n as integer x=0 n=10 do while n6 或者写成 do until n=6 x+=1 n-=1 loop 结果x=4,n=6,三、do循环,1.前测型例子: dim x,n as integer x=0 n=10 do until n6 或者do while n=6 x+=1 n-=1 loop 结果x=0,n=10,循环体一次不执行。,三、do循环,2.后测型 do exit do loop while|until 条件,do loop while,do loop until,三、do循环,1.后测型例子: dim x,n as integer x=0 n=10 do x+=1 n-=1 loop while n6 或者写成 loop until n=6 x=4,n=6,三、do循环,1.后测型例子: dim x,n as integer x=0 n=5 do x+=1 n-=1 loop while n6 或者写成 loop until n=6 结果x=1,n=4,循环体至少执行一次。,四、while循环,语句格式 while 条件 exit while end while 本语句与上述do while.loop循环语句相似,四、while循环,例子: dim x, n as integer x=0 n=10 while n6 x+=1 n-=1 end while x=4,n=6,五、循环语句总结,1.注意事项 循环语句的doloop、fornext、whileend while要成对出现 do和while的循环体内应设置相应语句,使得整个循环趋于结束,以避免死循环。 for循环体内尽量不修改循环变量。 2.比较 for循环用于循环次数已知的情况 do循环用于循环次数未知的情况 后测循环,其循环体至少执行一次 while(执行条件)与until(停止条件)的区别,六、循环嵌套多重循环结构,注意事项 (1) 内循环变量与外循环变量不能同名; (2) 外循环必须完全包含内循环,不能交叉; (3) 每层for循环的next语句都不可省略。 (5) 了解:当多重循环的next语句连续出现时,next语句可以合并成一条,在其后跟着各循环控制变量,循环变量名不能省略。内层循环变量写在前面,外层循环变量写在后面 (顺序不能错)。,例如: for i1= for i2= for i3= next i3, i2, i1,七、exit语句,功能:跳出最内层的结构语句(如循环等)。 类型: exit do exit while exit for exit select exit try exit sub exit function,七、exit语句,例子: dim x,n as integer x=0 n=8 do until n=10 if n10 then exit do n-=1 x+=1 loop x=0,八、with end with语句,while 对象名 end with 本语句简化程序书写,一般了解。,4.7 过程和函数,什么是过程:是有名字的代码模块。可执行语句写在过程中。 过程特点:唯一的名字。 建立通用过程目的:多次执行相同的任务 通用过程的定义方法:在代码窗口直接输入. 限制:过程定义不能嵌套。,过程种类,通用过程 事件过程 属性过程,定义通用过程的语法,public sub 过程名(参数列表) exit sub end sub,public function 函数名 (参数列表) as 类型 = exit function return end function,如果没有给函数名赋值,或沒有return 语句, 返回指定类型的默认值,返回值,通用过程的例子,public sub test(byval x as integer, byref y as string) if x0 then public表示可在任意位置调用 y=”是正数” public是默认 else y=”不是正数” endif x+=1 end sub dim s as string dim a as integer call test(a,s) a的值不会改变, s的值会变。 call可以不写,通用函数的例子,function add(x as double, y as double) as double add= x+y 或者写成 return x+y end function dim a as double a=add(100,200)/add(10,10) a=15 ,参数列表,传递方式:byval(传值,默认)和byref(传址) optional:说明参数是否可选,一旦某个参数设为可选,其后的所有参数都必须是可选的。 缺省值:只有可选参数才能定义缺省值 paramarray:只有最后一个参数可以使用,byval 变量名 as 类型 byref 变量名 as 类型 optional 变量名 as 类型 =缺省值 (了解) paramarray 数组名() as 类型 (了解),通用过程的方法,call语句 call 过程名(参数表) 将过程名作为语句直接调用 过程名 (参数表) 调用结束后执行call的下一条语句。,函数调用法 将function的过程名(参数表)作为表达式的一部分,加深理解事件驱动的编程机制,vb.net应用程序运行流程如下。编程只需编写事件处理过程(白色框部分)。,事件处理过程 开头、结尾、参数由.net自动建立。 处理过程代码必须自行编写。 调用机制由.net自动建立。 调用结束后,继续等待事件发生。如上页图。 通用过程和函数 开头、结尾、参数必须自行编写。 过程体代码必须自行编写。 调用语句必须自行编写,至少有一次被事件处理过程直接或间接调用。 调用结束后,执行调用语句后的语句。,事件处理过程与通用过程/函数的区别,4.8 变量作用域,数据定义语句(dim、public、private)可以写在过程内/外。 变量作用范围:块、过程、模块、工程、类。 块例子 if then dim x as integer x由此开始 x=2 endif x到此为止,4.8 变量作用域,过程例子 sub example(byval x a

温馨提示

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

评论

0/150

提交评论