课后习题解答第一、二章:1、简述VB6.0的主要特点答:方便、直观的可视化设计工具;面向对象程序设计方法;事件驱动的编程机制;易学易用的应用程序集成开发环境;结构化程序设计语言;完备的联机帮助功能;强大的多媒体、数据库和网络功能。
2、当正常安装VB6.0后,误把Windows子目录删除。
当重新安装Windows后,是否需要再次安装VB6.0?答:要重新安装的。
因为安装VB6.0时,有些VB程序被系统自动安装在Windows目录下,所以一旦删除Windows子目录,就必须重新安装VB6.0。
3、Visual Basic 6.0分为学习版、专业版和企业版,如何知道所安装的是哪个版本?答:在VB6.0的启动界面上,能显示对应的版本。
4、叙述建立一个完整应用程序的过程答:首先建立用户界面的控件对象(简称控件);然后对控件属性进行设置;再对控件事件过程及编程;保存应用程序;程序调试和运行。
5、Visual Basic 6.0有多种类型窗口,若要在设计时看到代码窗口,应怎样操作?答:选择“视图”—>“代码窗口”命令或单击“工程资源管理器”窗口中的“查看代码”按钮。
6、当建立好一个简单的应用程序后,假定该工程仅有一个窗体模块。
试问该工程涉及多少个要保存的文件?若要保存该工程的所有文件,应先保存什么文件?再保存什么文件?若不这样做,系统会出现什么信息?答:涉及两个文件要保存。
先保存窗体文件(.frm),再保存工程文件(.vbp)。
若先保存工程文件,系统也会先弹出“文件另存为”对话框,要求先保存窗体文件。
7、保存文件时,若不改变目录名,则系统默认的目录是什么?答:系统默认的目录是VB988、安装Visual Basic 6.0后,帮助系统是否也已安装?答:没有。
VB6.0的帮助系统在两光盘上,即MSDN Library,其中还包含了VC、VFP等其他语言的帮助系统。
9、如何使用Visual Basic 6.0的帮助系统?答:最方便的方法是选定要帮助的容,然后按F1功能键,这时系统打开MSDN Library查阅器,直接显示与选定容有关的帮助信息。
10、什么是类?什么是对象?什么是事件过程?答:类是同类对象集合的抽象,它规定了这些对象的公共属性和方法;对象是类的一个实例,对象包含三个要素:属性、方法和事件。
当在对象上发生了事件后,应用程序就要处理这个事件,而处理的步骤就是事件过程。
11、属性和方法的区别是什么?答:属性是对象的特征,方法是对象的行为。
前者有值,可以被赋值或引用;后者没有值,表示能够执行的操作。
12、当标签边框的大小由Caption属性的值进行扩展或缩小时,应对该控件的什么属性进行何种设置?答:将该控件的Autosize属性值设置为true。
13、在VB6.0中,命令按钮的显示形式可以有标准的和图形的两种选择,它们通过什么属性来设置?若选择图形的,则通过什么属性来装入图形?若已在规定的属性里装入了某个图形文件,但该命令按钮还是不能显示该图形,而显示的是Caption属性设置的文字,应怎样修改?答:命令按钮的显示形式通过将Style属性值设置为Graphical来实现。
通过Picture属性来装入图形。
不能显示图形是因为Style属性值被设置为Standard,只要将其改为Graphical,并且将Caption 的值设置为空即可。
14、如果文本框要显示多行文字,应对什么属性设置为何值?答:将MultiLine属性的值设置为True。
15、标签和文本框的区别是什么?答:在程序运行时,标签只能显示文字,不能输入文字,显示文字通过对Caption属性赋值来实现;而文本框既能显示文字,也能输入文字,这通过text属性来实现。
16、要让文本框获得焦点的方法是什么?答:SetFocus方法。
17、简述文本框的Change和KeyPress事件的区别答:相同点是当在文本框输入容时,同时激发上述两个事件;不同点是Keypress事件可通过参数KeyAscii 返回所按键的编码值,可依此判断数据输入的正确性或数据输入结束与否,因而该事件使用较多;change 事件还可以发生在程序改变文本框的text属性时。
18、当某文本框输入数据后(按了回车键),经判断后认为是数据输入错,应怎样删除原来文本框中的数据?答:假定文本框的名称为Text1,则事件过程如下:Private Sub Text1_KeyPress(KeyAscii As Integer )if KeyAscii = 13 thenif 出错条件判断成立 thenText1=””end if……end ifend sub注意:删除刚输入的字符,通过KeyAscii=0语句实现;焦点定位文本框对象采用SetFocus方法。
19、在程序运行前,对某些控件设置属性值,除了在窗体中直接设置外,还可以通过代码设置,这些代码一般存放在什么事件中?如果要将命令按钮定位在窗体的中央,试写出事件过程代码。
答:这些代码一般放在Forem_Load()事件过程中。
将窗体定位在屏幕的中央,只能在属性窗口中将Form1窗口的StartUpPosition属性值设置为2(表示屏幕中心),该属性不能在运行时设置。
要将按钮定位在窗体的中央,事件过程如下:Private sub Form_Load()Command1.left= Form1.scaleWidth\2-command1.Width\2Command1.Top = Form1.ScaleHeight \ 2 – command1.Height \2End Sub其中,ScaleWidth、ScaleHeight表示窗体的相对宽度和高度。
20、VB6.0提供的大量图形文件存放在哪个目录?若你的计算机上没有安装,应怎样安装这些图形文件?答:存放在Graphics目录下。
在VB6.0的安装盘上可以找到Graphics子目录,将其复制到硬盘上的VB 目录下。
第3章:略(在书本上)1、合法的有:(1)单精度(3)单精度(4)双精度(6)整形(7)字符型(9)日期型(10)双精度(12)八进制表示(14)十六进制表示(15)逻辑型(18)单精度数2、合法变量有:(1),(2),(6),(9),(10),(11)3、算术表达式写成VB表达式(1)| x+y | + z5àabs(x+y) +z^5 (2)(a+xy)6à(1 + x * y )^ 6(3)à(10*x + sqr(3*y) ) / (x * y ) (4)à( -b+sqr(b^2-4*a*c) )/2/a(5)à 1 / (1/r1+1/r2+1/r3)(6)àsin(45*3.14/180)+ ( exp(10)+ log(10) )/ sqr( x+y+1)4、根据条件写出相应的VB表达式(1) chr( int ( Rnd * 10 +67 ) (2) int ( Rnd * 101 +100 )(3) x * y >0 (4) x%5=0 or x % 7 =0(5) (x mod 10) 10 + x /10 (6)Round(123.2389*100)/100(7) Ucase (c ) >=”A” and Ucase(c )<=”Z” or Lcase (c ) >=”a” and Lcase(c )<=”z”(8) Mid ( s, 5, 6 ) (9) x >=10 and x <20(10) ( x < z and y >z ) or ( x >z and y < z)(11) x>z and y > z5、下出下列表达式的值:(1) 123+23 mod 10 \ 7 +Asc(“A”) à188, (2)100+”100” & 100 à200100(3) Int ( 68.555*100+0.5)/100 à68.56(4)已知A$=“87654321”,求表达式Val(Left$(A$,4)+ Mid(A,4,2))的值à876554(5)DateAdd(“m”,1,#1/30/2000#) à2000-2-29(6) Len(”VB程序设计”)à6 6、略第4章:VB控制语句1、结构化程序设计的三种基本结构是什么?答:顺序结构、选择结构和循环结构。
2、指出下列赋值语句中的错误(包括运行时错误):(1)10x=sin(x)+y ‘10x是非法变量名(2)c=3+sqr(-3) ‘待求平方根的数为负数(3)c+x+y=c*y ‘赋值符左边是表达式了(4)x=sin(x)/(20 mod 2) ‘分母为零了3、Msgbox函数与InputBox函数之间有什么区别?各自获得什么值?答:两个函数共同之处都显示对话框。
区别:Inputbox函数等待用户在文本框中输入数据,获得的是输入的字符串数据;Msgbox函数等待用户按一按钮,获得的是表示按钮的整数值,以决定程序的流向。
4、要使单精度变量x,y,z分别保留1位、2位、3位小数,并在窗体显示,应使用什么函数?如何编写对应的print方法?答:使用format函数,具体如下:print Format(x,”0.0” )print Format ( y , “ 0.00 “ ) print Format ( z , “ 0.000 “ )5、 语句 if < 表达式> then …… 中的表达式可以是算术、字符、关系、逻辑表达式中的哪些?答:算术、关系、逻辑表达式 6、 指出下列语句中的错误:(1) if x ≥y then print x ‘表达式书写错误,应写成:x>=y (2) if 10<x<20 then x=x+20 ‘表达式书写错,应是:10<x and x<207、按照下列条件,写出相应的条件语句(1)字符型变量中第三个字符是“C ”时,利用Msgbox 显示“yes ”,否则显示“No ” if Mid ( c , 3, 1 ) = “C” then Msgbox “yes” else Msgbox “No” (2)利用if 语句、select case 语句两种方法计算分段函数:答:private sub command1.click() x=val( text1) if x > 20 theny = x * x + 3 * x +2 elseif x>=10 theny = sqr ( 3 * x ) – 2 elseif x>0 theny= 1 / x + Abs ( x ) end if print y end sub(3)利用if 语句和iif 函数两种方法求三个数x,y,z 中的最大值并存入变量max 中。