VB 习题(参考答案).ppt
VB 学习版、专业版、企业版区别Visual Basic 学习版学习版 Visual Basic 学习版让编程人员很容易地创建功能强大的 Microsoft Windows 和 Windows NT(R)应用程序。它包括了所有的内部控件,加上网格、选项卡、和数据绑定控件。与此版本一起提供的文档包括 Learn VB Now(这是一张多媒体 CD-ROM 的标题),加上包含了完整联机文档的 Microsoft Developer Network CD。学习版就是简装版Visual Basic 专业版专业版 专业版向计算机专业人员提供了一套功能完整的工具,以便他们为其他人开发解决方案。专业版包含了学习版的所有功能,还加上了附加的 ActiveX 控件、Internet Information Server 应用程序设计器、集成数据工具和数据环境、Active Data Objects、以及动态 HTML 页面设计器。Visual Basic 企业版企业版 企业版允许专业人员以小组的形式来创建强健的分布式应用程序。它包括专业版的所有特性,加上 Back Office 工具,例如 SQL Server、Microsoft Transaction Server、Internet Information Server、Visual SourceSafe、SNA Server 等等。建立一个应用程序分为以下几步建立一个应用程序分为以下几步(1)建立用户界面的对象建立用户界面的对象(2)对象属性的设置对象属性的设置(3)对象事件过程及编程对象事件过程及编程(4)保存和运行程序保存和运行程序VB 默认安装目录C:Program Files Microsoft Visual StudioVB98VB6.EXE 默认保存目录C:Program Files Microsoft Visual StudioVB98VB常用图片、图标保存位置C:Program Files Microsoft Visual StudioCommonGraphics习题习题 二二对象对象指现实世界中的实体。每个对象有自己的指现实世界中的实体。每个对象有自己的特征特征(属性属性)、行为、行为(方法方法)和发生在该对象和发生在该对象上的活动上的活动(事件事件)。类类是对同一种对象的集合与抽象。类包含是对同一种对象的集合与抽象。类包含所创建对象的属性数据,以及对这些数据所创建对象的属性数据,以及对这些数据进行操作的方法。进行操作的方法。封装封装和和隐藏隐藏是类的重要特性,将数据结构是类的重要特性,将数据结构和对数据的操作封装在一起,类的内部实和对数据的操作封装在一起,类的内部实现细节对用户来说是透明的。现细节对用户来说是透明的。对象的三要素:属性、事件和方法。对象的三要素:属性、事件和方法。属性属性:存放对象的数据:存放对象的数据(决定对象外观及功能决定对象外观及功能)对象属性的设置方法:对象属性的设置方法:在设计阶段在设计阶段,利用属性窗口直接设置属性值;,利用属性窗口直接设置属性值;程序运行时程序运行时,通过语句,通过语句对象名对象名.属性名属性名=属性值。属性值。若属性只能在设计阶段设置,在程序运行阶段若属性只能在设计阶段设置,在程序运行阶段不可改变,称为不可改变,称为只读属性只读属性。事件:事件:发生在对象上的事情。同一事件,对不同发生在对象上的事情。同一事件,对不同的对象,会引发不同的反应。的对象,会引发不同的反应。方法:方法:面向对象的程序设计语言,为程序设计人面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数。方法是面向员提供了一种特殊的过程和函数。方法是面向对象的,调用时一定要指明对象。对象的,调用时一定要指明对象。窗体和控件具有的基本属性窗体和控件具有的基本属性(1)Name属性:名称属性:名称 所创建的对象名称所创建的对象名称,在程序中引用。在程序中引用。(2)Caption属性:标题属性:标题 该属性决定了对象上显示的内容。该属性决定了对象上显示的内容。(3)Height、Width、Top和和Left属性属性 决定对象的大小和位置。决定对象的大小和位置。(4)Enabled 属性:对象是否允许操作属性:对象是否允许操作(5)Visible 属性:对象是否可见属性:对象是否可见(6)Font 属性组:文本的外观属性组:文本的外观 FontName字体、字体、FontSize大小大小 FontBold粗体、粗体、FontItalic斜体斜体 FontStrikethru 删除线删除线 FontUnderline 下划线下划线(7)ForeColor属性:前景颜色属性:前景颜色(8)BackColor属性:背景颜色属性:背景颜色(9)MousePointer属性:鼠标指针类型属性:鼠标指针类型,设置值范围设置值范围015,由系统指定,由系统指定。若为。若为99,由用户提供的图形文,由用户提供的图形文件定义鼠标指针形状。件定义鼠标指针形状。(10)MouseIcon属性:在属性:在MousePointer属性值为属性值为99时,时,存放自定义的鼠标图标文件(存放自定义的鼠标图标文件(.ico或或.cur)。图标库)。图标库在在Graphics目录下。目录下。窗体的事件:窗体的事件:Load事件是在窗体被装入工作区时触发的事件。当应事件是在窗体被装入工作区时触发的事件。当应用程序启动,自动执行该事件,该事件通常用来在启用程序启动,自动执行该事件,该事件通常用来在启动应用程序时对属性和变量进行初始化。动应用程序时对属性和变量进行初始化。窗体的方法窗体的方法:(1)Print方法(方法(2)Cls方法方法 (3)Move方法方法标签和文本框标签:用于显示文本(输出)信息,不能作为输入信息的界面。其内容只能通过Caption属性设置或修改,不能直接编辑。文本框是一个文本编辑区域,可以在该区域输入、编辑、修改和显示正文内容。在VB中字符长度以字为单位,也就是一个西文字符与一个汉字都是一个字,长度为1。文本框主要属性文本框主要属性(1)Text 显示或输入的正文内容。(2)Maxlength 设置文本框可输入的文字最大长度。默认值为0,表示可以输入任意长字符串。(3)MultiLine 多行属性设置为True时,文本框可以输入或显示多行正文,同时具有文字处理器的自动换行功能,按Enter键可插入一空行。(4)ScrollBars 滚动条属性 0-None 无滚动条 1-Horizontal 水平滚动条 2-Vertical 垂直滚动条 3-Both 同时加水平和垂直滚动条注意:当MultiLine为True时,ScrollBars才有效(5)PassWordChar 设置显示文本的替代符。例如,当设置为“*”,则在文本框输入的内容均以“*”显示,而存储的值是用户输入的原文。一般用于设置口令的输入。当MultiLine为True时,该属性不起作用,密码不允许多行。(6)Locked 指定文本控件是否可被编辑,默认值为False(可编辑),当设置为True时,文本控件相当于标签控件的作用。注意:Locked与Enabled的区别。(7)文本内容进行选择操作的三个属性SelStart 选定的正文开始位置SelLength 选定的正文长度SelText选定的正文内容这3个属性互相关联,例如设置SelStart、SelLength后,SelText 自动存放指定的文本。注意:属性窗口中没有这三个属性,只能在程序代码中使用。让文本框活的焦点的方法是SetFocus,把光标移到指定的文本框中。文本款的Change 时间和KeyPress 事件(1)Change事件:当Text属性值发生改变时引发该事件(2)KeyPress事件:按下并且释放键盘上的一个键时,引发焦点所在控件的KeyPress事件,所按键的值存放在参数KeyAscii中。对回车的判断 KeyAscii=13清除文本框的内容 Text1.Text=启动窗体时将命令按钮定位在窗体中央的代码 Private Sub Form_Load()n Command1.Left=Form1.ScaleWidth/2-Command1.Width/2 Command1.Top=Form1.ScaleHeight/2-Command1.Height/2 End Sub习题 三1.合法常量:(1)Double (2)错误 (3)Double (4)Double (5)错误(6)Integer (7)String (8)String (9)Date (10)Double(11)错误(汉字字符)(12)Integer(八进制)(13)错误(八进制无数码8)(14)Integer (15)Boolean(16)错误 (17)错误(十六进制无数码g)(18)Single 说明:浮点型变量默认为Double类型而非Single。2.合法变量名:(1)(2)(3)误:数字开头误:数字开头 (4)误:含空格误:含空格(5)误:关键字 (6)(7)误:关键字 (8)误:有括号(9)(10)(11)(12)(汉字字符可作为变量名,但不常用)变量命名规则见P.41-42。字母(汉字)开头,字母(汉字)、数字、下划线组成,长度为1-255个字符;关键字不可作为变量名,但可在变量名中嵌入关键字;不区分大小写。常量、数组、类型、函数、过程、对象命名规则与此相同。常量名通常全用大写。(1)Abs(x+y)+z 5(1)Abs(x+y)+z 5 (2)(1+x*y)6(2)(1+x*y)6(3)(10*x+Sqr(3*y)/(x*y)(3)(10*x+Sqr(3*y)/(x*y)(4)(-b+Sqr(b 2-4*a*c)/(2*a)(4)(-b+Sqr(b 2-4*a*c)/(2*a)(5)1/(1/r1+1/r2+1/r3)(5)1/(1/r1+1/r2+1/r3)(6)Sin(45*3.14159/180)+(Exp(10)+(6)Sin(45*3.14159/180)+(Exp(10)+Log(10)/Sqr(x+y+1)Log(10)/Sqr(x+y+1)3.3.写写VBVB表达式表达式4.根据条件写表达式(1)随机产生大写字母随机产生大写字母 Chr(Int(Rnd*(Asc(L)-Asc(C)+1)+Asc(C)(2)100,200内的随机数 Int(Rnd*101)+100(3)点(x,y)位于第一或第三象限 x 0 And y 0 Or x 0 And y 0(4)x是5或7的整数倍 x Mod 5=0 Or Int(x/7)=x/7(5)将两位整数x的个位与十位对换 x 10+(x Mod 10)*10(6)四舍五入取两位小数 Round(x,2)(7)字符变量C是字母字符(不区分大小写)准确地说是:字符变量C的第一个字符是字母 C=A And C=a And C=A And UCase(C)=a And LCase(C)=z(8)字符变量S第5个字符起取6个字符 Mid(S,5,6)(9)10 x20 10=x And x 20(10)x,y至少有一个小于z x z Or y z And y z6Shell函数调用 i=Shell(mspaint.exe,1)启动画图启动画图i=Shell(C:Program FilesMicrosoft OfficeOFFICE11winword.exe,1)启动启动Word VB 数据类型数据类型 数据类型符integer%短整型短整型 long&长整型长整型 single !单精度浮点型单精度浮点型 double#双精度浮点型双精度浮点型 currency 货币型货币型 string$字符型字符型Boolean 布尔型(逻辑性)布尔型(逻辑性)Data 时间型时间型Byte 字节型字节型Currency 货币型货币型Variant 变体变量变体变量习题 四 第第1,3,5,8题答案在教材中找。题答案在教材中找。2.赋值语句的错误赋值语句的错误(1)10 x 不能做变量名。不能做变量名。上机验证结果:上机验证结果:VB将将10识别为行号,识别为行号,x=Sin(x)+y是为变量是为变量x赋值。故无语法错误。赋值。故无语法错误。(2)Sqr函数的参数为负数。函数的参数为负数。上机验证结果:上机验证结果:“无效的过程调用或参数无效的过程调用或参数”(3)赋值号左边不是变量名。)赋值号左边不是变量名。上机验证结果:上机验证结果:“缺少子程序、函数或属性缺少子程序、函数或属性”(4)除数为)除数为0 上机验证结果:上机验证结果:“溢出溢出”。6指出错误指出错误(1)“”应改为应改为“=”,前者是中文字符,不具有,前者是中文字符,不具有运算功能。运算功能。(2)“10 x20”应改为应改为“10 x And x 20 Then y=x 2+3*x+2ElseIf x=10 Then y=Sqr(3*x)-2ElseIf x 0 Then y=1/x+Abs(x)End IfPrint y=;y#使用使用Select CaseSelect Case语句语句Dim x As Single,y As Dim x As Single,y As SingleSinglex=Val(InputBox(x=)x=Val(InputBox(x=)Select Case xSelect Case x Case Is 20 Case Is 20 y=x 2+3*x+2 y=x 2+3*x+2 Case Is=10 Case Is=10 y=Sqr(3*x)-2 y=Sqr(3*x)-2 Case Is 0 Case Is 0 y=1/x+Abs(x)y=1/x+Abs(x)End SelectEnd SelectPrint y=;yPrint y=;y(3)#使用使用If语句语句Dim x As Single,y As SingleDim z As Single,Dim Max As Singlex=Val(InputBox(x=)y=Val(InputBox(y=)z=Val(InputBox(z=)Max=xIf y Max Then Max=yIf z Max Then Max=zPrint Max=;Max#使用使用IIFIIF函数函数x=x=Val(InputBox(x=)Val(InputBox(x=)y=y=Val(InputBox(y=)Val(InputBox(y=)z=z=Val(InputBox(z=)Val(InputBox(z=)Max=IIf(x y,x,Max=IIf(x y,x,y)y)Max=Max=IIf(z Max,z,Max)IIf(z Max,z,Max)Print Max=;MaxPrint Max=;Max9.计算循环次数(1)6 (2)19 (3)0 (4)死循环直至溢出)死循环直至溢出10.40号语句执行号语句执行 4次;第次;第50 号语句执行号语句执行12次;次;执行第执行第90号语句输出的结果是:号语句输出的结果是:13,0,2说明:该程序为嵌套循环,其中外循环由说明:该程序为嵌套循环,其中外循环由j值变化值变化(1,4,7,10)控制执行)控制执行4次,当次,当j值为值为13时结时结束循环;内循环由束循环;内循环由k值变化(值变化(6,4,2)控制执)控制执行行3次,当次,当k值为值为0时结束循环。第时结束循环。第40 行是外循环行是外循环的循环体,故执行的循环体,故执行4次;第次;第50 行是内循环的循环行是内循环的循环体,故执行体,故执行4*3=12次。次。11.可以定一个较大的循环次数,在循环体中根可以定一个较大的循环次数,在循环体中根据条件用据条件用Exit For退出。退出。但这种情况通常用但这种情况通常用Do While循环控制。循环控制。12.编程(并非唯一正确答案)编程(并非唯一正确答案)(1)Dim i As Integer,s As IntegerFor i=1 To 10 s=s+(i+1)*(2*i+1)Next iPrint s=;s(2)Dim i As Integer,n3 As Integer,n7 As IntegerFor i=1 To 100 If i Mod 3=0 Then n3=n3+1 If Int(i/7)=i/7 Then n7=n7+1Next iPrint 1-100中中3的倍数有的倍数有;n3;个个Print 1-100中中7的倍数有的倍数有;n7;个个(3)Dim s1 As String,s2 As String,i As Integers1=InputBox(Input String)s2=For i=1 To Len(s1)s2=Mid(s1,i,1)+s2Next iPrint 原序:原序:;s1Print 反序:反序:;s213.输出字符串输出字符串“10100”。该程序功能是将十进。该程序功能是将十进制数转化为二进制。制数转化为二进制。说明:要理解该程序需要了解数制转换的计算方说明:要理解该程序需要了解数制转换的计算方法(有兴趣者参看百度百科法(有兴趣者参看百度百科http:/ 22 484 该程序功能是求该程序功能是求x和和y最大公约数和最小公倍数。最大公约数和最小公倍数。说明:此算法称为说明:此算法称为“辗转相减法辗转相减法”。可对照例。可对照例4.17的辗转相除(辗转求余)法。的辗转相除(辗转求余)法。1550,100间的20个随机数,求最大值、最小值、平均值。Dim x As Integer,sum As Integer,aver As SingleDim n%,i%,max%,min%Randomizemax=50:min=100:n=20For i=1 To n x=Int(Rnd*51+50)List1.AddItem x sum=sum+x If x max Then max=x If x min Then min=xNext iaver=sum/nPrint 最大值:最大值:;max,最小值:最小值:;min,平均值:平均值:;aver谢谢观赏WPS OfficeMake Presentation much more funWPS官方微博kingsoftwps