第二章一、问答题1.叙述建立一个完整的应用程序的过程。
答:界面设计编写事件过程代码运行、调试保存文件2.当建立好一个简单的应用程序后,假定该工程仅有一个窗体模块。
问该工程涉及到几个文件要保存?若要保存该工程中的所有文件,正确的操作应先保存什么文件?再保存什么文件?若不这样做,系统会出现什么信息?答:涉及到两个文件要保存。
先保存窗体文件(.frm),再保存工程文件(.vbp)。
若先保存工程文件,系统也会先弹出“文件另存为”对话框,要求把窗体文件先保存。
3.假定在W indows环境中,要保存工程文件时,若不改变目录名,则系统默认的目录是什么?答:VB984.当标签框的大小由Caption属性的值进行扩展和缩小,应对该控件的什么属性进行何种设置?答:将标签的Autosize设置为True.5.VB6.0提供的大量图形文件在哪个目录下?若你的计算机上没有安装,则怎样安装这些图形文件?答:VB6.0提供的图形文件在Graphics目录。
6.在VB6.0中,命令按钮的显示形式可以有标准和图形两种选择,这通过什么属性来设置?若选择图形的,则通过什么属性来装入图形?若已在规定的属性里装入了某个图形文件,但该命令按钮还是不能显示该图形,而显示的是Caption属性设置的文字,怎样改正?答:按钮Style的属性设置为Graphical(或1)。
通过Picture属性来装入图形。
不能显示图形是因为Style的属性设置为Standard(或0),只要改为Graphical(或1),一般还将Caption 属性的值设置为空。
7.标签和文本框的区别是什么?答:文本是否可编辑。
8.当窗体上有三个文本框和一个命令按钮,若程序运行时,需把焦点定位在第三个文本框处,应对何控件的什么属性进行何种设置?答:应对Text3控件进行Text3.TabIndex=0的设置。
9.简述文本框的change与keypress事件的区别。
答:文本框内容变化,change与keypress事件都会发生,所不同的是Keyprees还将返回一个Keyasii参数10.当某文本框输入数据后(按了回车键),进行判断认为数据输入错,怎样删除原来数据?怎样使焦点回到该文本框重新输入?答:假定文本框的名称为Text1,则事件过程如下:Private Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenIf 出错条件判断成立ThenText1=””…先删除原来数据Text1.SetFocus …焦点回到Text1End If……End IfEnd Sub11.在程序运行前,对某些控件设置属性值,除了在窗体中直接设置外,还可以通过代码设置,这些代码一般放在什么事件中?例如,程序要将命令按钮定位在窗体的中央,请写出事件过程。
答:这些代码一般都放在Form_Load()事件过程中。
要将按钮定位在窗体的中央,事件过程如下:Private Sub Form_Load()Command1.Left = form1.ScaleWidth \ 2 - Command1.Width \ 2Command1.Top = form1.ScaleHeight \ 2 - Command1.Height \ 2End Sub其中,ScaleWidth、ScaleHeight表示窗体的相对宽度和高度。
二、填空题1.对象的三要素为【属性、事件和方法】。
2. 在刚建立工程时,使窗体上的所有控件具有相同的字体格式,应对【form窗体】的【font】属性进行设置。
3. 当命令按钮的Picture属性装入.bmp图形文件后,选项按钮上并没有显示所需图形,原因是没有对【style】属性设置为1(Graphical)。
4. 在文本框中,通过【selstart】属性能获得当前插入点所在的位置。
5. 要对文本框中已有的内容进行编辑,按下键盘上的按键,就是不起作用,原因是设置了【locked】属性为True6. 在窗体上已建立多个控件如Text1,Label1,Command1,若要使程序一运行焦点就定位在Command1控件上,应对Command1控件设置【tabindex】属性的值为【0】。
第三章一、问答题1.VB提供了哪些标准数据类型?声明类型时,其类型关键字分别是什么?其类型符又是什么?答:见教材P39的表3.1 VB的基本数据类型2.哪种数据类型需要的内存最少,且可存储如3.2345这样的值。
答:Single(单精度型)3.将数字字符串转换成数值,用什么函数?取字符串中的某几个字符,用什么函数?大小写字母间的转换用什么函数?答:数字字符转换成数值用V al函数;取字符串中的某几个字符用mid函数或left 函数或right函数; 大小写字母间的互换用ucase或lcase函数。
4.下列哪些是VB合法常量,分别指出其类型(见P58习题三1)。
答:1(#)、3(!)、4(#)、6(%)、7($)、8($)、9(date)、10(#)、12(%)、14(%)、15(boolean)、18(!)一、填空题1.在程序运行过程中,若需对程序中使用到的变量声明均采用显式声明方式,则必须在程序设计时在通用声明段部分加上Option Explicit语句。
2.已知有如下声明语句:Dim a ,b as Integer则变量a的类型是variant(变体型)。
3.已知有如下四个算术运算符:*、Mod、/、+,*、/运算符的优先级别最高4.已知a=3.5,b=5.0,c=2.5,d=True,则表达式:a>=0 and a+c>b+3 or not d 的值是false5.数学表达式的VB 算术表达式为sin(15*3.14/180)+sqr(x+exp(3))/abs(x-y)-log(3*x)6. 数学表达式 的VB 算术表达式为(a+b)/(1/(c+5)-c*d/2)7. 数学表达式a acb b 242-+-的VB 算术表达式为(-b+sqr(b^2-4*a*c))/(2*a)8.表示x 是5的倍数或是9的倍数的VB 算术表达式为 x mod 5=0 or x mod 9=09.产生一个”C ”~”L ”范围内的大写字母表达式为chr(int(rnd*10+67)10.取字符变量S 中第五个字符起的6个字符的表达式为mid(S,5,6)11.表示10≤X <20的关系表达式为x>=10 and x<2012.表达式Dateadd(“m ”,1,#1/30/2000#)的结果为2000-2-2913.整型变量x 中存放了一个两位数,要将两位数交换位置,例如,13变成31,实现的表达式是(x mod 10)& x\1014.在直角坐标系中,x,y 是坐标系中任意点的位置,用x 与y 表示在第一或第三象限的表达式是x>0 and y>0 or x<0 and y<015.计算现在起离2010世界杯赛(2010年6月11日)举行还有多少天的函数表达式为DateDiff(“d ”,date,#6/11/2010#)16. 计算现在起离你毕业(2012年7月3日)还有多少个星期的函数表达式为DateDiff(“w ”,date,#7/3/2012#)17.表示S 字符变量是字母字符(不区分大小写字母)的逻辑表达式是ucase(S)>=”A ” and ucase(S)<=”Z ” 也可以是Lcase(S)>=”a ” and Lcase(S)<=”z ”18.x,y 之一小于z 的表达式为x<z and y>z or x>z and y<z第四章一、问答题1.结构化程序设计的三种基本结构是什么?答:顺序结构、选择结构和循环结构。
2.指出下列赋值语句中的错误(包括运行时的错误)(1)10x=sin (x )+y变量名不能数字打头 (2)c=3+sqr (-3)sqr 函数中的参数不能为负数 (3)c+x+y =c*y 赋值语句的左边不能是表达式(4)x=sin (x )/ (20 Mod 2 ) 分母不能为0()x y x e x 3ln 15sin 30--++cd c ba 2151-++3.msgbox 函数与inputbox 函数之间有什么区别?各自获得什么值?答:msgbox 函数的作用是打开信息框,等待用户选择按钮而inputbox 函数的作用是打开一个对话框,等待用户输入内容;msgbox 函数的返回值是1~7的整数值,而inputbox 函数的返回值是用户输入的数据,返回值的数据类型为字符型。
4.要使单精度变量x,y,z 分别保留1位、2位、3位小数,并在窗体显示,应使用什么函数? 如何编写对应的Print 方法?答:使用Format 函数,具体如下:Print format(x,”0.0”);format(y ,”0.00”);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 正确的写法:x>10 and x<207.在多分支结构的实现中,可以用If <表达式> Then …ElseIf 形式的语句,也可以用Select Case … End Select 形式的语句,由于后者的条件语句更灵活、简洁,是否完全可以取代前者?答:不可以。
Select Case … End Select 形式的语句的使用是受到限制的。
只能用在对一个变量条件的判断。
若要对多个变量条件进行判断,只能使用If <表达式> Then …ElseIf 形式的语句8.计算下列循环语句的次数(1) For i=-3 to 20 step 4 循环次数为:6(2) For i=-3.5 to 5.5 step 0.5 循环次数为:19(3) For i=-3.5 to 5.5 step -0.5 循环次数为:0(4) For i=-3 to 20 step 0死循环 9.如果事先不知道循环次数,如何用FOR …Next 结构来实现?答:可先设循环变量的终值为一个较大的值,然后在循环体内嵌套条件分支10. 如何书写Do …Loop 结构,使得循环体至少执行一次?答:do Loop while <条件>….11.当发现了死循环,如何终止循环答:按ctrl+break键中断程序12.如何在程序中设置断点?如何去除断点?答:设置断点的方法是将光标移到要设置断点的代码行,按F9或单击调试工具栏的”切换断点”按钮。