




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第3 章章 选择结构程序设计选择结构程序设计本章内容 基本概念及语法基本概念及语法 逻辑运算符与表达式 If语句语句 情况语句Select Case 条件函数 控件 复选框(CheckBox) 单选按钮(OptionButton) 框架(Frame) 选择结构Not:当操作数为:当操作数为True时,结果为时,结果为False,当操作数为当操作数为False时,结果为时,结果为TrueAnd:两操作数同时为两操作数同时为True时,结果为时,结果为True,否则为,否则为False。Or:两操作数同时为两操作数同时为False时,结果为时,结果为False,否则为,否则为True。逻辑运算符
2、 逻辑运算符 Not(取反,优先级1)、And(与,优先级2)、Or(或,优先级3)、Xor(异或,优先级3) 逻辑表达式 逻辑表达式的值 优先级:优先级:当一个表达式中出现了多种不同类型的运算符时,当一个表达式中出现了多种不同类型的运算符时,不同类型的运算符的优先级如下:不同类型的运算符的优先级如下:算术运算符算术运算符关系运算符关系运算符逻辑运算符。逻辑运算符。 逻辑运算符 例:优秀的条件:年龄小于19岁,三门课总分高于285分,其中有一门为100分.例:用VB表达式描述: ch是大写字母、小写字母、字母、字符型数据。 X在数学区间100,200内Age285 Mark1=100 or M
3、ark2=100 or Mark3=100 ?andor()逻辑运算符 例: 程序运行时,在文本框中输入某一年份,单击“是闰年吗?”后的标签进行判断,并将结果显示在相应的标签上。 例操作步骤一 设计用户界面例操作步骤二 编写代码 Private Sub lblresult_Click() Dim k As Boolean Dim y As Integer y = Val(txtyear.Text) k = y Mod 4 = 0 And y Mod 100 0 Or y Mod 400 = 0 lblresult.Caption = kEnd Sub闰年的条件:闰年的条件:年号能被年号能被4整
4、除,但不整除,但不能被能被100整整除;或能被除;或能被400整除整除 If语句的一般格式单分支结构 单分支结构If语句 语句形式: If Then If Then 语句块 End If 语句功能语句功能: 当当“表达式表达式”的值为真时执行语句(或语句的值为真时执行语句(或语句块),否则执行后继操作。块),否则执行后继操作。为关系表达式、逻辑表达式或算术表达式。若为算术表达式,其值是非零为真,零为假 一条语句或多条,且为多条时语句间用冒号分隔,并必须写在一行上 一条或多条语句。“Then”不能与其后的语句写在同一行上,否则必须加上分隔符 If语句的一般格式单分支结构 【实例实例3.1】制作简
5、单的逻辑运算符与表达式示例器,其功能是输入逻辑表达式,输出运算结果及其说明。 操作步骤一 设计用户界面操作步骤二 编写代码Private Sub cmdequal_Click() Dim b1 As Boolean, b2 As Boolean, b3 As Boolean If txtoperand1 Then b1 = CBool(txtoperand1) b2 = CBool(txtoperand2) If txtoperator = Not Or txtoperator = not Then b3 = Not b2 Lbl2.Caption = 单目运算,当操作数为假时,结果为真,反之
6、为假。End IfIf语句的一般格式双分支结构双分支结构IfThenElse语句 语句形式:1.If Then Else 2.If Then Else End If语句功能:当表达式的值为真时,执行Then 后的“语句块1”(或“语句1”),否则执行Else后面的“语句块2”(或“语句2”) If语句的一般格式双分支结构 【实例实例3.2】在窗体所示的第一个文本框(txtin)中输入字符串,当输入字符句号“.”时表示输入结束,第二个文本框(txtcount)动态统计字符串中字符的个数(不可以用求字符串长度的函数)。操作步骤一 设计用户界面操作步骤二 编写代码Dim n As Integer 窗
7、体级变量Private Sub txtin_Change() Dim ch as string Ch= Right$(txtin.Text, 1) If ch . Then n = n + 1txtcount.Text = nElsetxtin.Enabled = False End IfEnd SubIf语句的一般格式多分支结构 语句形式:If Then ElseIf Else End If 语句功能:为真时,执行 If语句的一般格式多分支结构 例: 优mark90 良80mark 90等级= 中70 mark80 及格60 mark70 不及格mark= 90 ThenMsgBox 优El
8、seIf mark = 80 ThenMsgBox 良ElseIf mark = 70 ThenMsgBox 中ElseIf mark = 60 ThenMsgBox 及格ElseMsgBox 不及格End IfEnd SubIf语句的一般格式多分支结构 【实例实例3.3】建立如图3-7所示的窗体界面。在窗体左边的文本框(txtinput)中输入字符串,字符串以“*”为结束标志;右边的三个文本框(txtletter、txtdigital、txtother)中分别显示字母字符、数字字符和其他符号字符的个数。操作步骤一 设计用户界面操作步骤二 编写代码Dim n1 As Integer, n2 A
9、s Integer, n3 As Integer 窗体级变量Private Sub txtinput_Change() Dim s As Strings = Right$(txtinput.Text, 1)If s “* Then 操作步骤二 编写代码If UCase(s) = A And UCase(s) = 0 And s = 1 And n= 5 Then lblOutput.Caption = Today is workday! ElseIf n = 6 Or n = 7 Then lblOutput.Caption = Today is weekend! Else lblOutput
10、.Caption = Input Error! End IfEnd Sub 操作步骤二 编写代码 文本框txtInput的Change事件过程 Private Sub txtInput_Change() If txtInput.Text = Then cmdOk.Enabled = False Else cmdOk.Enabled = True End IfEnd Sub If语句的一般格式If语句的嵌套 语句形式:If Then If Then End IfElseEnd IfIf语句的一般格式If语句的嵌套例: 写出输出结果。a=1: b=3: c=5:d=4if ab then if c
11、d then x=1 else if ac thenif b6) 其中,前一种形式与某个值比较,后三种形式与设定的范围比较。 情况语句Select Case 例:输入百分制成绩,输出等级制成绩。关于文本框的属性locked、enabled、multilinePrivate Sub Command1_Click()Dim sin As Single, sout As Stringsin = Val(txtin.Text)Select Case sinCase 90 to100sout = 优Case 80 To 89sout = 良Case 70 To 79sout = 中Case 70 To
12、79sout = 中Case 60 To 69sout = 及格Case 0 to 60sout = 不及格“Case ElseMsgBox (输入数据错误)End Selecttxtout.Text = soutEnd SubPrivate Sub txtin_GotFocus()txtin.Text = txtout.Text = End Sub情况语句Select Case 例3-a2:程序运行时,在文本框中输入112之间的整数,单击“显示”命令按钮,在标签中显示出相应的季节。 操作步骤一 设计用户界面操作步骤二 编写代码 “显示”命令按钮的Click事件过程 Private Sub c
13、mdShow_Click() Dim m As Integer m = Val(txtInput.Text) Select Case m Case 2 To 4: lblSeason.Caption = Spring Case 5 To 7: lblSeason.Caption = Summer Case 8 To 10: lblSeason.Caption = Autumn Case 11, 12, 1: lblSeason.Caption = Winter Case Else: lblSeason.Caption = Input Error! End SelectEnd Sub 操作步骤二
14、 编写代码 文本框txtInput的Change事件过程Private Sub txtInput_Change() lblSeason.Caption = End Sub 条件函数 IIf函数 IIf (条件,表达式1,表达式2) 当条件为真时,函数的返回值为“表达式1”,反之为“表达式2” 例如 :grade=IIf(score=60,”及格”,”不及格”) If score=60 then grade=”及格”Else grade=” 不及格”End if 条件函数 Choose函数 Choose(数值类型变量,数值表达式1,数值表达式2,数值表达式I,) 数值类型变量的值为i时函数的返回
15、值为“数值表达式i”的值 条件函数 例: color1=choose(numc,”红”,”黄”,”蓝”,”绿”) Select case numc Case 1Color1=”红” Case 2 Color1=”黄” Case 3 Color1=”蓝” Case 4 Color1=”绿” End select14控件 复选框(CheckBox) 单选按钮(OptionButton) 框架(Frame) 控件复选框 复选框主要属性 Caption属性 Value属性 0(VbUnchecked):未选定,默认值。 1(VbChecked):被选定。 2(VbGrayed):灰色,复选框显示选中标
16、记,但不允许修改。 复选框常用事件是Click(单击) 控件单选按钮 单选按钮的常用属性:1. Caption属性,单选按钮的标题。2. Value属性,单项按钮的状态。True表示选中False表示未选中。单选按钮常用事件是Click(单击)控件框架 框架的常用属性有:1. Caption属性,框架的标题。2. Enabled属性,框架是否可用。True表示框架内的所有控件是可用的False表示框架内的所有控件是不可用。在框架中放置其他控件的步骤是:1. 添加框架2. 工具箱中选择其他控件,用鼠标拖曳的方式放置于框架内 控件 【实例实例3.5】设计如图3-9所示的“网络课堂”窗体。操作步骤一
17、 设计用户界面操作步骤二 编写代码 单项按钮代码(以optcsh单选按钮为例)Private Sub optcsh_Click()lblprompt.Caption = Space(4) & optcsh.Caption & End Subspace(4) 函数产生4个空格 操作步骤二 编写代码 复选框代码(以chkel复选框代码为例) Dim sel As String, sme As String, shi As String Private Sub chkel_Click() If chkel.Value = 1 Then sel = chkel.Caption Else sel = E
18、nd If lblmodule.Caption = Trim(sel + Space(2) + sme + Space(2) + shi) trim()去掉字符串两端的空格 简易计算器简易计算器代码编写 变量定义:Dim op As String, opd As String 数字按钮代码Private Sub cmdnum_Click(Index As Integer)If txtshow.Text = 0 Or b = -1 Then txtshow.Text = : b = 0txtshow.Text = txtshow.Text +cmdnum(Index).CaptionEnd Su
19、b如果是初始状态即文本框显示0或之前输入等号(逻辑变量b=-1),则文本框清空。简易计算器代码编写 运算符按钮Private Sub cmdcacl_Click(Index As Integer)If op = Then 运算符连续按多次,只是第一次起作用opd = txtshow.Texttxtshow.Text = op = cmdcacl(Index).CaptionEnd IfEnd Sub简易计算器代码编写 等号代码Private Sub cmdeq_Click()If op ThenSelect Case op Case / If Val(Txtshow.Text) 0 Then
20、valu = Val(opd) / (Val(Txtshow.Text) Else MsgBox 除数不能是0, 0 + 48, 警告简易计算器代码编写Case * valu = Val(opd) * (Val(txtshow.Text) Case + valu = Val(opd) + (Val(txtshow.Text) Case - valu = Val(opd) - (Val(txtshow.Text)End SelectEnd Iftxtshow.Text = Str$(valu)b = -1op = End Sub简易计算器代码编写 正负号(+/-)按钮代码Private Sub
21、cmdexpr_Click()Dim t As StringIf Txtshow.Text = 0 Or b = -1 Then Txtshow.Text = : b = 0 t = Len(Txtshow.Text)If Left$(Txtshow.Text, 1) = - Then Txtshow.Text = Right$(Txtshow.Text, t - 1) Else Txtshow.Text = - & Txtshow.TextEnd SubQuestion? 区别函数fix和int fix(-3.5)= Fix(3.5)= int(3.5)= int(-3.5)=-33-3-4练习题填空5: Private Sub Form_Load() Dim x As String x = InputBox(输入您的姓名, 您叫什么名?) _ End Sub MsgBox (x & 先生:祝您马到功成!)补充日期函数1.DateAdd 增减日期函数DateAdd(要增减日期形式,增减量,要增减的日期变量)对要增减的日期变量按日期形式做增减。例:DateAdd(“ww”,2,#2/14/2000#)2.DateDiff 函数形式:DateDiff(要间隔
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年共享出行平台在提升用户出行体验中的创新服务研究报告
- 父母遗产房子分割协议书
- 管廊钢筋合同分包协议书
- 物流车辆三方转让协议书
- 海洋技术入股协议合同书
- 黄金麻外墙干挂合同范本
- 防水sbs施工合同范本
- 高校就业协议与劳动合同
- 生产线外包协议合同范本
- 苏州市购买二手房协议书
- 网约车考试题库及答案
- 慢阻肺健康宣教
- 湖北省两校2025年物理高一下期末综合测试试题含解析
- 热射病病例查房汇报
- 小学一年级升二年级暑假数学作业-应用题(178题)(附答案)
- 酒店卫生管理自查报告和整改措施
- 2024过敏性休克抢救指南(2024)课件干货分享
- GB/T 28731-2012固体生物质燃料工业分析方法
- 新高考背景下2023届高三化学一轮复习备考策略讲座
- 高校助学贷款结清凭证
- 2023年度万科集团合格供应商名录
评论
0/150
提交评论