第四章 程序设计基础Word文档格式.docx
《第四章 程序设计基础Word文档格式.docx》由会员分享,可在线阅读,更多相关《第四章 程序设计基础Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
![第四章 程序设计基础Word文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/9/d31aa015-0d52-4c38-87fa-f09c1eccfdd8/d31aa015-0d52-4c38-87fa-f09c1eccfdd81.gif)
整型->
实型:
扩展小数位数
4、不管表达式是什么数据类型,都可以赋给一个Variant变量。
5、系统提供的默认初始值:
(1)数值型:
0
(2)货币型:
0(3)字符型:
空字符串
(4)逻辑型:
False(5)日期型:
0:
00:
00
(6)可变型:
Empty(7)对象型:
Nothing
6、不能连续赋值:
例:
DimaAsInteger,bAsInteger,cAsInteger
a=b=c=1错误
a=1:
b=1:
c=1正确
7、交换两个变量中的数据:
a=b:
b=a错误
t=a:
b=t正确,t是中间变量
注意:
VB中的数字和只包含数字的字符串可以方便地互换类型,例:
(1)隐式转换:
PrivateSubCommand1_Click()
DimxAsInteger,yAsString
y=“100.23”:
x=y‘隐式转换
Printx
EndSub
(2)显式转换字符型->
利用Val函数:
DimxAsInteger
Text1.Text=“100.23”
x=Val(Text1.Text)‘显式转换
(3)显式转换数值型->
字符型:
利用Str函数:
x=100.23
Text1.Text=Str(x)‘显式转换
PrintText1.Text
三、注释、暂停、结束语句:
1、注释语句:
非执行语句
(1)格式1:
Rem注释语句
(2)格式2:
‘注释语句(常用)
(3)块注释:
视图->
工具栏->
编辑->
设置注释块、解除注释块
2、暂停语句:
格式:
Stop
暂停程序的运行,但不关闭所有已打开的文件,相当于在程序代码中设置断点,主要用于调试程序。
3、结束语句:
End
停止程序的运行,关闭所有已打开的文件。
还可以用来结束一些模块的操作。
PrivateSubCommand2_Click()
四、输入函数InputBox:
在一对话框中显示提示,等待用户输入内容,并返回包含文本框内容的字符串。
1、格式:
InputBox(prompt[,title][,default][,xpos,ypos][,helpfile,context])
(1)prompt:
对话框的消息提示文字。
(2)title:
对话框的标题,标题省略取默认值“工程1”。
(3)default:
文本框的默认输入信息。
2、InputBox函数的返回值是字符型的。
3、每运行一次InputBox函数只能给一个变量赋值。
总结:
输入数据的方法:
1、在程序代码中直接指定:
优点:
代码简单
缺点:
缺少灵活性
2、利用TextBox文本框输入数据:
可以输入任意值
要添加多个文本框,界面复杂
3、利用InputBox函数输入数据:
界面简单,可以输入任意值
代码复杂,参数较多
五、消息函数和语句MsgBox:
在一对话框中显示消息,等待用户单击按钮,并返回包含文本框内容的字符串。
1、MsgBox函数:
(1)格式:
MsgBox(prompt[,buttons][,title][,helpfile,context])
①prompt:
②buttons:
a)组合值,每组只能取一个数字,数字间用“+”连接。
b)进行相加(只有唯一的分解方式)。
c)使用VB常数。
(表4-1)
d)方式a)和方式c)可以结合起来使用。
e)把“+”换成“Or”
3+32+0
35
vbYesNoCancel+vbQuestion+vbDefaultButton1
vbYesNoCancel+32+vbDefaultButton1
③title:
(2)MsgBox函数的返回值是整型的:
1-7(表4-2)
PrivateSubForm_Load()
DimaAsInteger
Show
a=MsgBox("
请你选择:
"
3+32+0,"
Buttons参数组合举例"
)
Ifa=6Then
UnloadForm1
Form2.Show
EndIf
Ifa=7Then
Form3.Show
Ifa=2Then
End
2、MsgBox语句:
仅仅用于显示一些简单的信息而不需要返回值。
MsgBoxprompt[,buttons][,title][,helpfile,context]
参数含义:
同上
不用写小括号,没有返回值,可以单独作为一个语句来使用。
六、数据输出:
Print方法的缺省输出:
从窗体的第1行第1列开始输出。
1、Tab函数:
Tab(n),参数n是绝对列数值。
(1)Tab函数与表达式之间用分号分隔。
(2)如果当前行的打印位置大于n,则Tab将打印位置移动到下一行的第n列上。
(3)如果n小于1,则Tab将打印位置移动到该行的第1列。
(4)如果n大于输出行的宽度,则Tab函数用以下公式计算下一个打印位置:
nMod行宽。
2、Spc函数:
Spc(n),参数n是相对列数值。
(1)Spc函数与表达式之间用分号分隔。
(2)如果n小于输出行的宽度,则下一个打印位置将紧接在数个已打印的空白之后。
(3)如果n大于输出行的宽度,则Spc函数用以下公式计算下一个打印位置:
当前打印位置+(nMod行宽)。
3、Space函数:
Space(n),输出n个空格
注:
Spc函数与Space函数作用相同,但Space函数可以使用字符串运算符&
和+。
输出行的控制:
Print后面不跟表达式,只输出一行空行。
输出列的控制:
用Tab、Spc或Space函数调整。
七、输出到打印机:
1、直接输出:
Printer.Print[表达式]
只能打印文本信息,不能打印图形图像信息。
(1)Page属性:
用来设置页码,默认缺省值为1。
(2)NewPage方法:
强制打印机跳到下一页打印。
(3)EndDoc方法:
用来结束文件的打印。
2、窗体输出:
[窗体.]PrintForm
既将信息输出到窗体,又将信息输出到打印机。
预览作用
(1)[窗体.]AutoRedraw=True
(2)可以打印窗体上的文本、任何可见的控件及图形信息。
附:
方法与函数的区别:
(1)方法可以单独作为语句使用,函数不可以。
(2)方法没有返回值,函数有返回值。
(3)方法的格式:
[对象.]方法[参数列表]
函数的调用格式:
函数名([参数列表])
(4)方法是隶属于某一个对象的,函数存在于VB自带的函数库。
第二节选择结构程序设计
根据指定的条件进行判断,根据判断的结果在两条分支或多条分支路径中选取其中的一条执行。
一、行If语句:
单行形式,双分支结构
If条件Then语句组1
If条件Then语句组1Else语句组2
语句组中的多个语句之间用冒号分隔。
二、块If语句:
多行形式,双分支结构
格式3:
If条件Then格式4:
If条件Then
语句组1语句组1
EndIfElse
语句组2
1、Else必须单独一行。
2、If…EndIf必须成对出现。
行If语句中不需要EndIf。
3、最好采用缩进形式。
4、如果语句组1、语句组2中含有多条语句时,最好使用块If语句。
三、If语句的嵌套:
多分支结构
四、ElseIf语句:
If条件1Then
语句组1
ElseIf条件2Then
……
ElseIf条件nThen
语句组n
Else
语句组n+1
EndIf
1、VB首先测试条件1,如果它为False,VB就测试条件2,依次类推,直到找到一个为True的条件。
此时,VB就会执行相应的语句组,然后执行EndIf后面的语句。
2、不能交叉嵌套,只能完全嵌套。
3、可以使用任意数量的ElseIf语句。
4、只有一个EndIf与If相对应。
例题4-5:
方法一:
Ifcj>
=0Andcj<
60Then
Print"
不及格"
Ifcj>
=60Andcj<
75Then
及格"
Else
=75Andcj<
90Then
良好"
=90Andcj<
=100Then
优秀"
方法二:
=75Then
=60Then
方法三:
ElseIfcj>
方法四:
SelectCasecj
Case90To100
Print“优秀”
Case75To89
Print“良好”
Case60To74
Print“及格”
CaseElse
Print“不及格”
EndSelect
五、多条件选择语句SelectCase:
SelectCase测试表达式
Case表达式1
Case表达式2
……
Case表达式n
[CaseElse
语句组n+1]
改进:
SelectCase测试表达式‘复合语句
Case表达式1:
语句组1
Case表达式2:
语句组2
Case表达式n:
语句组n
[CaseElse:
1、测试表达式只能是数值型或字符型。
2、测试表达式只计算一次,然后VB将表达式的值与结构中的每个Case的值进行比较,如果相等,就执行与该Case相关联的语句组。
3、如果不止一个Case与测试表达式相匹配,则只对第一个匹配的Case执行与之相关联的语句组。
4、表达式n的可能形式:
(1)表达式1[,表达式2][,表达式3]……无大小顺序。
(2)表达式1To表达式2包括表达式1和表达式2在内。
(3)Is<
关系运算符>
<
表达式>
只能是简单的条件,不能用逻辑运算符将两个或多个条件组合在一起。
以上三种形式可以混合使用。
六、条件判断函数IIf:
双分支结构
IIf(条件,表达式1,表达式2)
1、当条件为真时,函数返回值是表达式1的值;
当条件为假时,函数返回值是表达式2的值。
PrintIIf(cj>
=60,“通过”,“不通过”)
2、IIf函数可以嵌套使用。
例:
PrintIIf(a<
0,-1,IIf(a=0,0,1))
1、行If语句:
2、块If语句:
3、If语句的嵌套:
4、ElseIf语句:
5、多条件选择语句SelectCase:
6、条件判断函数IIf:
第三节循环结构程序设计
1、特点:
根据给定条件是否满足决定是否继续执行循环体中的操作。
避免出现“死循环”。
当程序运行了“死循环”的结构,必须按Ctrl+Break中断。
2、三种循环结构:
(1)For…Next
(2)While…Wend(3)Do…Loop
3、循环方式:
(1)计数法
(2)标志法
一、For循环结构:
For循环变量=初值To终值[Step步长]
循环体
Next[循环变量]
1、缺省步长时,默认是1。
步长可以为正值或为负值。
2、先判断条件,后执行循环体。
注:
若循环体执行n次,则条件将被判断n+1次。
3、ExitFor语句的作用:
提前退出循环体,结束循环结构。
4、空循环的作用:
延时。
5、For循环一般用在已知循环次数的情况。
6、多重循环:
不能交叉嵌套,只能完全嵌套。
各层次的循环变量名不能相同。
7、多重循环可以共用一个Next语句,但此时循环变量名不能省略,并且先内循环变量,后外循环变量。
Fori=1To10
Forj=1To15
Fork=1To20
Nextk
Nextj
Nexti
二、当型循环While…Wend结构:
While条件
Wend
1、先判断条件,后执行循环体。
2、循环体内一定要有改变条件的语句,否则就会导致“死循环”。
3、多重循环:
例题4-11:
求两个数的最大公约数。
(1)该程序算法:
(2)PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13ThenText2.SetFocus
CommandButton的Default属性默认是False,该属性设置为True时,说明该按钮是缺省按钮,按回车键就相当于单击了该按钮。
两者不能相互冲突。
三、Do…Loop循环结构:
先判断后执行
先执行后判断
当
型
循
环
DoWhile条件
循环体
Loop
与While…Wend结构相同
Do
LoopWhile条件
直
到
DoUntill条件
LoopUntill条件
1、既可以是当型循环,也可以是直到型循环。
2、While与Untill后面的“条件”总是相反的。
3、既可以先判断后执行:
也可以先执行后判断:
若循环体执行n次,则条件将被判断n次。
4、ExitDo语句的作用:
提前退出循环体的方法:
(1)For…Next:
用ExitFor语句
(2)While…Wend
(3)Do…Loop:
用ExitDo语句
Page79:
i=1
DoWhilei<
=99
s=s+i
Ifs>
2000Then
ExitDo
i=i+2
Loop
例题4-10:
用For循环结构
Fori=1To9
Forj=1Toi
PrintTab(j*8);
j&
"
×
&
i&
="
j*i;
Print
Nexti
用While…Wend循环结构
Whilei<
=9
j=1
Whilej<
=i
j=j+1
i=i+1
Wend
用Do…Loop循环结构
DoWhilei<
DoWhilej<
j=j+1
DimcjAsInteger
cj=InputBox(“请输入学生的成绩:
0~100分:
”)
DoWhileTrue
Ifcj>
=0Andcj<
=100Then
MsgBox“必须输入0~100分之间的整数!
”
cj=InputBox(“请输入学生的成绩:
例题4-13:
f=0
i=2
=n-1Andf=0
IfnModi=0Then
f=1
Fori=2Ton-1
ExitFor
=n-1
1、For循环结构:
计数法。
2、While循环结构:
计数法、标志法,可以实现多条件判断。
3、Do…Loop循环结构:
第四节其他辅助语句
一、Goto语句:
功能:
无条件地转向执行语句标号或行号的语句。
1、格式1:
Goto语句标号
语句标号后面必须加一个冒号。
2、格式2:
Goto行号
行号后面不能加冒号。
二、On-Goto语句:
BS现象
辅助教学情况:
多媒体课件、VisualBasic6.0
复习思考题、作业题
思考当窗体的名称改为form1时,该窗体的对象名是什么。
教材习题一1、2、3、4、5
参考教材或资料:
《VisualBasic程序设计教程》,刘炳文许蔓舒编著,清华大学出版