版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 程序流程有三种最基本的程序流程有三种最基本的控制结构,即顺序结构、选择控制结构,即顺序结构、选择结构和循环结构。结构和循环结构。 在一个过程中,程序通常是在一个过程中,程序通常是按照由上而下的顺序来执行各按照由上而下的顺序来执行各个语句的,直到整个过程结束。个语句的,直到整个过程结束。引入选择结构和循环结构,可引入选择结构和循环结构,可以改变程序执行的流程。以改变程序执行的流程。 选择程序结构用于选择程序结构用于,根据,根据来控制程序的流程来控制程序的流程 本章主要内容关系运算符符号:符号: 大于大于 =大于或等于大于或等于 =小于或等于小于或等于 =等于等于 不等于不等于适用的类型和结果类
2、型:适用的类型和结果类型:关系运算符适用于数值型、字符型、日期型和逻辑型关系运算符适用于数值型、字符型、日期型和逻辑型数据,结果只能为逻辑型(真值数据,结果只能为逻辑型(真值True和假值和假值False)运算符两侧必须是同类型的量或表达式运算符两侧必须是同类型的量或表达式 若不是,系统会自动进行强制类型转换若不是,系统会自动进行强制类型转换 “5”4 0(10)若判断的结论是成立,则结果为逻辑真值若判断的结论是成立,则结果为逻辑真值(True),否则为逻辑假值否则为逻辑假值(False)True的值等于的值等于-1,False的值等于的值等于0关系运算符运算运算符符名名 称称示示 例例说说
3、明明小于小于“3”4值为:值为:True,强制转换为,强制转换为数值型数值型=小于或等小于或等于于3大于大于0(10)值为:值为:True,强制转换为,强制转换为数值型数值型=大于或等大于或等于于“aa”=“ab” 值为:值为:False=等于等于1=True值为:值为:False,强制转换为,强制转换为数值型数值型不等于不等于11值为:值为:False关系表达式运算次序:先分别求出运算符两侧表达式的值,运算次序:先分别求出运算符两侧表达式的值, 然后再将二者进行比较然后再将二者进行比较 其中:数值型数据按照数值大小比较其中:数值型数据按照数值大小比较 2+36 3=0 523 字符型数据按照
4、字符的字符型数据按照字符的ASCII码值大小比较码值大小比较 “1”“2” “a” “a” 日期型数据按照前后顺序比较日期型数据按照前后顺序比较 #01/01/2003# # 12/31/2002#关系表达式的格式:关系表达式的格式: 关系表达式练习数值型数据按照数值大小比较数值型数据按照数值大小比较字符型数据按照字符的字符型数据按照字符的ASCII码值大小比较码值大小比较日期型数据按照前后顺序比较日期型数据按照前后顺序比较FalseFalseTrue TrueTrue FalseTrueFalseFalse布尔运算符符号:符号: NOT (逻辑非逻辑非) AND (逻辑与逻辑与) 即:并且,
5、要同时成立即:并且,要同时成立 OR (逻辑或逻辑或) 即:或者,只要有一个成立即:或者,只要有一个成立适用的类型和结果类型:适用的类型和结果类型: 只适用于逻辑型数据,运算结果是逻辑值只适用于逻辑型数据,运算结果是逻辑值规则规则:非运算的规则是:直接求反即可非运算的规则是:直接求反即可与运算的规则是:只有二者全为真时结果为真,否则为假与运算的规则是:只有二者全为真时结果为真,否则为假或运算的规则是:只有二者全为假时结果为假,否则为真或运算的规则是:只有二者全为假时结果为假,否则为真逻辑值逻辑值A逻辑值逻辑值BNOT AA AND BA OR BTTFTTTFFFTFTTFTFFTFF布尔表达
6、式练习 ?“a”“b” AND 12 False ?“a”“b” OR 12 True ?NOT 2*511 False ?233 AND 510 False 表示一个数是偶数表示一个数是偶数 x Mod 2=0 或或 int(x/2)=x/2 表示一个数表示一个数X能被能被3或或5或或7整除整除 x Mod 3=0 OR x Mod 5=0 OR x Mod 7=0 表示身高不在表示身高不在1.65米以上或不是女生米以上或不是女生 身高身高1.65OR性别性别“女女” NOT(身高(身高1.65AND性别性别“女女”)布尔表达式练习 ?321 False a=3:b=4:c=5 ?a=b=c
7、 False 表示一个数表示一个数x是能被是能被3整除的奇数整除的奇数 x Mod 3=0 and x Mod 20 x Mod 2=1 and x Mod 20 表示一个数表示一个数x2,5 x2 and x5 表示一个数表示一个数x不在不在2,5区间内区间内 x2 or x5运算符的优先顺序算术运算符算术运算符字符串运算符:字符串运算符:关系运算符:关系运算符:、布尔运算符:布尔运算符:Not And Or优优 先先 级级 依依 次次 降降 低低运算符的优先顺序练习判断闰年的科学依据地球公转一周的时间为:地球公转一周的时间为:每经过每经过4年,剩余的时间为:年,剩余的时间为:则每则每4年都
8、要多加年都要多加每经过每经过100年,就会多加年,就会多加比较接近一天,所以每到比较接近一天,所以每到100年,就将这多加的近似一天的时间减去,年,就将这多加的近似一天的时间减去,即停止追加一天即停止追加一天而实际上又少加了而实际上又少加了每经过每经过400年,就会少加年,就会少加所以每过所以每过400年,就应该再补加一天年,就应该再补加一天故:每故:每4年闰年出现一次;每年闰年出现一次;每400年,闰年再出现一次年,闰年再出现一次其它的整其它的整100年,闰年停止出现一次年,闰年停止出现一次选择控制结构选择控制结构又称分支结构选择控制结构又称分支结构它体现了程序运行过程中的自我判断能力它体现
9、了程序运行过程中的自我判断能力程序可以根据当前执行的某个条件,进行比较、判断,并程序可以根据当前执行的某个条件,进行比较、判断,并依据判断的结果(成立与否)来决定下一步做什么,不做什依据判断的结果(成立与否)来决定下一步做什么,不做什么(在两条或多条程序路径中选择一条来执行,即只执行程么(在两条或多条程序路径中选择一条来执行,即只执行程序中的一部分语句)序中的一部分语句)可见,在此结构的可见,在此结构的程序运行过程中程序运行过程中,有些语句会执行一次,有些语句会执行一次,有些语句有些语句在此次程序运行过程中在此次程序运行过程中没有机会执行。即:没有机会执行。即:“无论无论分支多寡,必选其一;纵
10、然分支众多,仅选其一分支多寡,必选其一;纵然分支众多,仅选其一”VBVB中的选择语句有:中的选择语句有: 双分支语句双分支语句 多分支语句多分支语句(Select Case)(Select Case)单行单行(IF-THEN-ELSE)(IF-THEN-ELSE)块结构块结构(IF-THEN-ELSE-END IF)(IF-THEN-ELSE-END IF)选择结构(IF-THEN)语句格式:语句格式:IF IF THEN THEN 条件条件N语句序列语句序列下一语句下一语句Y执行过程:执行过程:判断给定的条件判断给定的条件如果成立如果成立( (其值为其值为True),True),执行所给语执
11、行所给语句序列,然后执行下一条语句句序列,然后执行下一条语句否则否则( (其值为其值为False)False),跳过所给语句,跳过所给语句序列,直接执行下一条语句序列,直接执行下一条语句示例:示例:输入一个数,如果是正数,就输出输入一个数,如果是正数,就输出问题:如果不是问题:如果不是正数,应该显示正数,应该显示“不是正数不是正数”语句格式:语句格式:IF IF THEN THEN ELSE ELSE 2执行过程:执行过程:判断给定的条件判断给定的条件如果成立如果成立( (其值为其值为True),True),执行所给执行所给语句序列语句序列1 1,然后执行下一条语句,然后执行下一条语句否则否则
12、( (其值为其值为False)False),执行所给语,执行所给语句序列句序列2 2,然后执行下一条语句,然后执行下一条语句选择结构(IF-THEN-ELSE)条件条件命令序列命令序列1命令序列命令序列2下一语句下一语句NY(IF-THEN-ELSE)举例例二:例二:根据用户输入的一个成绩,判断是否及格根据用户输入的一个成绩,判断是否及格例一:例一:输入一个数,如果是正数,就输出;否则显示非正数输入一个数,如果是正数,就输出;否则显示非正数Dim x As SingleDim x As Singlex=Val(Text1.text)x=Val(Text1.text)IfIf x0 x0 The
13、nThen Label1.Caption=xLabel1.Caption=x ElseElse Label1.Caption= “Label1.Caption= “非正数非正数 IIF函数的使用Dim x As SingleDim x As Singlex=Val(Text1.text)x=Val(Text1.text)语句格式:语句格式:IF IF THEN THEN 1ELSEELSE 2END IFEND IF执行过程:执行过程:判断给定的条件判断给定的条件如果成立如果成立( (其值为其值为True),True),执行所给执行所给y y语句序列语句序列1 1,然后执行下一条语句,然后执行
14、下一条语句否则否则( (其值为其值为False)False),执行所给语,执行所给语句序列句序列2 2,然后执行下一条语句,然后执行下一条语句块结构(IF-THEN-ELSE-END IF)条件条件命令序列命令序列1命令序列命令序列2下一语句下一语句NY(IF-THEN-ELSE-END IF)举例示例:示例:根据用户输入的一个成绩,判断是否及格根据用户输入的一个成绩,判断是否及格(IF-THEN-ELSE-END IF)举例示例:示例:输入输入ABCABC的值,判断能否构成三角形,如果能,计算三的值,判断能否构成三角形,如果能,计算三角形的面积角形的面积语句格式:语句格式:IF IF THE
15、N 1 THEN 1ELSEELSE IF IF THEN 2 THEN 2 ELSE ELSE 3 END IF END IFEND IFEND IF说明:说明:如果在如果在IfIf语句的语句列语句的语句列1 1或语句列或语句列2 2中又有一个完整的中又有一个完整的IfIf语句,则称为语句,则称为IfIf语句的嵌套语句的嵌套IF语句的嵌套条件条件1语句列语句列1语句列语句列2下一语句下一语句NY条件条件2YN语句列语句列3嵌套IF举例用户输入一个数,如果是正数,打印是个正数;用户输入一个数,如果是正数,打印是个正数;如果是如果是0 0,打印是个零;如果是负数,打印是负数,打印是个零;如果是负
16、数,打印是负数X0是个是个正数正数是零是零下一语下一语句句X0YN是个是个负数负数YNDim x As Singlex = Val(Text1.Text)If x 0 ThenLabel1.Caption = 正数正数Else If x = 0 Then Label1.Caption = “零零” Else Label1.Caption = 负数负数 End IfEnd If嵌套IF举例用户输入一元二次方程的系数,用户判断解的情况用户输入一元二次方程的系数,用户判断解的情况0有两个不相有两个不相同的实根同的实根有两个相同有两个相同的实根的实根下一语下一语句句0YN没有实没有实数解数解YNa=V
17、al(Text1.Text):b=Val(Text2.Text):c=Val(Text3.Text)d=b2-4*a*cIf d 0 ThenLabel1.Caption = “不同实根不同实根 Else If d = 0 Then Label1.Caption = “相同实根相同实根 Else Label1.Caption = 没有实数解没有实数解 End IfEnd If嵌套IF举例用户输入一个成绩,用户输入一个成绩,若在若在9090到到100100之间,打印优秀;之间,打印优秀;若在若在8080到到8989之间,打印良好;之间,打印良好;若在若在7070到到7979之间,打印一般;之间,
18、打印一般;若在若在6060到到6969之间,打印及格;之间,打印及格;若在若在6060以下,打印不及格;以下,打印不及格;其它情况,打印输入有误其它情况,打印输入有误语句格式:语句格式:IF IF THEN 1 THEN 1ELSEIF ELSEIF THEN 2 THEN 2ELSEELSE 其他语句列其他语句列END IFEND IF说明:说明:IF语句的嵌套格式ELSEIF条件条件1条件条件n语句列语句列1语句列语句列n其他语句列其他语句列下一语句下一语句YYNN嵌套ELSEIF举例用户输入一个数,如果是正数,打印是个正数;用户输入一个数,如果是正数,打印是个正数;如果是如果是0 0,打
19、印是个零;如果是负数,打印是负数,打印是个零;如果是负数,打印是负数Dim x As Singlex = Val(Text1.Text)If x 0 ThenLabel1.Caption = 正数正数ElseIf x = 0 ThenLabel1.Caption = 零零ElseLabel1.Caption = 负数负数End IfDim x As Singlex = Val(Text1.Text)If x 0 ThenLabel1.Caption = 正数正数Else If x = 0 Then Label1.Caption = 零零 Else Label1.Caption = 负数负数 E
20、nd IfEnd If嵌套ELSEIF举例Dim x As Singlex = Val(Text1.Text)If x 100 Then Label1.Caption = 输入有误!输入有误!ElseIf x = 90 Then Label1.Caption = 优秀!优秀! ElseIf x = 80 Then Label1.Caption = 良好!良好! ElseIf x = 70 Then Label1.Caption = 一般!一般! ElseIf x = 60 Then Label1.Caption = 及格!及格! ElseIf x = 0 Then Label1.Caption
21、 = 不及格!不及格! Else Label1.Caption = 输入有误!输入有误!End If用户输入一个成绩,用户输入一个成绩,若在若在9090到到100100之间,打印优秀;之间,打印优秀;若在若在8080到到8989之间,打印良好;之间,打印良好;若在若在7070到到7979之间,打印一般;之间,打印一般;若在若在6060到到6969之间,打印及格;之间,打印及格;若在若在6060以下,打印不及格;其以下,打印不及格;其它情况,打印输入有误它情况,打印输入有误多分支语句 当判断条件较多时,如果采用当判断条件较多时,如果采用IF语句来设计程序,会出现各方语句来设计程序,会出现各方面的
22、麻烦;而多分支语句可以利用格式中的多个条件来判断与执面的麻烦;而多分支语句可以利用格式中的多个条件来判断与执行,效率较高行,效率较高语句格式:语句格式:SELECT CASE SELECT CASE CASE CASE 11 CASE CASE 22 CASE ElSE CASE ElSE END SELECTEND SELECT说明:说明:P83P83条件条件1条件条件n语句列语句列1语句列语句列n其他语句列其他语句列下一语句下一语句YYNN多分支语句举例用户输入一个数,如果是正数,打印是个正数;如果是用户输入一个数,如果是正数,打印是个正数;如果是0 0,打印是个,打印是个零;如果是负数,
23、打印是负数零;如果是负数,打印是负数Dim x As Singlex = Val(Text1.Text)If x 0 Then Label1.Caption = 正数正数Else If x = 0 Then Label1.Caption = 零零 Else Label1.Caption = 负数负数 End IfEnd IfDim x As Singlex = Val(Text1.Text)Select Case xCase Is 0 Label1.Caption = 正数正数Case Is = 0 Case 0 Label1.Caption = 零零Case Is 0 Label1.Capt
24、ion = 负数负数End Select多分支语句举例用户输入一个成绩,用户输入一个成绩,若在若在9090到到100100之间,打印优秀;之间,打印优秀;若在若在8080到到8989之间,打印良好;之间,打印良好;若在若在7070到到7979之间,打印一般;之间,打印一般;若在若在6060到到6969之间,打印及格;之间,打印及格;若在若在6060以下,打印不及格;其以下,打印不及格;其它情况,打印输入有误它情况,打印输入有误Select Case x Case Is 100 Label1.Caption = 输入有误输入有误 Case Is = 90 Label1.Caption = 优秀优
25、秀 Case Is = 80 Label1.Caption = 良好良好 Case Is = 70 Label1.Caption = 一般一般 Case Is = 60 Label1.Caption = 及格及格 Case Else Label1.Caption = 不及格不及格End Select多分支语句举例用户输入一个年份和月份,用户输入一个年份和月份,由程序输入该年该月有多少天由程序输入该年该月有多少天! !Dim d As Integery = Val(Text1.Text): m = Val(Text2.Text)Select Case mCase 1, 3, 5, 7, 8, 1
26、0, 12 d = 31Case 4, 6, 9, 11 d = 30Case 2 If y Mod 4 = 0 And y Mod 100 0 Or y Mod 400 = 0 Then d = 29 Else d = 28 End IfEnd SelectP=Str(y) & 年年 & Str(m) & 月有月有 & Str(d) & 天天!Label1.Caption =p滚动条有些控件不能自动支持滚动的功能,有些控件不能自动支持滚动的功能,VB提供的滚动条有水平滚提供的滚动条有水平滚动条动条(HScrollBar)和垂直滚动条和垂直滚动条(VSc
27、rollBar)两种两种常用属性有常用属性有(均为整型数均为整型数):uValue 滚动条的当前值,即滑块的位置滚动条的当前值,即滑块的位置uLargeChange 单击滚动条的前后部位时,单击滚动条的前后部位时,Value的改变量的改变量uSmallChange 单击滚动条的两端箭头时,单击滚动条的两端箭头时,Value的改变量的改变量uMax Value的最大值的最大值uMin Value的最小值的最小值常用事件:常用事件:uScroll 当当拖动滚动条滑块拖动滚动条滑块时触发的事件时触发的事件uChange 当当滚动条滑块位置改变滚动条滑块位置改变时触发的事件时触发的事件滚动条程序示例P
28、rivate Sub HScroll1_Scroll( )Text1.FontSize = HScroll1.ValueEnd Sub若改为滚动条的若改为滚动条的Change事件,效果会有什么变化?事件,效果会有什么变化?使用计时器控件计时器计时器(Timer)(Timer)控件可以在程序运行中控件可以在程序运行中产生一个事件。这对不需要与用户交互的代码的产生一个事件。这对不需要与用户交互的代码的执行非常有用。执行非常有用。计时器在设计时显示为一个小时钟图标,计时器在设计时显示为一个小时钟图标,而在运行时而在运行时则看不到则看不到,常用来做一些后台处理。,常用来做一些后台处理。如果需要显示时间
29、,则应当使用标签或文本框如果需要显示时间,则应当使用标签或文本框计时器控件的常用属性uIntervalInterval属性是决定属性是决定TimerTimer控件的计时事件调用控件的计时事件调用间隔的毫秒数间隔的毫秒数格式:格式: 对象对象.Interval =.Interval =毫秒数毫秒数 说明:说明:当毫秒数为当毫秒数为0 0(缺省)时,(缺省)时,TimerTimer控件无效。控件无效。uEnabledEnabled属性(属性(True/FalseTrue/False)决定)决定IntervalInterval的设的设置是否有效置是否有效只要只要TimerTimer控件的控件的Ena
30、bledEnabled属性被设置为属性被设置为TrueTrue,而,而且且IntervalInterval属性属性00,则以则以IntervalInterval属性指定的时属性指定的时间间隔发生一次间间隔发生一次TimerTimer事件事件设计一个闪烁字幕Private Sub Form_Load()FontName = 幼圆幼圆FontBold = TrueFontSize = 100End SubPrivate Sub Timer1_Timer()Form1.ForeColor = RGB(Int(Rnd * 256), Int(Rnd * 256), Int(Rnd * 256)Form
31、1.CurrentX = Form1.Width / 10 输出的水平坐标输出的水平坐标Form1.CurrentY = Form1.Height / 16 输出的垂直坐标输出的垂直坐标Print 闪烁字幕闪烁字幕End Sub每隔每隔0.5秒闪烁一次,程秒闪烁一次,程序运行前,序运行前,Timer的的Enabled和和Interval属性属性的值应为多少?的值应为多少?设计一个计时器每隔一秒钟,文本框中的数字每隔一秒钟,文本框中的数字增一,单击增一,单击“暂停暂停”按钮就停按钮就停止止Private Sub Command1_Click()Timer1.Enabled = TrueEnd S
32、ubPrivate Sub Command2_Click()Timer1.Enabled = FalseEnd SubPrivate Sub Timer1_Timer()Text1.Text = Text1.Text + 1End Sub程序运行前,程序运行前,Timer的的Enabled和和Interval属性属性的值应为多少?的值应为多少?框架控件Frame框架控件是一个左上方有标题文字的方框。框架控件是一个左上方有标题文字的方框。它是一个容器控件。可以对窗体上的控件它是一个容器控件。可以对窗体上的控件进行视觉上的分组。进行视觉上的分组。在框架内可以在框架内可以控件,也可以将已控件,也可以将已有控件有控件到框架内到框架内框架可以提供总体的激活和屏蔽框架可以提供总体的激活和屏蔽常用属性有:常用属性有:Name 框架的名称框架的名称Caption 框架上显示的标题文字框架上显示的标题文字Visual 运行后是否可见运行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 欢庆年会模板
- 2026马年同心再出发:策马扬鞭启新程
- Tire树交互模型设计-洞察与解读
- 数字化印模技术-洞察与解读
- 物联网在酒店资产管理中的创新路径-洞察与解读
- 城市建设金融创新-洞察与解读
- VR家具展示效果评估-洞察与解读
- 心衰中医护理的推拿疗法
- 2025 九年级道德与法治下册宪法与其他法律关系解析课件
- 【7语期末】宣城市皖东南初中四校2025-2026学年七年级上学期1月期末联考语文试题
- 2026福建莆田市涵江区选聘区属一级国有企业高级管理人员2人笔试备考试题及答案解析
- 林业培训制度
- 2026年官方标准版离婚协议书
- 二十届中纪委五次全会知识测试题及答案解析
- 黑龙江大庆市2026届高三年级第二次教学质量检测化学(含答案)
- 公司品牌宣传年度推广计划
- 2025年贵州省高考化学试卷真题(含答案及解析)
- 2025年数字印刷技术应用项目可行性研究报告
- 蜜蜂授粉合同范本
- T/CEPPEA 5023-2023风光储充一体化充电站设计规范
- 2025新修订版《英语课程标准》学习心得体会
评论
0/150
提交评论