问题 单项选择题

如下程序段定义了学生成绩的记录类型,由学号、姓名和三门课程成绩(百分制)组成。
Type Stud
no As Integer
name As String
score (1to3) As Single
End Type
若对某个学生的各个数据项进行赋值,下列程序段中正确的是______。

A.Dim S As Stud
Stud.no=1001
Stud.name="舒宜"
Stud.score=78,88,96
B.Dim S As Stud
S.no=1001
S.name="舒宜"
S.score=78,88,96
C.Dim S As Stud
Stud.no=1001
Stud.name="舒宜"
Stud.score (1)=78
Stud.score (2)=88
Stud.score (3)=96
D.Dim S As Stud
S.no=1001
S.name="舒宜"
S.score (1)=78
S.score (2)=88
S.score (3)=96

答案

参考答案:D

解析:本题主要考查了VBA程序中的记录类型和一维数组的一般用法。
VBA程序中,定义记录类型的一般格式如下:
Type<记录名>
<成员定义1>
<成员定义2>
...
End Type
定义好记录类型之后,声明记录类型变量跟声明一般的变量是一样的,其一般格式为:
Dim<变量名>As<记录名>
声明了记录类型变量后,要引用其中的成员须使用“.”运算符,其格式为:
<变量名>.<成员名>
由此可见,本题的选项A和C可以排除,因为它们使用的是:<记录名>.<成员名>。
而VBA一维数组的赋值必须为每个变量分别赋值,采用“S.score(1)=78”类似的形式,故答案选D。

选择题
多项选择题