【知识点详解】
1. 赋值语句的有效性:
在VB中,赋值语句用于改变变量的值。有效的赋值语句是那些不会导致运行时错误的语句。选项A `last=y/0` 试图将一个除以零的结果赋值给变量last,这会导致运行时错误,因此无效;选项B `x+2=x+2` 是一个等价赋值,通常在编程中没有实际意义,但语法上是有效的;选项C `sum=sum - sum` 如果sum有值,则会将其减去自身,可能变为0,有效;选项D `x+y=sum` 假设x和y是数值,它尝试将x和y的和赋值给sum,也是有效的。因此,有效赋值语句包括B、C和D。
2. 生成随机整数:
VB中,`Rnd`函数生成0到1之间(不包括1)的随机浮点数。若要生成10到70之间的随机整数,需要乘以范围并加上最小值。选项A `Int(Rnd*61+10)` 是正确的,因为它会产生10到70的整数;B选项少加了1;C选项只乘以了70,范围不正确;D选项乘以71并加上1,范围超过了70。所以,正确答案是A。
3. 变量命名规则:
VB变量名必须以字母、下划线或美元符号开头,后续可跟字母、数字或下划线。因此,选项A `?xy` 以问号开头,无效;B `4a` 以数字开头,无效;C `a#a` 包含非法字符#,无效;D `consta` 是一个有效的变量名,因为它以字母开头,后面跟着字母。
4. 降低菜单级别:
在VB菜单编辑器中,要将一个子菜单项降低一级,需要使用下箭头按钮,即D选项 `↓`。
5. 窗体事件:
窗体在运行时可以接收各种事件,如鼠标按下(`MouseDown`)、鼠标释放(`MouseUp`)、加载(`Load`)等。`Click`事件通常对应于单击窗体的行为,但窗体本身没有`Click`事件,而是它的控件有。因此,B选项 `Click` 不是窗体能接收到的事件。
6. 文本框属性:
A选项错误,当文本框的`Enabled`属性为`True`时,Tab顺序仍然有效;B选项错误,如果`TabStop`为`False`,文本框仍可接收键盘输入,只是不能通过Tab键切换到;C选项正确,可以通过改变`TabIndex`属性调整Tab顺序;D选项错误,`LostFocus`事件是在文本框失去焦点时触发,而不是获得焦点。
7. 控件的`SetFocus`方法:
A `CommandButton` 控件有`SetFocus`方法;B `Checkbox` 控件也有`SetFocus`方法;C `Label` 控件无此方法;D `Textbox` 控件有`SetFocus`方法。因此,没有`SetFocus`方法的是C选项。
8. 不等于比较操作符:
VB中的不等于比较操作符是`<>`。所以,正确答案是D `If X <> Y Then Print "x不等于 y"`。
9. 获取列表框选定内容:
列表框的`Text`属性可以获取当前选中的列表项内容。
10. 续行标记:
在VB代码中,如果一行太长,可以在末尾添加下划线 `_` 来续行。
【填空题解答】
1. `Font`属性:设置窗体上所有控件的字体格式。
2. 15:`Len`函数返回字符串的长度,包括空格。因此,`Space(10)`增加了10个空格,总长度是15。
3. `.Value`:`HScrollBar1.Value`表示滚动条的当前位置值。
4. `(x Mod 5 = 0) Or (x Mod 7 = 0)`:VB表达式,检查x是否能被5或7整除。
5. `MyCombo.Clear`:清除组合框中的所有项。
6. `False`:未被选中的复选框`Value`属性值为`False`。
7. `Interval`:设置定时器的触发时间间隔。
【完成题】
1. 此题涉及数组排序和字符串处理。数组`str`先遍历一次得到长度n,然后进行两次冒泡排序,确保数组元素按ASCII码排序。遍历数组并将每个元素加"*"后追加到标签中。填空部分应为:
- n = UBound(str) - LBound(str) + 1
- j = i + 1
- min
- j
- min
- str(i) & "*"
2. 此题要求计算阶乘级数。在VB中,可以使用循环结构计算阶乘,然后累加到结果中。具体代码实现因篇幅限制无法在此给出,但大致思路是:读取x值,用For循环计算1到x的阶乘,每次迭代累加到总和。
以上内容涵盖了VB中的基本概念,包括赋值语句、随机数生成、变量命名规则、事件处理、控件属性、字符串处理、数组操作、逻辑表达式、列表框操作以及代码编写技巧。