江苏省高校计算机等级考试命题研究院 江苏省高校计算机等级考试辅导
2018年3月江苏省计算机二级VB考试真题第1套

1.         根据不同的应用需求,数字音频采用的编码方法有多种,文件格式也各不相同。下列的音频格式中,由微软公司开发的,采用未压缩方法编码的是____

A. WAV

B. MP3

C. AAC

D. WMA

A

解析:MP3是一种音频压缩技术,由于这种压缩方式的全称叫MPEG Audio Layer3,所以人们把它简称为MP3,WMA是微软制订的音频压缩文件格式,比mp3标准晚,比mp3还小,比mp3音质还好, WAV是微软公司(Microsoft)开发的一种声音文件格式, 采用未压缩编码方式。

5

2.         下列有关IP地址(IPv4)和路由器的叙述中,错误的是_____

A. 每个IP地址使用32个字节的二进制数表示,在使用中通常写成“点分十六进制”的形式

B. IP地址分为五类,其中A类、B类和C类是三个基本类,每类有不同长度的网络号和主机号

C. IP地址空间的分配由国际组织ICANN负责,目前IP地址空间已分配完毕

D. 路由器是连接异构网络的关键设备,一台路由器会拥有(使用)多个不同的IP地址

A

解析: 每个IP地址使用32个字节的二进制数表示,在使用中通常写成“点分十进制”的形式 

4

3.         字符集及其编码是计算机中表示、存储、处理和交换文本信息的基础,但由于历史原因,目前不同系统或应用中使用的字符编码方案并不统一。下列编码方案中,所有字符均采用等长编码(编码长度相同)的是______

A. GB2312

B. GB18030

C. UTF-8

D. UTF-16

A

解析: GB2312编码:是我国1981年颁布的第一个国标,该标准选出6763个常用汉字和682个非汉字字符,所有字符采用2字节编码; GB18030:包含汉字23940,GB2312GBK保持兼容。同时与UCS也接轨,在我国信息处理产品中强制执行,ASCII采用1字节编码,汉字采用2字节编码,其他采用4字节编码; UCS:国际标准化组织(ISO)制定了一个将全世界所有文字与符号集中进行统一编码,称为UCS,与其等同的是由微软等公司共同制定的工业标准Unicode,UCS有两种标准UTF-8UTF-16,UTF-8采用ASCII码用1个字节编码,拉丁字母,标点符号等采用2字节编码,汉字采用3个字节编码,其他极少字符采用4字节编码,UCS-16是指ASCII和汉字都采用2字节编码,其他不常用字符采用4字节编码,Windows中文版上现在使用UTF-16,也是Java,.NET软件开发环境等默认的编码标准

5

4.         TCP/IP模型将计算机网络分成下列4层,每一层都包含若干个协议。在TCP/IP模型中,HTTP协议工作在______

A. 接口层

B. 互连层

C. 传输层

D. 应用层

D

解析: TCP/IP包括了100多个协议,将通信问题划分为四个层次,从高到低依次是应用层、传输层、网络互连层、网络接口与硬件层,应用层规定了运行在不同主机上的应用程序之间如何通过互连的网络进行通信,包括的协议如HTTP,SMTP,FTP,TELNET;传输层规定了怎样进行端-端的数据传输,TCPUDP两个协议,TCP协议负责可靠的完成数据从发送计算机到接收计算机的传输,UDP是不可靠的数据传输协议, 例如音频和视频数据的传输;网络互连层规定了在整个互连的网络中所有计算机统一使用的编址方案和数据包格式(称为IP数据报),以及IP数据报的转发机制;网络接口与硬件层规定了怎样与各种不同的网络进行接口,并负责将IP包转换成适合在特定网络中传输的帧格式 

4

5.         下列有关计算机网络组成、分类和工作模式等叙述中,错误的是______

A. 按网络所覆盖的地域范围来分,人们常将计算机网络分为LANATMWLAN等类型

B. 有些广域网是一些机构或组织自行构建的专用网,有些是网络运营商构建的公用数据网

C. 网络协议是计算机网络的重要组成部分,目前互联网主要采用TCP/IP协议系列

D. 计算机网络有两种基本工作模式,即P2P工作模式和C/S工作模式

A

解析: 按网络所覆盖的地域范围来分分为局域网(LAN)、城域网(MAN)、广域网(WAN) 

4

6.         下列有关计算机的逻辑组成和分类的叙述中,错误的是______

A. 一台计算机中往往有多个处理器,它们各有其不同的处理任务,其中CPU是核心部件

B. 主存储器与CPU高速连接,用来存放已经启动运行的程序代码和需要处理的数据

C. 人们提及PC时,泛指台式机、笔记本电脑、智能手机和平板电脑等个人使用的计算机

D. 嵌入式计算机是内嵌在其他设备中的专用计算机,许多嵌入式计算机都把软件固化在芯片中

C

解析: 人们提及PC时,泛指台式机、笔记本电脑等个人使用的计算机  (: 一台计算机中往往有多个处理器,CPU,图形处理器等)

2

7.         字符集及其编码是计算机中表示、存储、处理和交换文本信息的基础,但由于历史原因,目前不同系统或应用中使用的字符编码方案并不统一。下列编码方案中,目前在我国信息处理产品中强制贯彻执行的是____

A. GB 2312

B. GBK

C. GB 18030

D. UCS/Unicode

C

解析: GB18030:包含汉字23940,GB2312GBK保持兼容。同时与UCS也接轨,在我国信息处理产品中强制执行。

5

8.         在现代通信系统中,为了能有效地提高数据链路的利用率、降低通信成本,一般使用多路复用技术让多路信号同时共用一条传输线进行传输。用户通过电话线使用ADSL技术接入互联网时,ADSL技术接入方式主要是使用了______

A. TDM

B. WDM

C. FDM

D. CDM

C

解析:时分多路复用(TDM)是各终端设备按不同时间来轮流使用同一线路来传输数据,是计算机网络传输使用的主要方式,频分多路复用(FDM)是将不同信源发出的信号调制在不同频率的载波上,波分多路复用(WDM)是在一根光纤传输不同波长的光波。码分是指每个用户分配一个地址码,各个码型互不重叠,通信各方之间不会相互干扰,且抗干拢能力强 

4

9.         光盘是目前常见的辅助存储器。下列相关叙述中,错误的是____

A. 光盘存储器由光盘驱动器和光盘片两部分组成,光盘的基片是铝合金材料

B. 从接口来看,目前内置DVD光驱与主机的接口主要是SATA,外置的主要是USB

C. DVD光盘分为单面单层、单面双层等多种类型,目前最常用的是单面单层的盘片

D. BD光驱采用波长较短的蓝色激光在光盘上进行数据读写,因而提高了光盘存储容量

A

解析: 光盘的基片是耐热的有机玻璃

2

10.     在微软公司的Office软件中内置了一种程序设计语言,用户可以使用它来编写程序以扩展功能。该语言是_____

A. VBA

B. VBScript

C. Java

D. C#

A

解析: VBA用于编写程序来扩展Office软件的功能,VBScript用于嵌入到Html文档中以扩充网页的功能,Java用于网络编程,包括编写安卓智能手机的App,Object-C语言是iPhoneiPad编程的语言, Lisp语言与PROLOG语言主要用于人工智能,Ada语言用于飞行器控制,MATLAB是一种面向向量和矩阵运算的数值计算语言。

3

 

 

1(单选题):

可以作为VB应用程序启动对象的是______
①标准模块   ②窗体模块   Sub Main   ④事件过程

A. ①④

B. ①②

C. ③④

D. ②③

D

解析:VB,能作为启动对象的包括窗体模块,sub main过程。

3

表达式37.6 Mod 5的结果数据类型为______

A. 整型

B. 长整型

C. 单精度

D. 双精度

B

解析:Mod运算符的作用是取余数,要求Mod左右两边都是整型或长整型,首先将双精度类型37.6转换为长整型38,然后再执行38 Mod 5,根据VB约定,两个不同的类型的数值运算时返回的是占字节多的类型,因为长整型数值384个字节,整型52个字节,所以得到结果长整型3,如果直接写 37 mod 5因为375都是整型,所以返回结果整型2

3

在多窗体程序中,仅用于将窗体Form2从内存中卸载的语句是______

A. Form2.Unload

B. Unload Form2

C. End

D. Form2.Hide

B

解析:A选项没有这种写法,C选项是结束整个程序运行,D选项是Form2隐藏。

2

下列关于Len函数的叙述,错误的是________

A. 该函数可以接收数值型常量作为其参数

B. 该函数可以接收数值型变量作为其参数

C. 该函数可以接收字符型常量作为其参数

D. 若该函数的参数为非字符型变量,则其返回该类型变量所占用的存储空间的大小

A

解析: 该函数不可以接收数值型常量作为其参数

3

Sub过程与Function过程最根本的区别是____

A.  Sub过程使用Call语句或直接使用过程名调用,而Function过程不可以

B.  Function过程可以有参数,Sub过程不可以

C.  两种过程参数的传递方式不同

D.  Sub过程的过程名不能返回值,而Function可以

D

解析: Sub过程的过程名不能返回值,而Function过程名可以返回值是两者最根本的区别。

7

 

6 (填空题 <2>

执行下面程序,单击Command1按钮,则a(1)的值是____________   a(4)的值是____________  

 

Option Explicit

Option Base 1

Private Sub Command1_Click()

    Dim a(4) As Integer, i As Integer

    For i = 1 To 4

        a(i) = F1(a, i) + a(i)

    Next i

    For i = 1 To 4

        Print a(i)

    Next i

End Sub

 

Private Function F1(a() As Integer, x As Integer) As Integer

    Dim i As Integer

    If i Mod 2 <> 0 Then

        a(x) = x

    Else

        F1 = F1 + x

    End If

End Function

 

1@4

解析: 因为文字描述不如视频清晰,具体见视频详细讲解

7

 

7 (填空题 <2>

执行下面程序,单击Command1按钮,则窗体上显示的数组元素a(2)的值是____________   a(3)的值是____________  

 

Option Explicit

Option Base 1

Private Sub Command1_Click()

    Dim a(3) As Integer, b As Integer, i As Integer

    For i = 1 To 3

        a(i) = i

    Next i

    b = UBound(a)

    Call sub1(a, b)

    For i = 1 To 3

        Print a(i);

    Next i

End Sub

 

Private Sub sub1(m() As Integer, n As Integer)

    If n > 1 Then

        m(n) = m(n) + n

        Call sub1(m, n - 1)

    End If

End Sub

 

4@6

解析: 因为文字描述不如视频清晰,具体见视频详细讲解

7

 

 

8 (填空题 <3>

执行下面程序,单击命令按钮Command1,窗体上显示的第一行内容是____________   a数组元素的个数是____________   ,其中a(2)的值是____________  

 

Option Explicit

Option Base 1

Private Sub Command1_Click()

    Dim St As String, i As Integer

    Dim a() As String, j As Integer, k As Integer

    St = "abcd"

    Call Sub1(St)

    Print St

    For i = 1 To Len(St)

        For j = i + 1 To Len(St)

            If Mid(St, i, 1) = Mid(St, j, 1) Then Exit For

        Next j

        If j <= Len(St) Then

            k = k + 1

            ReDim Preserve a(k)

            a(k) = Mid(St, i, 1)

            Print a(k)

        End If

    Next i

End Sub

Private Sub Sub1(S As String)

    Dim i As Integer

    For i = 1 To Len(S) \ 2

        Mid(S, i, 1) = Mid(S, Len(S) - i + 1, 1)

    Next i

End Sub

 

dccd@2@c

解析: 因为文字描述不如视频清晰,具体见视频详细讲解

7

 

 

9 (填空题 <3>

执行下面程序,单击命令按钮Command1,则a(1,2)的值是____________   a(2,3)的值是____________   a(3,3)的值是____________  

 

Option Explicit

Option Base 1

Private a(3, 3) As Integer

Private Sub Form_Activate()

    Dim i As Integer, j As Integer, k As Integer

    k = 1

    For i = 1 To 3

        For j = 1 To 3

            a(i, j) = k

            k = k + 1

        Next j

    Next i

End Sub

Private Sub Command1_Click()

    Dim b(4) As Integer, i As Integer, j As Integer, t As Integer

    b(1) = 2

    For i = 2 To 4

        b(i) = i - 1

    Next i

    t = a(b(1), b(4))

    a(b(1), b(4)) = a(b(2), b(1))

    a(b(2), b(1)) = a(b(3), b(2))

    a(b(3), b(2)) = a(b(4), b(3))

    a(b(4), b(3)) = t

    For i = 1 To 3

        For j = 1 To 3

            Print a(i, j);

        Next j

        Print

    Next i

End Sub

 

4@2@9

解析: 因为文字描述不如视频清晰,具体见视频详细讲解

7

 

 

1(完善程序):

【要求】

1)打开T盘中P1.vbp文件,完善程序后,直接保存所有文件。

【题目】

下面程序的功能是,随机生成10个不含数字0且由5位不同数字组成的整数,再将所生成的五位整数转换为由组成该数的数字构成的最小整数后输出。

Option Explicit

Private Sub Command1_Click()

    Dim a(1 To 10) As Long, b(0 To 9) As Boolean, c(1 To 5) As Integer

    Dim i As Integer, j As Integer, k As Integer, n As Long

    For i = 1 To 10

        n = Int(Rnd * 90000) + 10000

        Erase b

b(0) = True

        For j = 1 To 5

            c(j) = Mid(n, j, 1)

            If b(c(j)) = False Then

                b(c(j)) = True

            Else

                    (1)   

            End If

        Next j

        If j = 6 Then

            Call Sort(c)

            For k = 1 To 5

                a(i) = a(i) * 10 + c(k)

            Next k

            List1.AddItem a(i)

        Else

                (2)   

        End If

    Next i

End Sub

Private Sub Sort(a() As Integer)

    Dim i As Integer, t As Integer, ub As Integer, f As Boolean

    ub = UBound(a)

    f = True

    Do While f

            (3)   

        ub = ub - 1

        For i = 1 To ub

            If a(i) > a(i + 1) Then

                f = True

                    (4)   

                a(i) = a(i + 1)

                a(i + 1) = t

            End If

        Next i

    Loop

End Sub

 

Exit For@i=i-1@f=false@t=a(i)

 

(1)Exit For

(2)i=i-1

(3)f=false

(4)t=a(i)

因为文字描述不如视频清晰,请查看自带的本题目的视频详细讲解

 

 

2(改错题):

【要求】

(1)打开T盘中P2.vbp文件按参考界面形式编辑窗体界面改正程序中的错误后直接保存所有文件

(2)改错时,不得增加或删除语句,但可适当调整语句位置。

【题目】本程序的功能是:生成一个4×4的数组,并根据数组中元素的大小生成一个标记数组。在标记数组中字母L表示数组的对应位置元素为最大,字母S表示随组的对应位置元素为最小(若存在多个相等的最大或最小元素也用字母LS标记),其他非最大最小元素均用0表示。

Option Explicit

Dim a(4, 4) As Variant, i As Integer, j As Integer

Private Sub Command1_Click()

    For i = 1 To 4

        For j = 1 To 4

            a(i, j) = Int(Rnd * 90) + 10

        Next j

    Next i

    Call printsz(Picture1)

End Sub

Private Sub Command2_Click()

    Dim Max As Integer, Min As Integer, a(4, 4) As Integer

    Max = 0

    Min = 0

    For i = 1 To 4

        For j = 1 To 4

            If a(i, j) > Max Then Max = a(i, j)

            If a(i, j) < Min Then Min = a(i, j)

        Next j

    Next i

    Call bj(Max, Min)

End Sub

Private Sub bj(m As Integer, n As Integer)

    For i = 1 To 4

        For j = 1 To 4

            If a(i, j) = m Then

                a(i, j) = L

   ElseIf a(i, j) = n Then

                a(i, j) = S

            Else

                a(i, j) = "0"

            End If

        Next j

    Next i

    Call printsz(Picture2)

End Sub

Private Sub printsz(pic As Control)

    pic.Cls

    For i = 1 To 4

        For j = 1 To 4

            pic.Print a(i, j); " ";

        Next j

        pic.Print

    Next i

End Sub

 

Dim Max As Integer, Min As Integer, a(4, 4) As Integer修改为Dim Max As Integer, Min As Integer@ Max = 0修改为Max=a(1,1) Min = 0修改为Min=a(1,1)@ a(i, j) = L修改为a(i, j) = L@ a(i, j) = S修改为a(i, j) = S

 

(1)Dim Max As Integer, Min As Integer, a(4, 4) As Integer修改为Dim Max As Integer, Min As Integer@

(2)Max = 0修改为Max=a(1,1) Min = 0修改为Min=a(1,1)

(3)a(i, j) = L修改为a(i, j) = L

(4)a(i, j) = S修改为a(i, j) = S

 

因为文字描述不如视频清晰,请查看自带的本题目的视频详细讲解

 

3(编程题):

【要求】

(1)打开T盘中P3.vbp文件,根据题目要求编写和调试程序后,直接保存所有文件;

(2)程序代码书写应呈锯齿形,否则适当扣分。

【题目】

找出任意给定的两个自然数的相同因子(因子中不包含1和该数本身)。

【编程要求】

(1)程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;

(2)运行程序,单击查找按钮,根据文本框1和文本框2中给定的数字,分别求出它们除1和本身外的因子,并最终求出这两个数的相同因子输出在文本框3中,若两个数没有相同因子,则在文本框3中输出没有相同因子;单击退出按钮,则结束程序运行;

(3)程序中必须包含一个求因子的通用过程。

 

Option Explicit

Option Base 1

 

Private Sub Command1_Click()

  Dim a() As Integer, b() As Integer, c() As Integer

  Dim n1 As Integer, n2 As Integer

  Dim i As Integer, j As Integer, k As Integer

  n1 = Text1.Text

  n2 = Text2.Text

  Call yinzi(n1, a)

  Call yinzi(n2, b)

  For i = 1 To UBound(a)

     For j = 1 To UBound(b)

         If a(i) = b(j) Then

             k = k + 1

             ReDim Preserve c(k)

             c(k) = a(i)

         End If

     Next j

  Next i

 

  Text3.Text = n1 & "的因子:  "

 

  For i = 1 To UBound(a)

    Text3.Text = Text3.Text & a(i) & "  "

   Next i

 

  Text3.Text = Text3.Text & vbCrLf

  Text3.Text = Text3.Text & n2 & "的因子:  "

 

  For i = 1 To UBound(b)

     Text3.Text = Text3.Text & b(i) & "  "

  Next i

 

  Text3.Text = Text3.Text & vbCrLf

   If k = 0 Then

     Text3.Text = Text3.Text & "没有相同的因子数:"

  Else

    Text3.Text = Text3.Text & "相同的因子数:"

    For i = 1 To UBound(c)

     Text3.Text = Text3.Text & c(i) & "  "

    Next i

  End If

End Sub

 

Private Sub Command2_Click()

  End

End Sub

 

Private Sub yinzi(n As Integer, c() As Integer)

   Dim i As Integer, k As Integer

   For i = 2 To n - 1

      If n Mod i = 0 Then

         k = k + 1

         ReDim Preserve c(k)

         c(k) = i

      End If

   Next i

End Sub

 

因为文字描述不如视频清晰,请查看自带的本题目的视频详细讲解