vb程序设计题及答案【篇一:vb程序设计试题及答案】txt>一、单选题1. visual basic是一种面向对象的可视化程序设计语言,采取了 a的编程机制。
(a) 事件驱动 (b) 按过程顺序执行(c) 从主程序开始执行 (d) 按模块顺序执行2. 若要使标签控件显示时不覆盖其背景内容,要对d 属性进行设置。
(a) backcolor (b) borderstyle(c) forecolor (d) backstyle3. 在visual basic中最基本的对象是c,它是应用程序的基石,是其他控件的容器。
(a) 文本框 (b) 命令按钮(c) 窗体 (d) 标签4. 要判断在文本框是否按下enter键,应在文本框的 d 事件中判断。
(a) change (b)keydown(c) click (d)keypress5. 数学表达式3≤xl0在vb中的逻辑表达式为 d 。
(a) 3=x10(b) 3=x and x10(c) x=3 or x10 (d) x=3 and x106. rnd函数不可能为下列 b值。
(a) 0 (b) 1(c) 0.1234 (d) 0.00057. 赋值语句:a=123+mid(123456,3,2)执行后,a变量中的值是d。
(a) 12334(b) 123 (c) 12334 (d) 1578. 对于语句if x=l then y=l,下列说法正确的是 c 。
(a) x=l和y=l均为赋值语句(b) x=l和y=l均为关系表达式(c) x=l为关系表达式,y=l为赋值语句(d) x=l为赋值语句,y=l为关系表达式9. 下面程序段表示求两个数中的大数, d 不正确。
(a) max=iif(xy,x,y) (b) if xy then max=x else max=y(c) max=x (d) ify=x then max=yif y=x then max=y max=x10.当在文本框中输入“abcd”4个字符时,窗体上显示的是c。
private sub text1_change( )print text1;end sub(a) abcd (b) a (c) aababcabcd (d) ab abc abcd abcd11.下列哪个程序段不能分别正确显示1!、2!、3!、4!的值b。
(a) for i=1 to 4 (b) for i=1 to 4n=1 for j=1 to ifor j=1 to i n=1n=n*j n=n*jnext j next jprint nprint nnext inext i(c) n=1(d) n=1for j=1 to4 j=1n=n*j do while j=4print nn=n*jnext jprint nj=j+1 loop12.如下数组声明语句,则数组a包含元素的个数有 a 。
dim a(3, -2 to 2, 5)(a) 120 (b) 75(c) 60(d) 1313.以下程序的输出结果是d。
dim aa=array(1, 2, 3, 4, 5, 6, 7)for i=lbound(a) to ubound(a)a(i)=a(i)*a(i)next iprint a(i)(a) 49 (b) 0 (c) 不确定 (d) 程序出错14.在过程中定义的变量,若希望离开该过程后,还能保存过程中局部变量的值,则应使用关键字在过程中定义局部变量。
(a) dim (b) private (c) public (d) static15.如下程序,运行的结果是 b 。
dim a%, b%, c%public sub p1(x%, y%)dim c%x=2*x: y=y+2: c=x+yend subpublic sub p2(x%, byval y%)dim c%x=2*x: y=y+2: c=x+yend subprivate sub command1_click( )a=2: b=4: c=6call p1(a, b)print “a=”; a; “b=”; b; “c=”; ccall p2(a, b)print “a=”; a; “b=”; b; “c=”; cend sub(a) a=2 b=4 c=6 (b) a=4 b=6 c=10 da=4 b=6 c=10a=8 b=8 c=16(c) a=4 b=6 c=6 (d) a=4 b=6 c=14a=8 b=6 c=6 a=8 b=8 c=616.复选框的value属性为1时,表示 b 。
(a) 复选框未被选中(b) 复选框被选中(c) 复选框内有灰色的勾 (d) 复选框操作有误17.下面关于菜单的说法中,错误的是b。
(a) 每个菜单项都是一个控件,与其他控件一样也有自己的属性和事件(b) 除了click事件之外,菜单项还能响应其他的,如dbclick事件(c) 菜单项的快捷键不能任意设置(d) 在程序执行时,如果菜单项的enabled属性为false,则该菜单项变成灰色,不能被用户选择18.下面关于多重窗体的叙述中,正确的是 b 。
(a) 作为启动对象的main子过程中能放在窗体模块中(b) 如果启动对象是main子过程,则程序启动时不加载任何窗体,以后由该过程根据不同情况决定是否加载或加载哪一个窗体(c) 没有启动窗体,程序不能执行(d) 以上都不对19.当用户将焦点移到另一个应用程序时,当前应用程序的活动窗体将d。
(a) 发生deactivate事件(b) 发生lostfocus事件(c) 发生deactivate和lostfocus事件(d) deactivate和lostfocus事件都不发生20.顺序文件是因为 d 。
(a) 文件中的数据按每行的长度从小到大排序好的(b) 文件中的数据按某个关键数据项从大到小进行排序(c) 文件中的数据按某个关键数据项从小到大进行排序(d) 数据按进入的先后顺序存放的,读出也是按原写入的先后顺序读出21.文件号最大可取值为 b 。
(a) 255 (b) 511 (c) 512 (d) 25622.print #1, str$1中的print是 a 。
(a) 文件的写语句 (b) 在窗体上显示的方法(c) 子程序名 (d) 以上均不是23.以下的属性和方法中 c 可重定义坐标系。
(c) scale方法 (d) scalemode属性24.封闭图形的填充方式由下列 c 属性决定。
(a) drawstyle, drawmode(b) autoredraw, clipcontrols(c) fillstyle, fillcolor(d) forecolor, bordercolor25.下列字符串中,d 不包含在ado数据控件的connectionstring属性中。
(a) microsoft jet 4.0 ole db provider(b) data source=c:\mydb.mdb(c) persist security info=false(d) 2-adcmdtable二、填空题1.在代码窗口对窗体的borderstyle、maxbutton属性进行了设置,但运行后没有效果,原因是这些属性在运行时设计是无效的。
2.在文本框中,通过selstart属性能活得当前插入点所在的位置。
3.表达式ucase(mid(“abcdefgh”, 3, 4))的值是 cdef 。
4.已知a=3.5,b=5.0,c=2.5,d=true,则表达式:a=0 anda+cb+3 or not d的值是false。
5.要获得动态数组的上界通过 ubound函数,下界通过 lbound函数。
6.由array函数建立的数组,其变量类型必须是variant类型。
7.vb中的变量按其作用域分为全局变量、模块变量和局部变量变量。
8.复选框的value 属性设置为2——grayed时,变成灰色,禁止用户选择。
9.滚动条响应的重要事件有 scroll 和change。
10.假定有一个通用对话框控件commondialog1,除了用commondialog1.action=3显示颜色对话框之外,还可以用showcolor 方法显示。
11.窗体form1的左上角坐标为(-200, 250),窗体form1的右下角的坐标为(300, -150),则x轴的正向向右,y轴的正向向上。
13.在运行状态改变ado数据控件的数据源连接属性后,必须使用refresh 方法激活这些变化。
14.vb中工程文件的扩展名为 vbg 。
15.如果在窗体上已经创建了一个文本框对象text1,可以通过keypress 事件获得输入键值的ascii码。
16.vb中对象的三要素是属性、事件和方法。
三、编程应用题1.程序阅读(1)private sub command1_click( )dim s as string, i%s="abcd"for i=len(s) to 1 step -1print mid(s, i, 1)next iend sub输出结果:dcba(2)sub swap1(byval x%, byval y%)dim t%t = x: x = y: y = tend subsub swap2(byref x%, byref y%)dim t%t = x: x = y: y = tend subsub command1_click()dim a%, b%a = 10:b = 20print 调用swap1前 a和b的值为:; a; bcall swap1(a, b)print 调用swap1后按传值方式 a和b的值为:; a; ba = 10:b = 20call swap2(a, b)print 调用swap2后按传地址方式 a和b的值为:; a; bend sub输出结果调用swap1前 a和b的值为:10 20调用swap1后按传值方式 a和b的值为:10 20调用swap2后按传地址方式 a和b的值为: 2010(3)private sub command1_click( )dim x%, y%, z%x=242: y=44z=x*ydo until x=yif xy then x=x-y else y=y-xloopprint x, z/xend sub输出结果:22 4842.补充程序(1) 以下是求1~18之间某个数的阶乘的程序,具体的数值n由滚动条hscroll1获得,结果显示在窗体下部的两个label标签里。
补充完整如下程序。
private sub hscroll1_change()dim i as integer, s as doubles = 1n = hscroll1.valueif n 0 thenfor i = 1 to ns = s*inext iend iflabel2.caption = n ! =label3.caption = send sub(2)以下程序的功能是:已知数组a,删除数组中某个元素。