当前位置:文档之家› 程序流程有三种最基本的控制结构,即顺序结构、选择结构和

程序流程有三种最基本的控制结构,即顺序结构、选择结构和


示 例 关系运算符 “3”<4


<=
> >=
小于或等 于 大于
大于或等 于 等于 不等于
3<=4
0>(1>0)
值为:True,强制转换为 数值型 值为:True
值为:True,强制转换为 数值型 “aa”>=“ab” 值为:False
=
<>
1=True
1<>1
值为:False,强制转换为 数值型 值为:False
逻辑值 A T 逻辑值 B T NOT A F A AND B T A OR B T
T
F F
F
T F
F
T T
F
F F
T
T F
?“a”>“b” AND 1>2 False ?“a”>“b” OR 1<2 True ?NOT 2*5<>11 False ?2^3>3 AND 5>10 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.65 OR 性别<>“女” NOT(身高>=1.65 AND 性别=“女”)
②False
③True ④ True ⑤True ⑥ False ⑦True ⑧False
⑨False
符号: NOT (逻辑非) AND (逻辑与) 即:并且,要同时成立 OR (逻辑或) 即:或者,只要有一个成立 适用的类型和结果类型:
布尔运算符
只适用于逻辑型数据,运算结果是逻辑值
规则:
非运算的规则是:直接求反即可 与运算的规则是:只有二者全为真时结果为真,否则为假 或运算的规则是:只有二者全为假时结果为假,否则为真
(y Mod 4=0 AND y Mod 100<>0 ) OR 400=0 AND y Mod 100=0 )
(y Mod
(y Mod 4=0 AND y Mod 100<>0 ) OR y Mod 400=0
地球公转一周的时间为:365天5小时48分56秒
判断闰年的科学依据
每经过4年,剩余的时间为:5小时48分56秒×4=23小时15分44秒 则每4年都要多加24小时- 23小时15分44秒=44分16秒
Dim a As Single, b As Single, c As Single a=Val(Text1.Text):b=Val(Text2.Text):c=Val(Text3.Text) s=(a + b + c) / 2 If a+b>c And c>0 And a+c>b And b>0 And b+c>a And a>0 Then area = Sqr(s * (s - a) * (s - b) * (s - c)) Label1.Caption="能构成三角形,"&"三角形面积为:"&Str(area) Else Label1.Caption="不能构成三角形" End If
程序流程有三种最基本的控 制结构,即顺序结构、选择结构 和循环结构。 在一个过程中,程序通常是按 照由上而下的顺序来执行各个语 句的,直到整个过程结束。引入 选择结构和循环结构,可以改变 程序执行的流程。
本章主要内容
选择程序结构用于判断给定的条件,根据判断的结 果来控制程序的流程
条件表达式 关系表达式 / 逻辑表达式
IIF函数的使用
Dim x As Single x=Val(Text1.text)
If x>0 Then Label1.Caption=x Else Label1.Caption= “非正数”
Label1.Caption=IIf(x>0,x,“非正数”)
Dim x As Single X=Val(InputBox("请输入一个成绩:","输入",0))
IF X>=60 THEN Label1.Caption=“及格” Else Label1.Caption=“不及格
Label1.Caption=IIf(x>=60,“及格”,“不及格”)
块结构(IF-THEN-ELSE-END 语句格式: IF)
IF <条件> THEN [<语句列1>] [ELSE <语句列2>] END IF
下一语句
问题:如果不是 正数,应该显示 “不是正数”
选择结构(IF-THEN-ELSE)
语句格式: IF <条件> THEN [<语句序列1>][ELSE <语句序列2>] 执行过程:
判断给定的条件
Y 条件 N
•如果成立(其值为True),执行所给
语句序列1,然后执行下一条语句 •否则(其值为False),执行所给语 句序列2,然后执行下一条语句
关系表达式的格式:
关系表达式
<表达式1> <关系运算符> <表达式2> [<关系运算符> <表达式3>…]
运算次序:先分别求出运算符两侧表达式的值,
然后再将二者进行比较 其中:数值型数据按照数值大小比较 2+3>6 3>=0 5<>2^3 字符型数据按照字符的ASCII码值大小比较
“1”>“2”
“a”<“b”
x=Val(InputBox("请输入一个成绩:", "输入", 0))
If x >= 60 Then
Label1.Caption = "及格"
Else Label1.Caption = "不及格" End If
(IF-THEN-ELSE-END IF)举 示例:输入ABC的值,判断能否构成三角形,如果能,计算三 例 角形的面积
选择控制结构又称分支结构
选择控制结构
它体现了程序运行过程中的自我判断能力 程序可以根据当前执行的某个条件,进行比较、判断,并 依据判断的结果(成立与否)来决定下一步做什么,不做什 么(在两条或多条程序路径中选择一条来执行,即只执行程 序中的一部分语句)
可见,在此结构的程序运行过程中,有些语句会执行一次, 有些语句在此次程序运行过程中没有机会执行。即:“无论 分支多寡,必选其一;纵然分支众多,仅选其一” VB中的选择语句有: 单行(IF-THEN-ELSE) 双分支语句 块结构(IF-THEN-ELSE-END IF) 多分支语句(Select Case)
每经过100年,就会多加44分16秒×25=18小时26分40秒
比较接近一天,所以每到100年,就将这多加的近似一天的时间减去, 即停止追加一天 而实际上又少加了24小时- 18小时26分40秒=5小时33分20秒 每经过400年,就会少加4 × 5小时33分20秒≈24小时 所以每过400年,就应该再补加一天 故:每4年闰年出现一次;每400年,闰年再出现一次 其它的整100年,闰年停止出现一次
IF语句的嵌套
语句格式:
Y 条件1 N
IF <条件1> THEN Y N 条件2 [<语句列1>] 语句列1 语句列2 语句列3 ELSE IF <条件2> THEN [<语句列2>] ELSE 下一语句 说明: [<语句列3>] 如果在If语句的语句列1或语句列2 END IF 中又有一个完整的If语句,则称为 END IF If语句的嵌套
选择结构(IF-THEN)
语句格式: IF <条件> 执行过程: THEN <语句序列>
条件 Y 语句序列 N
判断给定的条件 •如果成立(其值为True),执行所给语 句序列,然后执行下一条语句 •否则(其值为False),跳过所给语句 序列,直接执行下一条语句
示例: 输入一个数,如果是正数,就输出 x=Val(Text1.text) If x>0 Then Label1.Caption=x
下一语句 命令序列1 命令序列2
例一:输入一个数,如果是正数,就输出;否则显示非正数
Dim x As Single
(IF-THEN-ELSE)举例
x=Val(Text1.text)
If x>0 Then Label1.Caption=x Else Label1.Caption= “非正数"
例二:根据用户输入的一个成绩,判断是否及格
嵌套 IF 举例 如果是0,打印是个零;如果是负数,打印是负数
用户输入一个数,如果是正数,打印是个正数; Dim x As Single Y x = Val(Text1.Text) If x > 0 Then Label1.Caption = "正数" 是个 Else 正数 If x = 0 Then Label1.Caption = “零” Else Label1.Caption = "负数" End If End If
布尔表达式练习
优 先 级 依 次 降 低
运算符的优先顺序 算术运算符
字符串运算符:& 关系运算符:=、<>、<、>、<=、>=
布尔运算符:Not
And
Or
运算符的优先顺序练习
设变量x=4,y=-1,a=7.5,b=-6.2,求表达式 x+y>a+b And Not y<b的值 True y表示年号,用一个表达式表示该年是否是闰年
相关主题