1[简答题]请根据以下各小题的要求设计Visual Basic应用程序(包括界面和代码)。
(1)在名称为Form1的窗体上放置两个列表框,名称分别为List1和List2。在List1中添加"Item1"…"Item6",并设置MultiSelect属性为2(要求在控件属性中设置实现)。
再放置一个名称为Command1、标题为"导出"的命令按钮。程序运行后,如果单击"导出"按钮,将List1中选中的内容(至少三项)复制到List2中,并将对应的项从List1中删除。如果选择的项数少于3项,用消息框提示"请选择至少3项",如图3-1所示。
(2)在名称为Form1的窗体上放置一个名称为Text1的文本框。程序运行后,用户在文本框中输入的英文字母一律用小写显示。如图3-2所示。
注意:保存时必须存放在考生文件夹下,窗体文件名为sj2.frm,工程文件名为sj2.vbp。
参考解析:
(1)向列表框中添加项目可以用AddItem方法添加,也可以在属性窗口中进行。列表框的Text属性为最后一次选中的表项的文本。
根据题意,新建"标准EXE"工程,将两个列表框控件和一个命令按钮添加到窗体中,列表框的名称分别为List1和List2,在List1的List属性中添加"Item1"、"Item2"、"Item3"、"Item4"、"Item5"和"Item6",命令按钮的名称为Command1、Caption属性为"导出",在List1中选中的项,通过for循环进行复制并删除。补充后的具体代码如下:
(2)在Text控件中输入文本时会触发Change事件,要将大写字母转换成小写字母要通过Lcase函数来实现。根据题意,新建"标准EXE"工程,将一个文本框控件添加到窗体中,其名称为Text1、Text属性为空,设置结束后双击Text1,进入代码窗口,编写如下代码:
2[单选题] 以下不能设置Picture属性的控件是
A.窗体B.列表框C.复选框D.命令按钮
参考答案:B
参考解析:不能设置Picture属性的控件是列表框。
[单选题] 表达式2*3^2+4*2/2+3^2的值是( )。
A.30B.31C.49D.48
参考答案:B
参考解析:在Visual Basic的常见运算符中,幂运算符(^)优先级最高,其次是取负(-)、乘(*)、浮点除(/)、整除(\)、取模(Mod)、加(+)、减(-)、字符串连接(&)。其中,乘和浮点除是同级运算符,加和减是同级运算符。按优先级顺序本题逐步运算结果为:
2*3^2+4*2/2+3^2=2*9+4*2/2+9=18+8/2+9=18+4+9=31。
4[简答题](1)在考生文件夹下有工程文件sj3.vbp及窗体文件sj3.frm,根据下文的描述,编写相应的程序。存盘时不得改变文件名和文件夹。
本题描述如下:
在窗体上有一名为Text1的文本框,要求程序运行后,每用鼠标左键单击窗体一次,则文本框的宽增加150;每用鼠标右键单击窗体一次,文本框的宽减小150。窗体的宽为2500,文本框最大宽度不允许超过窗体的宽度,最小宽度不小于900(高与宽的单位为twip)。
程序运行时的窗口界面如图47-3所示。
注意:保存时必须存放到考生文件夹下,工程文件名为sj3.vbp,窗体文件名为sj3.frm。
(2)在考生文件夹下有工程文件sj4.vbp及窗体文件sj4.frm,该程序时不完整的,在窗体中有一个名为Label1的标签和两个名称分别为Command1与Command2、标题分别为"显示"、"关闭"的命令按钮,要求程序运行后,单击"显示"按钮,能打印出如图所示的B字三角形,执行完毕,"显示"按钮变成"完成",且无效(变灰),如图47-4所示。
注意:请在有"?"号的地方填放正确内容,然后删除"?"及所有注释符(即"'"号),但不能修改其他部分。存盘时不得改变文件名和文件夹。
参考解析:
1)鼠标事件分点击事件和状态事件。点击事件有单击(Click)和双击(DblClick),不区分左右键;状态事件有按下(Mousedown)、移动(Mousemove)和弹起(Mouseup),状态事件涉及Button、Shift两个参数,Button参数是一个整数,值可能为l(左键)、2(右键)或4(中间键),Shift参数也是一个整数,用来代表用户是否按下Shift、Ctrl或Alt键。
根据题意,程序中可以使用Mousedown事件,也可使用Mouseup事件。
根据题意,在进行鼠标左键点击放大前需判断文本框加宽后的宽度是否超过窗体大小,若是,将文本框的大小设为与窗体一致,否则宽度加150;在进行鼠标右键点击缩小前需判断文本框缩小后的宽度是否小于900,若是,将文本框的宽度设为900,否则宽度减150。补充后的具体代码如下:
(2)本题主要考查For循环控制语句与字符串的操作。
根据题意,将一个标签和两个命令按钮添加到窗体中,标签的名称为Label1,命令按钮的名称分别为Command1和Command2,Caption属性分别为"显示"和"关闭"。双击Command1进入代码窗口,补充后的代码如下:
5[单选题] 将窗体的KeyPreview属性设为True,然后编写如下程序:
运行程序时,按下字母键a,则窗体上显示的是
A.AAB.AaC.aAD.aa
参考答案:B
参考解析:KeyCode是按键的实际字符(不区分大小写),KeyAscii是以字符为准,是所按键的ASCIl码。
6[单选题] 编写如下程序:
程序运行后,单击命令按钮Commandl,输出结果为
A.AAAB.BBBC.CCCD.1
参考答案:C
参考解析:SelectCase语句后面跟的是条件。根据条件执行相应的分支语句。m=2,因此执行SelectCasem中的Case2分支语句。选C.。
7[单选题] 假定有下列程序段:
则语句Print i*j的执行次数是( )。
A.15B.16C.17D.18
参考答案:A
参考解析:
For…Next循环语句可提供一个重复执行的语句序列,遵循"先检查,后执行"的规则,执行过程中,循环次数=Int(终值一初值)/步长+1。
本题代码是一个嵌套的For循环,其中每次执行内循环时的循环次数=(Int(1-5)/-1)+1=5,外循环的循环次数为3,因此执行循环体语句:Print i*j的次数为15次。
8[单选题] 对于循环队列,下列叙述中正确的是( )。
A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针
参考答案:D
参考解析:循环队列是把队列的头和尾在逻辑上连接起来,构成一个环。循环队列中首尾相连,分不清头和尾,此时需要两个指示器分别指向头部和尾部。插入就在尾部指示器的指示位置处插入,删除就在头部指示器的指示位置删除。
9[单选题] 求1 1+2 1+…+lo!的程序如下:Private Function s(x As Integer)
f=l
Fori=1 To xf=f*iNext
S=f
End Function
Private Sub Commandl—Chck( )
Dim i As IntegerDim Y As LongFor i=l To lO
Next
Print Y
End Sub
为实现功能要求,程序的横线处应该填入的内容是(、>。
A.Call s(i)B.Call sC.Y=Y+s(i)D.Y=Y+s
参考答案:C
参考解析:题目中过程s的功能是实现一个数的阶乘,而题目是求l到10的阶乘的和,则程序空缺处应该是过程s返回值的累加,因此就应该为Y=Y+8(i)。
10[单选题] 为计算an的值,某人编写了函数power如下:
在调试时发现是错误的,例如Print power(5,4)的输出应该是625,但实际输出是3125。程序需要修改。下面的修改方案中有3个是正确的,错误的一个是( )。
A.把For k=1 To n改为For k=2 To n
B.把p-P+a改为p=pan
C.把For k=1 To n改为For k=1 To n-1
D.把p=a改为p=1
参考答案:B
参考解析:本题函数power(a,n)的功能是要返回n个a相乘的值,而源程序中返回的是(n+1)个a相乘的值,解决问题的方法可以是将P的初值设置为1或将循环变量的取值范围设定为1~n-1(或2~n)。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |