单选题
如下程序段定义了学生成绩的记录类型,由学号、姓名和三门课程成绩(百分制)组成。 Type Stud no As Integer name As String score(1 to 3)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 Scud.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程序中,定义记录类型的一般格式如下。 Tvpe <记录名> <成员定义1> <成员定义2> End Type 定义好记录类型之后,声明记录类型变量与声明一般的变量一样,其一般格式为: Dim <变量名> As <记录名> 声明了记录类型变量后,要引用其中的成员须使用“.”运算符,其格式为: <变量名>.<成员名> 由此可见,本题的选项A)和C)可以排除,因为它们使用的是:<记录名>.<成员名>。 而VBA一维数组的赋值必须为每个变量分别赋值,采用“S.score(1)=78”类似的形式,故答案选D)。