学生复习课VB.docx
- 文档编号:10991464
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:22
- 大小:33.98KB
学生复习课VB.docx
《学生复习课VB.docx》由会员分享,可在线阅读,更多相关《学生复习课VB.docx(22页珍藏版)》请在冰豆网上搜索。
学生复习课VB
Vb的基本概念
VisualBasic最突出的特点是事件驱动编程机制,(VB的程序设计方法是面向对象、事件驱动)
VisualBasic的执行方式是编译执行、只有在立即执行方式下为解释执行
VisualBasic集成环境的主窗口中含有标题栏、菜单栏、工具栏等基本信息
在VisualBasic中,窗体文件的扩展名为.frm,工程文件的扩展名是.vbp
类、对象、属性、方法、事件的概念
对象的三要素(基本特征)是:
属性、方法、事件;对象是类得具体体现,(工具栏是VB的标准类、窗体中的控件是对象)
对象的数据为属性:
描述和反映对象的特征,两种设置方法
事件是在对象上所发生的事情,其事件的名称只能由系统指定,例如click、GotFocus
方法在VB中是一种特殊的过程(函数),属于对象的行为个动作,供用户直接调用。
例如:
form1.print可以省略form1print就是方法,一般在调用方法是要用对象名.方法格式调用
注意:
方法不是对事件的响应
Vb程序设计是两个部分组成
1、界面设计部分:
控件及控件属性设置
VisualBasic窗体设计器的主要功能是建立用户界面,即界面设计。
控件设计常用控件有:
窗体(form)窗体本身是一个对象,又是其他对象的容器或者是载体
主要属性是caption用来显示窗体的标题;窗体文件的扩展名为FRM;
窗体的Name属性指定窗体的名称,用来标识一个窗体;属性BorderStyle是用来改变窗体边框线类型;如果要改变窗体的标题,则需要设置的属性是Caption
主要事件是click、Load(是窗体装入时触发的事件,一般用来进行初始化)
窗体的主要方法是Print、cls
命令按钮(command)主要属性是caption、Enabled(使命令按钮对用户产生的命令无效)
主要事件是click;,但没有双击(DblClick)事件
标签(lebel)主要属性是caption、BackStyle(设置标签是否透明=0为透明)、
BorderStyle(设置标签边框=0为没有边框、
Alignment、(标题栏显示方式,居中显示时Alignment=2)
文本框(TextBox)主要属性是:
Text、MultiLine(多行属性)、ScrollBars(滚动条属性)
注意当MultiLine=true时,ScrollBars才有效。
Locked,要求只能显示信息,不能输入时Text1.Locked=True
ForeColor属性来设置字体颜色;若要求从文本框中输入密码时在文本框中只显示*号,则应当在此文本框的属性窗口中设置Passwordchar属性值为*
要想设置或返回文本框中的内容则可利用text属性进行编程
主要事件是:
Change、Keypress、LostFoucus(失去焦点)、GotFoucus(获得焦点)
Text属性值发生改变时引发Change事件
计时器(Time)主要属性是Interval(设置时间间隔,单位毫秒)、Enabled(是否响应)
主要事件是:
Timer事件
计时器控件的Interval属性用于设置Timer事件发生的时间间隔,为了暂时关闭计时器,应把该计时器的Enabled属性设置为False,如果要求设置定时器时间间隔为1秒钟,那么它的Interval属性值应该等于1000。
计时器控件只能响应一个事件,该事件的名称是Timer
列表框(LestBox)主要属性是List、
主要方法是:
AddItem(向列表框添加列表项)、Clear(清除列表框中的所有内容)
组合框(ComboBox)组合了文本框和列表框的特性
复选框(Check)属性Value的值有三种,分别是0,1(表示复选框被选中),2
注意:
ListBox、ComboBox、TextBox控件包含滚动条,Label控件不包含滚动条;
任何控件都有Name、Width(宽度)和Height(高度)属性
控件的Visible属性是使控件是否可见,控件的Enabled属性是使控件是否有效
修改对象的属性常用两种方法:
动态修改和静态修改
决定控件上文字的字体、字形、大小及效果的属性是FONT
通过代码设置对象属性的一般格式是:
对象名.属性名=属性值
界面设计方法:
在VisualBasic窗体设计器中进行
控件布局:
确定一个控件在窗体上左右位置的属性是Left,上下位置的属性是Top
2、代码设计部分(包含了VB的程序设计语言内容)
vb中常用的数据类型、变量、常量、函数与表达式的计算
(在计算机中,不是任何数字都可以精确地表示出来)
变量的定义(说明方法)dim变量名as类型
DimxAsDouble语句的作用是将x定义为双精度类型的变量
DimstrasString*256声明一个长度为256个字符的定长字符串变量str
DimTestDateAsDate,为变量TestDate正确赋值的表达方式是:
TextDate=#1/1/2002#
VB程序中合法的变量名的判断:
A ab7B 7abC IfD a*bcEa#x
注意:
变量未赋值时,数值型变量的值为0
如果将布尔常量值TRUE赋值给一个整型变量,则整型变量的值为-1
Integer类型的数据由2字节组成,Long类型的数据由4字节组成
如果一个变量未经定义就直接使用,则该变量的类型为Variant
常用函数应用:
p59-62
用于从字符串左边截取字符的函数是Left()
可获得当前系统日期的函数是Date()
设有如下程序段:
a$="BeijingShanghai"
b$=Mid(a$,InStr(a$,"g")+1),执行上面的程序段后,变量b$的值为Shanghai
Int(12345.6789*100+0.5)/100的值为12345.68
DimxAsInteger,如果Sgn(x)的值为-1,则x的值是小于0的整
函数String(n,"str")的功能是返回由n个给定串的首字符组成的字符串
函数UCase(Mid(″visualbasic″,8,8))的值为BASIC,
InStr(″VB程序设计教程″,″程序″)的值为3
用随机函数为整型变量x赋值一个两位正整数的语句是x=90*Rnd+10
函数Int(Rnd(0)*10)的取值范围为 [0,10)
注意:
Rnd函数的写法为Rnd(0)或Rnd()或Rnd,且在调用Rnd前要加Randomize语句;
在某一个范围[a,b]内的随机整数的表达式是:
int(Rnd*(b-a+1)+a)
表达式求值:
注意表达式的运算法则和运算次序及表达式的类型
运算符"\"两边的操作数若类型不同,则:
先取整为Integer类型再运算
表达式Sqr(a+b)^3*2中最先进行运算的是+
例如:
表达式Int(Rnd*4+1)*(Int(4*Rnd-1))值的范围是[-4,8],
表达式(7\3+1)*3的值是9;
表达式((Mmod10)*10+M\10)实现将变量M的数字进行交换,M=24
表达式2*3^2+2*8/4+3^2的值为31,
表达式5Mod3+3\5*2的值是2;
设a=3,b=5,则表达式(a>b)Or(b>0)值为True
表达式2*4^2-2*6/3+3\2的值是29,
表达式5^2Mod252^2的值是1,
Abs(-8)+Len("ABCD")的值是12
Int(8*Sqr(36(*10^(-2)*10+0.5)/10的值是5
求下列逻辑表达式的值
Not(3+5<4+6) 2>1And3<21>2Or2>3 Not(1>2)
设x=4,y=8,z=7求表达式x 表达式2*4^2-2*6/3+3\2的值是29; 表达式93 Mod 2^2的值是1; 设A=7,B=3,C=4,则AMOD3+B^2\C的值是3; 逻辑表达式Not"A">"E"and9<3or9>3值为True; 逻辑表达式"12345"<>"12345"&"ABC"的值是True 已知A$="12345678",则表达式val(Left$(A$,4)+Mid$(A$,4,2))的值为123445; 设S="中华人民共和国",表达式Left(S,1)+Right(S,1)+Mid(S,3,2)的值为"中国人民"; 表达式Len("123程序设计ABC")的值是10 写表达式 数学关系3≤x<10表示成正确的VB表达式是: 3<=x And x<10 或 x>=3 and x<10; 数学式子sin30°写成VB表达式是: Sin(30*3.14/180); 表示x是5的倍数或是9的倍数的逻辑表达式是: x mod 5=0 or x mod 9=0; 数学表达式5 数学表达式X2+3XY对应的VB算术表达式是X*X+3*X*Y; X是小于100的非负数,用VB表达式表达正确的是0<=XandX<100 如果X是一个正实数,将百分位四舍五入,保留一位小数的表达方式是 0.1*Int(10*(X+0.05)), 对x的第3位小数四舍五入的表达式是0.01*Int(100*(X+0.005)) 能正确表示条件"整型变量x值是大于等于-5并且小于等于5"的逻辑表达式为: -5<=xandx<=5 VB的语句 输入/输出 输出方法: Print; 语句Print"5*5"的显示结果是5*5,print 5*5\5/5输出结果是25 设a=10,b=5,c=1,执行语句Printa>b>c后,窗体上显示的是False PrintFormat$(32548.5,"000,000.00")语句的输出结果是032,548.50 PrintFormat(123,“####”)执行之后的结果为123 若a=345.62,则执行PrintFormat(a,“+#.000”)后a的值为+345.620 使“计算机技术”在当前窗体上输出的语句是Print"计算机技术" 文本框和标签输出 MsgBox语句产生一消息框,请注意使用格式。 P79 MsgBox函数的第一个参数是一个字符串,该参数指定在对话框中出现的文本(提示)信息 输入方法: 从文本框中取出数据 用InputBox函数设计的对话框输入数据P78 例如: 从键盘输入一个作为双精度变量a的值的语句是 a=Val(InputBox("请输入一个值")) 设有语句x=InputBox("输入数值","0","示例")程序运行后, 如果从键盘上输入数值10,并按回车键,变量X的值是字符串"10" 执行语句: a=InputBox("Today","Tomorrow","Yesterday") 将显示一个输入对话框,在对话框的标题中显示的信息是Tomorrow,在对话框的输入区中显示的信息是Yesterday 注意: InputBox函数返回值的类型为字符串,语句使用格式。 执行一次InputBox函数不可以同时输入多个数值 用赋值语句输入 例如: 执行下列语句 a$="VisualBasicPrograming" b$="Quick" c$=b$&Ucase(Mid$(a$,7,6))&Right$(a$,11) 则变量c$的值为QuickBASICPrograming a%=10用来声明a是一个取值为10的整型变量 VB提供了结构化程序设计的三种基本结构,三种基本结构是: 顺序结构/选择结构/循环结构 顺序结构 下面程序运行后,窗体(Form1)中输出的结果是TrueTrue PrivateSubForm_Load() Form1.AutoRedraw=True X=3: y=5 Printx=3;y=5 执行以下程序段后,变量c$的值为(QuickBASICPrograming) a$="VisualBasicPrograming" b$="Quick" c$=b$&Ucase(Mid$(a$,7,6))&Right$(a$,11) 在窗体中添加一个命令按钮,并编写如下程序: PrivateSubCommand1Click() X=1: Y=2: Z=3 X=Y: Y=Z: Z=X PrintZ EndSub程序执行后,输出的结果是 2 在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: PrivateSubCommand1_Click() a$="VisualBasic" PrintString(3,a$) EndSub程序运行后,在窗体上显示的内容是VVV 下面程序运行后,窗体(Form1)中输出的结果是 -17 PrivateSubForm1_Load() Form1.AutoRedraw=True x=-17.8 PrintSgn(x)*Int(Abs(x)) EndSub 下列程序的运行结果为: 0 DimxAsInteger,yAsInteger x=12.4 y=20.9 print(x+y)mod3 有程序PrivateSubCommand1_Click() a=InputBox("输入第一个数")注意: InputBox函数返回值的类型 b=InputBox("输入第一个数") c=a+b Printc EndSub 那么在2次输入框中输入12和34之后,c的值应该为"1234" 程序: PrivateSubCommand1_Click() A="123": b="456": C=Val(a)+Val(b): Printc EndSub程序执行的结果是579 在窗体(Name属性为Formal)上画两个文本框(其Name属性分别为Text1和Text2)和一个命令按钮(Name属性为Command1),然后编写如下两个事件过程: PrivateSubCommand1_Click() A=Text.Text+Text2.Text Printa EndSub PrivateSubFormm_Load() Text1.Text="" Text2.Text="" EndSub 程序运行后,在第一个文本框(Text1)和第二个文本框(Text2)中分别输入123和321,然后单击命令按钮,则输出结果为 123321 在窗体上画一个命令按钮,然后编写如下事件过程: PrivateSubCommand1_Click() A=″12″ B=″34″ C=″56″ PrintA+B+C字符串连接p63 EndSub 程序运行后,单击命令按钮,输出结果是123456 可以将变量a、b值互换的语句是c=a: a=b: b=c 或a=a+b: b=a-b: a=a–b 分支选择结构 语句的写法 分析下列语句的正确性 A IfA≠BThenPrint"A不等于B" B IfA<>BThenPrintf"A不等于B" C IfA<>BThenPrint"A不等于B" D IfA≠BPrint"A不等于B" 如果A为整数,且|A|>=100,则打印“OK”,否则打印“Error”,表示这个条件语句的单行语句是: IfFix(A)=AAndABS(A)>=100ThenPrint"Ok"ElsePrint"Error" 运行结果 a=sqr(3): b=sqr (2): c=a>b: print c 程序输出结果是True注意这里使用的是多语句行 设a=6,则执行x=IIf(a>5,-1,0)后,x的值为–1注意: IIf(a>5,-1,0)中的条件函数 给出下列程序运行的结果 (1)x=5 y=-6 IfNotx>0Thenx=y-3Elsey=x+3if语句在一行内书写 Printx-y;y-x结果-33 (2)1=4 J2=9 IfJ1 (3)设a=5,b=6,c=7,d=8,则执行x=IIF((a>b)And(c (4)下列程序段执行结果为: -33 x=5 y=-6 IfNotx>0Thenx=y-3Elsey=x+3 Printx-y;y-x注意: print输出时的;使用 (5)下列程序段的执行结果为: I=4 a=75 Ifa>60ThenI=1 Ifa>70ThenI=2 Ifa>80ThenI=3 Ifa<90ThenI=4 Print"I=";I (6)下面程序段执行结果为: pass x=Int(Rnd()+3) SelectCasex Case5 Print"excellent" Case4 Print"good" Case3 Print"pass" CaseElse Print"fail" EndSelect (6)计算z的值,当x大于等于y时,z=x;否则z=y。 下列语句错误的是A A .Ifx>=yThenz=x: z=yB. Ifx>=yThenz=xElsez=y C. z=y: Ifx>=yThenz=xD .Ifx<=yThenz=yElsez=x (7)如果X的值小于或等于Y的平方,则打印“OK”,表示这个条件的单行格式If语句是D A. Ifx≤y^2ThenPrint"Ok"B. Ifx≤y^2Print"Ok" C. Ifx<=y^2Then"Ok"D. Ifx<=y^2ThenPrint"Ok" 循环结构 循环结构的分类和执行过程 1)在DoUntil…Loop循环中,判断循环表达式与结束循环的关系是先判断循环表达式,当表达式值为真时结束循环;在DoWhile…Loop循环中,判断循环表达式与结束循环的关系是先判断循环表达式,当表达式值为假时结束循环 2)下面的循环结构DoWhile如果条件成立,则执行循环体,否则不执行;DoUntil如果条件不成立,则执行循环体,否则不执行 DoWhile/Until条件 循环体 Loop 3)Do...Loop循环分为前测型Do...Loop循环和后测型Do...Loop循环,那么当条件为假的时候,前测型Do...Loop循环执行__0__次循环,而后测型Do...Loop循环执行__1_次循环 4)要使下列For语句循环执行20次,循环变量的初值应当是多少? 33 For k= 33To -5 Step -2注意循环次数的计算 循环结构的执行结果分析 1)在窗体上画两个文本框(其Name属性分别为Text1和Text2)和一个命令按钮(其Name属性为Command1),然后编写如下的事件过程: PrivateSubCommand1_Click() X=0 DoWhilex<50 X=(x+2)*(x+3) N=n+1 Loop Text1.Text=Str(n) Text2.Text=Str(x) EndSub 程序执行后,单击命令按钮,在两个文本框中显示的值分别为2和72 2)有如下程序 PrivateSubForm_Click() Fori=1.7To5.9Step0.9循环参数为实数 a=a+1 Printa Nexti EndSub程序运行时,共执行循环体的次数是5 3)若i的初值为8,则下列循环语句的循环次数为(5)次 DoWhilei<=17 i=i+2 Loop 4)设有以下循环结构Do循环体LoopWhile<条件>则以下叙述中错误的是A A 若"条件"是一个为0的常数,则一次也不执行循环体 B "条件"可以是关系表达式、逻辑表达式或常数 C 循环体中可以使用ExitDo语句 D 如果"条件"总是为True,则不停地执行循环体 5)以下程序段的输出结果为(4) x=1 y=4 DoUntily>4 x=x*y y=y+1 Loop Printx 6)执行下面的程序段,x的值为 PrivateSubCommand1_Click() Fori=1To9 a=a+i Nexti x=Val(i) MsgBoxx EndSub_.参考答案10 7)阅读下面的程序段: ForI=1To3 Forj=1ToI Fork=jTo3 A=A+1 Nextk Nextj NextI注意: 循环的执行过程 执行上面的三重循环后,a的值为14 8)设有如下程序: PrivateSubCommand1_Click() DimcAsInteger,dAsInteger c=4 d=InputBox("请输入一个整数") DoWhiled>0 Ifd>cThen c=c+1 EndIf d=InputBox("请输入一个整数") Loop Printc+d EndSub 程序运行后,单击命令按钮如果在输入对话框中依次输入1、2、3、4、5、6、7、8、9、0,则输出结果是9 数组 数组的定义和数组元素的个数计算 1)用下面语句所定义的数组的元素个数是(9) Dima(-3to5)asinteger 2)设有数组声明语句: OptionBase0 DimB(-1To10,2To9,20)AsInteger则数组B中共有(2016)个元素 3)若有Dima(6,3to8)assingle,说明a数组里面包括42个数组元素 4)使用ReDim语句不但可以改变动态数组的下标界限,而且可以改变其维数 带数组的程序运行 1)执行以下Command1的Click事件过程 OptionBase0 PrivateSubCommand1_Click() Dima a=Array("a","b"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 复习 VB