1、第四章第四章 程序设计基础程序设计基础14.1 顺序结构程序设计顺序结构程序设计4.2 选择结构程序设计选择结构程序设计4.3 循环结构程序设计循环结构程序设计返回目录返回目录本章要求本章要求第四章第四章 程序设计基础程序设计基础2本章要求:本章要求:1.熟悉熟悉VBVB程序中代码和语句书写规则;程序中代码和语句书写规则;2.掌握赋值语句、掌握赋值语句、EndEnd语句和注释语句等语语句和注释语句等语句及输入句及输入/输出消息框函数的使用;输出消息框函数的使用;3.掌握行掌握行ifif语句、块语句、块ifif结构、结构、Select CaseSelect Case情况选择结构的使用,掌握选择的
2、嵌套结构;情况选择结构的使用,掌握选择的嵌套结构;4.掌握掌握For/NextFor/Next循环结构及循环结构及Exit ForExit For语句、语句、Do/LoopDo/Loop循环结构的使用,掌握多重循环。循环结构的使用,掌握多重循环。上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础34.1 4.1 顺序结构程序设计顺序结构程序设计特点:特点:按书写时的顺序依次执行,它是任何程序的按书写时的顺序依次执行,它是任何程序的主体基本结构。主体基本结构。顺序结构的流程图:顺序结构的流程图:(1 1)传统的流程图)传统的流程图 (2 2)N-SN-S流程图流程图A
3、BAB上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础41 1、VBVB的每一个语句以回车键结束,并设有的每一个语句以回车键结束,并设有自动语法检测。自动语法检测。2 2、VBVB还按照约定对语句进行简单的格式化还按照约定对语句进行简单的格式化处理。处理。3 3、续行符:下划线、续行符:下划线“_”_”,下划线与其前,下划线与其前面的字符之间至少要有一个空格。面的字符之间至少要有一个空格。4 4、一行可以写多条语句,但语句之间用冒、一行可以写多条语句,但语句之间用冒号号“:”隔开。隔开。4.1.1 VB4.1.1 VB中的语句及书写约定中的语句及书写约定上一页上一
4、页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础5 4.1.2 4.1.2 赋值语句赋值语句1.1.格式:格式:u 变量名变量名 =表达式表达式 u 对象名对象名.属性名属性名 =表达式表达式 2.2.作用作用:将一个表达式的值赋给一个变量或某一个对将一个表达式的值赋给一个变量或某一个对象的属性。象的属性。例例 4-1 交换两个变量中的数据交换两个变量中的数据上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础64.1.3 4.1.3 注释、暂停、结束语句注释、暂停、结束语句1.1.注释语句注释语句:RemRem或或2 2、暂停语句:、暂停语句:S
5、top 暂停程序的运行。相当于在程序代码中设置了暂停程序的运行。相当于在程序代码中设置了一个断点。一个断点。3 3、结束语句:、结束语句:End 停止程序的运行,关闭所有已打开的文件。停止程序的运行,关闭所有已打开的文件。例例4-2 设某职工应发工资设某职工应发工资x元元(假设假设x为整数为整数),试求出各种票额总张数最少的付款方案试求出各种票额总张数最少的付款方案上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础7【格式【格式】:InputBoxInputBox(提示提示,标题,标题,缺省,缺省)例例:Dim xm:Dim xm As String As Stri
6、ng xm=InputBox xm=InputBox(“(“请输入姓名请输入姓名”&Chr(13)&Chr(13)&“默认是张三默认是张三”,“查找对话框查找对话框”,“,“张三张三”)4.1.4 4.1.4 输入函数输入函数InputBoxInputBox上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础8 例例4-3 4-3“鸡兔同笼鸡兔同笼”问题问题已知鸡和兔的总头数已知鸡和兔的总头数h,h,总脚数总脚数f,f,求笼子里鸡和求笼子里鸡和兔各多少只兔各多少只?要求从输入框中输入要求从输入框中输入h,h,f f 的值。的值。第四章第四章 程序设计基础程序设计基础9
7、4.1.5 4.1.5 消息函数和语句消息函数和语句MsgBoxMsgBox1.1.消息函数消息函数 MsgBoxMsgBox:【格式格式】:变量:变量%=MsgBox%=MsgBox(提示提示,按钮按钮,标题,标题)例如例如:vbYesNoCancel+vbExclamation也可以也可以:3+48 或或 51上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础102.2.语句语句 MsgBoxMsgBox【格式】:【格式】:MsgBoxMsgBox 提示提示,按钮按钮,标题标题 它没有返回值它没有返回值,可以作为单独的语句使用可以作为单独的语句使用。例如:例如:
8、Private Sub Form_load()Private Sub Form_load()MsgBoxMsgBox“文件已存盘文件已存盘”End SubEnd Sub上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础111 1、TabTab函数:函数:Tab(n)Tab(n)【说明说明】:该函数与:该函数与PrintPrint配合将表达式的值输配合将表达式的值输出到出到n n指定的指定的绝对列数绝对列数位置,位置,2 2、SpcSpc函数:函数:SpcSpc(n)(n)【说明】该函数与【说明】该函数与PrintPrint配合使用配合使用,参数参数n n是是相对相对
9、列数列数值。是从当前位置跳过值。是从当前位置跳过 n n 个空格的位置个空格的位置.4.1.6 4.1.6 数据输出:数据输出:(Print(Print 的定位输出方案的定位输出方案)上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础124.2 4.2 选择结构程序设计选择结构程序设计4.2.1 4.2.1 行行IfIf语句:单行形式语句:单行形式If If Then Then 语句块语句块1 1 Else Else 语句块语句块2 2 上一页上一页返回章首返回章首下一页下一页例例4-4 从键盘上输入一个数从键盘上输入一个数x,输出它的绝对值输出它的绝对值 y=|x
10、|第四章第四章 程序设计基础程序设计基础13 4.2.2 4.2.2 块块IfIf语句:多行形式语句:多行形式 IfIf 条件表达式条件表达式 Then Then 语句组语句组1 1 ElseElse语句组语句组2 2 End IfEnd If表 达 式F图1-3-9 双 分 支 结 构 语 句 块1T 语 句 块2上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础14 例例4-54-5输入一个学生的百分制成绩输入一个学生的百分制成绩,要求在窗体上要求在窗体上输出:不及格、及格、良好、优秀四级记分输出:不及格、及格、良好、优秀四级记分制;如果输入小于制;如果输入小于
11、0 0或大于或大于100 100 的成绩出现的成绩出现信息提示框。信息提示框。第四章第四章 程序设计基础程序设计基础154.2.3 IfThenElseIf4.2.3 IfThenElseIf 语句语句(多分支结构多分支结构)IfIf 1 ThenThen 1 ElseIfElseIf 2 ThenThen 2 ElseIfElseIf 3 ThenThen 3 Else Else 语句块语句块 n+1 n+1 End IfEnd If上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础16表达式1表达式2表 达 式nTFTF多分支结构多分支结构 语句块n语 句 块n
12、+1 语句块 2 语句块 1FT第四章第四章 程序设计基础程序设计基础174.2.4 4.2.4 多条件选择语句多条件选择语句Select CaseSelect Case Select CaseSelect Case 测试表达式测试表达式 CaseCase 表达式表表达式表1 1 语句组语句组1 1 CaseCase 表达式表表达式表2 2 语句组语句组22 Case Case 表达式表表达式表n n 语句组语句组nn Case ElseCase Else 语句组语句组n+1n+1 End Select End Select 例例4-7 4-7 输入一个月份,输出是第几季度输入一个月份,输出是
13、第几季度上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础184.2.5 4.2.5 条件判断函数条件判断函数IIfIIf格式格式:IIfIIf(条件,表达式条件,表达式1 1,表达式,表达式2)2)例如:例如:Print Print IIF(cjIIF(cj=60,“=60,“通过通过”,“不通过不通过”)等同于:等同于:If cjIf cj=60 Then=60 Then Print“Print“通过通过”Else Else Print“Print“不通过不通过”End IfEnd If上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基
14、础194.3 4.3 循环结构的程序设计循环结构的程序设计4.3.1 For 4.3.1 For 循环结构循环结构(一般用于循环次数已知一般用于循环次数已知)For For 循环变量初值循环变量初值 to to 终值终值 Step Step 步长步长 语句块语句块Exit For Exit For 语句块语句块 Next Next 循环变量循环变量 循环体循环体上一页上一页返回章首返回章首下一页下一页 例例4-94-9 求求1!+2!+3!+4!+.+n!1!+2!+3!+4!+.+n!的值的值.第四章第四章 程序设计基础程序设计基础20 循环变量在终值内 For-Next语句语句 语句块 E
15、xit For 语句块 循环变量加步长 T F 循环变量得初值 上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础21 例例4-10 4-10 打印打印“九九表九九表”上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础224.3.2 4.3.2 当型循环当型循环WhileWend WhileWend 结构结构 While While 条件条件 循环体循环体 WendWend循环变量=初值判断条件是否为真 执行一遍循环体 改变循环变量的值True false 当型循环流程图当型循环流程图上一页上一页返回章首返回章首下一页下一页第四章第四章
16、程序设计基础程序设计基础23 例例4-114-11 用用辗转相除法辗转相除法求两个自然数求两个自然数 m m,n n 的最大的最大公约数。公约数。分析:求最大公约数的算法思想:分析:求最大公约数的算法思想:(1)(1)对于已知两数对于已知两数m m,n n,并且,并且 m nm n;(2)(2)用用m m 除以除以 n n 得余数得余数 r r;(3)(3)若若r r=0 0,则,则 n n 为最大公约数;否则执行为最大公约数;否则执行(4)(4)(4)m (4)mn n,n nr r,再重复执行,再重复执行(2)(2)。上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设
17、计基础24形式形式1 1:Do While|Until Do While|Until 语句块语句块 Exit Do Exit Do 语句块语句块 LoopLoop形式形式2 2:Do Do 语句块语句块 Exit DoExit Do 语句块语句块 Loop While|Until Loop While|Until 4.3.3 DoLoop4.3.3 DoLoop循环语句循环语句上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础25 条件表达式 F T F T Exit Do 语句块 语句块 Exit Do 语句块 语句块 条件表达式 Do Loop While 流程
18、图 Do WhileLoop 流程图 上一页上一页返回章首返回章首下一页下一页 例例4-12 4-12 求求:1-1/2+1/4-1/8+1/16-:1-1/2+1/4-1/8+1/16-的的 n n 项之和项之和第四章第四章 程序设计基础程序设计基础264.3.4 4.3.4 常用算法举例常用算法举例 例例4-13 4-13 输入输入 一个正整数一个正整数(=3),(=3),判断是否为素数。判断是否为素数。上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础27选择题选择题1.1.有关有关VBVB语句及书写规定中,语句及书写规定中,以下说法不正确的是:以下说法不正确
19、的是:A A、最好一行写完一条语句、最好一行写完一条语句B B、语句太长可用续行符写多行,续行符与前面的字、语句太长可用续行符写多行,续行符与前面的字符之间要加一个空格符之间要加一个空格C C、一行可以写多条,各语句用冒号隔开、一行可以写多条,各语句用冒号隔开D D、输出关键字时,第一个字母必须大写、输出关键字时,第一个字母必须大写上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础282.2.以下赋值语句错误的是:以下赋值语句错误的是:A A、a=a+1 Ba=a+1 B、a=43 Ca=43 C、a=T+2 Da=T+2 D、a=“T”+2a=“T”+23.3.下
20、面程序段运行后,输出的结果是:下面程序段运行后,输出的结果是:Dim xDim xIf x Then Print x else print x+1If x Then Print x else print x+1A A、1 B1 B、0 C0 C、-1 D-1 D、显示出错信息、显示出错信息上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础292.2.以下赋值语句错误的是:以下赋值语句错误的是:A A、a=a+1 Ba=a+1 B、a=43 Ca=43 C、a=T+2 Da=T+2 D、a=“T”+2a=“T”+23.3.下面程序段运行后,输出的结果是:下面程序段运行
21、后,输出的结果是:Dim xDim xIf x Then Print x else print x+1If x Then Print x else print x+1A A、1 B1 B、0 C0 C、-1 D-1 D、显示出错信息、显示出错信息上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础304.4.对语句对语句If x=1 Then y=1,If x=1 Then y=1,下列说法正确的是:下列说法正确的是:A A、x=1 x=1 和和y=1,y=1,均为赋值语句均为赋值语句B B、x=1 x=1 是关系表达式,是关系表达式,y=1 y=1 为赋值语句为赋值
22、语句C C、x=1 x=1 和和y=1,y=1,均为关系表达式均为关系表达式D D、y=1 y=1 是关系表达式,是关系表达式,x=1 x=1 为赋值语句为赋值语句上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础315.5.下面程序段运行后,两个下面程序段运行后,两个PrintPrint输出的结果分别是:输出的结果分别是:Dim x As BooleanDim x As BooleanPrint xPrint xIf Not x Then Print x Else Print x+1If Not x Then Print x Else Print x+1 A A、
23、F,F BF,F B、F,1 CF,1 C、T,1 DT,1 D、T,TT,T上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础326.6.下面程序段求两个数中的大数,不正确的是:下面程序段求两个数中的大数,不正确的是:A A、max=IIF(xy,x,y)max=IIF(xy,x,y)B B、If xy Then max=x Else max=yIf xy Then max=x Else max=yC C、max=x:If y=x then max=ymax=x:If y=x then max=yD D、If y=x Then max=y:max=xIf y=x
24、Then max=y:max=x上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础337.7.以下四种循环结构中,如果以下四种循环结构中,如果“条件条件”是一个为是一个为0 0的常数,则一次循环也不执行的是:的常数,则一次循环也不执行的是:A A、Do Until Do Until B B、DoDo Loop Loop Until Loop Loop Until C C、Do While Do While D D、DoDo Loop Loop While Loop Loop While 上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础3
25、48.8.以下程序段的输出结果是:以下程序段的输出结果是:X=1:y=4X=1:y=4Do unitlDo unitl y5 y5x=xx=x*y:y=y+1 y:y=y+1LoopLoopPrint x Print x A A、1 B1 B、4 C4 C、16 D16 D、2020上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础359.9.执行下面的程序段以后,执行下面的程序段以后,x x的值是:的值是:X=5X=5For j=1 To 20 Step 2For j=1 To 20 Step 2X=X+j5X=X+j5Next jNext jA A、21 B21
26、 B、22 C22 C、23 D23 D、2424上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础3610.10.在窗体上画一个文本框在窗体上画一个文本框,有如下事件过程:有如下事件过程:Private Sub Form_Load()Private Sub Form_Load()Text1.text=“”Text1.text=“”运行上述程序其结果是:运行上述程序其结果是:Text1.SetFocusText1.SetFocus For j=1 to 10For j=1 to 10 A A、在文本框、在文本框 Text1Text1中输出中输出55 55 Sum=S
27、um+jSum=Sum+j B B、在文本框、在文本框 Text1Text1中输出中输出0 0 Next j Next j C C、出错信息、出错信息 Text1.Text=Sum Text1.Text=Sum D D、在文本框、在文本框 Text1Text1中输出不定值中输出不定值 Print SumPrint Sum End SubEnd Sub 上一页上一页返回章首返回章首下一页下一页第四章第四章 程序设计基础程序设计基础37填空题:填空题:1.1.要使下列要使下列ForFor循环执行循环执行2020次,循环变量的初值应次,循环变量的初值应是。是。For k=_ To 5 Step 2For k=_ To 5 Step 22.2.默认情况下,用默认情况下,用InputBoxInputBox 函数返回的数据类型函数返回的数据类型是是_3 3.由由MsgBoxMsgBox函数返回的数据类型是函数返回的数据类型是_4.4.当文本框中输入当文本框中输入“ABCDE”ABCDE”五个字母时,窗体上五个字母时,窗体上显示的是显示的是_上一页上一页返回章首返回章首下一章下一章