第7章Visualasic控制结构_第1页
第7章Visualasic控制结构_第2页
第7章Visualasic控制结构_第3页
第7章Visualasic控制结构_第4页
第7章Visualasic控制结构_第5页
已阅读5页,还剩19页未读, 继续免费阅读

下载本文档

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

文档简介

1、第第7 7章章 visual basicvisual basic控制结构控制结构教学内容:教学内容:1 1、一般控制结构、一般控制结构2 2、选择控制结构、选择控制结构3 3、循环控制结构、循环控制结构1) 1) 单行结构条件语句单行结构条件语句2) 2) 块结构条件语句块结构条件语句3)iif3)iif函数函数4)select case 4)select case 1) for 1) for循环控制结构循环控制结构 2) while2) while控制结构控制结构 3) do3) do循环控制结构循环控制结构 4) 4) 多重循环多重循环 5) goto5) goto型控制型控制7.1 7.

2、1 选择控制结构选择控制结构ifif条件语句条件语句 1. if if then then (单行单行结构条件语句结构条件语句 ) 其中, 是一个条件表达式或逻辑表达式 例如,if data=90 then print “优秀” data=90?输出输出“优秀优秀”yesno例7.1输入一个数,如果是3的倍数则通过消息框输出。 private sub form_click() dim data as integer data = inputbox(请输入一个值:) if data mod 3 = 0 then msgbox dataif data mod 3 = 0 then msgbox d

3、ata end sub示例 例1单行if语句.vbpdata=90?输出输出“优秀优秀”yesno输出输出“合格合格”输出输出“计算完毕计算完毕”2. if 2. if then then 1 else else 2 (单行单行结构条件语句 ,没有没有endifendif) 例如,dim data as integer data = inputbox(“请输入成绩:) if data = 90 then print “if data = 90 then print “优秀优秀” ” else print “else print “合格合格” if data 90 then print if d

4、ata 90 then print 合格合格 else print else print 优秀优秀“ print 计算完毕 7.1 7.1 选择控制结构选择控制结构ifif条件语句条件语句 示例:例2完全的if单行语句.vbpif then end if if then else end if 3. 3. 块状块状ifif语句语句 ( (多行多行结构条件语句,块后要加结构条件语句,块后要加endifendif) )例例7.2 示例示例 例例3简化的块结构条件语句简化的块结构条件语句.vbpa = inputbox(“a值”) : b = inputbox(b值) print a, b if a

5、 b then t = a : a = b : b = t end if print a, b 7.1 7.1 选择控制结构选择控制结构ifif条件语句条件语句 4. if4. if语句嵌套语句嵌套 if语句嵌套使用可形成多分支的条件语句结构 if if then 1 then 1 elseifelseif then2 then 2 else else 3end ifend if示例:示例:例例4 4嵌套的条件语句嵌套的条件语句.vbp.vbp 例例5 5复杂嵌套的条件语句复杂嵌套的条件语句.vbp.vbp说明:说明: elseif之间不要加空格。之间不要加空格。 else和位于其上方的最近的

6、和位于其上方的最近的if配对配对 if if then2 then 4elseelse 5end ifend if7.1 7.1 选择控制结构选择控制结构ifif条件语句条件语句 例7.3weight = inputbox(输入西瓜重量:, 计算西瓜款)if weight 4 then price = 1elseif weight = 7 then price = 1.3else price = 1.1end ifmoney = price * weightmsgbox “西瓜重” & weight & “公斤,单价” & _ price & 元,应收瓜款 &a

7、mp; money & _ 元, , 计算西瓜款4公斤以下:公斤以下:1.00元元/公斤公斤4至至7公斤:公斤: 1.3元元/公斤公斤超过超过7公斤:公斤: 1.1元元/公斤公斤 if weight = 4 and price 7 then price = 1.1 7.1 7.1 选择控制结构选择控制结构ifif条件语句条件语句 7.1 7.1 选择控制结构选择控制结构iifiif函数函数实现一些简单的条件判断分支结构,格式:result = iif(result = iif(条件,条件为真时的值,条件为假时的值条件,条件为真时的值,条件为假时的值) )功能功能:对条件进行测试,若条件

8、成立(为真值),则取第一个值(即“条件为真时的值”),否则取第二个值(即“条件为假时的值”)。 例如,将a、b中的小数,放入min变量中: min=iif(ab,a,b)7.2 7.2 多分枝控制结构多分枝控制结构select caseselect case选择语句选择语句语法格式:语法格式: select case select case case case 1 1 case case 2 2 case else case else n+1 end select end select功能:根据测试表达式的值,决定程序的流向。功能:根据测试表达式的值,决定程序的流向。 值的类型是数值型、字符串

9、型、日期型等,一旦与某个case后的值相等,则执行这个case中的,完成后执行end select后的语句。 如果所有的case后的都不与项匹配,则执行case else后的。 case(详见p143) 表达式可以是下列形式:1、case 32、case 2,3,4,5,6,7,83、case 2 to 8(必须小的在前面,大的在后面)4、case is 2(必须为单一的逻辑运算,不能使用and or等复合)5) 可以采用上述几种的混合形式,相互之间用”,”号隔开示例:例7多分支结构.vbp 7.2 7.2 多分枝控制结构多分枝控制结构select caseselect case选择语句选择语

10、句例7.6 学生成绩分等 data = inputbox(请输入一个成绩, 成绩分等) select case data case is 60is 60 msgbox 不合格, , 成绩分等 case 60 to 7960 to 79 msgbox 合格 case 80 to 100 msgbox 优秀 case else msgbox 成绩有问题 end select单单击击窗窗体体确确定定7.2 7.2 多分枝控制结构多分枝控制结构select caseselect case选择语句选择语句例7.7 测试输入的字符 char = inputbox(请输入一个字符, 测试)select ca

11、se char case 0 to 9 msgbox 字符是数字, , 测试 case a to z msgbox 字符是小写字母, , 测试 case a to z msgbox 字符是大写字母, , 测试 case else msgbox 字符是其它符号, , 测试end select确确定定单单击击窗窗体体7.2 7.2 多分枝控制结构多分枝控制结构select caseselect case选择语句选择语句函数名函数名isnumericisarrayisdateisemptytypenamevartype isnullisobject功能功能指出表达式的运算结果是否为数指出变量是否为一

12、个数组指出一个表达式是否可以转换成日期指出变量是否已经初始化提供变量的类型信息指出变量的子类型,返回代表变量类型数值指出表达式是否不包含任何有效数据 (null)指出标识符是否表示对象变量。返回值返回值布尔型布尔型布尔型布尔型布尔型布尔型布尔型布尔型字符串整型布尔型布尔型布尔型布尔型示例示例mycheck = isnumeric(“34”)mycheck = isarray(myarray)mycheck = isdate(february 12, 1969)dim myvar, mycheck mycheck = isempty(myvar) mytype = typename(strvar

13、)mycheck = vartype(datevar)mycheck = isnull(myvar) mycheck = isobject(yourobject)7.3 for7.3 for循环控制结构循环控制结构forfornextnext循环循环fornext循环一般应用于循环次数已知次数已知的场合 for for = = 初值初值 to to 终值终值 step step 步长步长 语句块(循环体)语句块(循环体) exit for exit for next next 循环变量循环变量 工作原理:工作原理: 循环变量=初值循环变量超出范围?循环体循环变量增加一个步长noyesstep缺

14、省为缺省为 1 例7.8 求1+3+5+7+99private sub form_click() dim sum as integer, i as integer sum = 0 保存累加和,先清零 for i = 1 to 99 step 2for i = 1 to 99 step 2 sum = sum + i sum = sum + i next i next i msgbox 1+3+5+99= & sum, , 求和end sub 本例的特点是数据本例的特点是数据项之间相差项之间相差2, 即即step的值为的值为2 思考:思考:例中当输出对话框出现时,例中当输出对话框出现时,

15、i 的值是多少?的值是多少?如果省略如果省略step 2,程序的结果如何?,程序的结果如何?for语句能不能改写成语句能不能改写成for i=99 to 1 step -2 ? 7.3 for7.3 for循环控制结构循环控制结构forfornextnext循环循环 例7.9 求平均成绩 const n = 10 学生人数private sub form_click() dim sum as integer, i as integer dim data as integer, average as single sum = 0 存放累加值的变量清零 for i = 1 to n for i =

16、 1 to n 循环循环4040次,步长值为次,步长值为1 1省略省略 data = inputbox(data = inputbox(输入第输入第 & i & & i & 位同学的成绩位同学的成绩, , 求平均分求平均分) sum = sum + data sum = sum + data next i next i average = sum / n msgbox 全班 & n & 名学生的平均分为 & average, , 求平均分end sub 确确定定7.3 for7.3 for循环控制结构循环控制结构forfornextnex

17、t循环循环7.4 7.4 当循环控制结构当循环控制结构whilewhilewendwend循环循环 当型循环while 循环体循环体wend 条件表达式条件表达式成立?成立?循环体循环体noyes先判断后执行先判断后执行 特点:条件表达式特点:条件表达式成立执行成立执行循环体内容循环体内容 1到100之间的数值求和;dim i as integerdim sum as integeri = 0sum = 0while i = 100while i = 100 sum = sum+ i sum = sum+ i i = i +1 i = i +1wendwend7.4 7.4 当循环控制结构当循

18、环控制结构whilewhilewendwend循环循环 7.5 do7.5 do循环控制结构循环控制结构dodolooploop循环循环 do while 循环体循环体 exit doloop do 循环体循环体 exit doloop while 1. 1. 当型循环当型循环 条件表达式条件表达式成立?成立?循环体循环体noyes条件表达式条件表达式成立?成立?循环体循环体noyes先判断后执行先判断后执行 先执行后判断先执行后判断特点:条件表达式特点:条件表达式成立执行成立执行循环体内容循环体内容 private sub form_click() dim i as integer dim

19、sum as integer i = 1; sum = 0 do while i=100do while i=100 sum= sum+i sum= sum+ii = i +1i = i +1 loop loopend sub 例例7.12 17.12 1到到100100以内的求和以内的求和 private sub form_click() dim i as integer dim sum as integer i = 1; sum = 0 do sum= sum+i loop while i=100 i = i +1i = i +1end sub7.5 do7.5 do循环控制结构循环控制结

20、构dodolooploop循环循环 do until 循环体循环体loop do 循环体循环体loop until 2. 2. 直到型循环直到型循环 特点:条件表达式特点:条件表达式不成立执行不成立执行循环体内容循环体内容 先判断后执行先判断后执行 条件表达式条件表达式成立?成立?循环体循环体noyes先执行后判断先执行后判断条件表达式条件表达式成立?成立?循环体循环体noyes7.5 do7.5 do循环控制结构循环控制结构dodolooploop循环循环 例7.14计算平均分 private sub form_click() dim data as integer, sum as inte

21、ger, n as integer sum = 0 : n = 0 data = inputbox(输入成绩, 计算总分) do until data = -1do until data = -1 sum = sum + data sum = sum + data n = n + 1 n = n + 1 data = inputbox( data = inputbox(输入数据输入数据, , 计算总分计算总分) loop loop print 全班平均分为:; sum / nend sub do while data -1 sum = sum + data n = n + 1 data = inputbox(输入数据输入数据, 计算总分计算总分) loop7.5 do7.5 do循环控制结构循环控制结构dodolooploop循环循环 7.7 7.7 其他语句其他语句exitexit与与endend 1. exit1. exit语句语句exit do:跳出doloop循环exit for:跳出fornext循环例7.20 判断一个正整数是否为素数(质数) n = inputbox(请输入一个正整数, 验证素

温馨提示

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

最新文档

评论

0/150

提交评论