<习题一>
1  计算机硬件系统和软件系统各由哪些部分组成?分别说明其功能与作用。
2  信息在计算机内如何表示,存储容量如何计算?
3  Windows系统中有哪些常见的操作对象?
4  操作系统的功能、作用与地位如何?
5  Windows系统中文件是如何进行管理的?
6  如何获取和运行应用程序?
5
<习题二>
1    叙述建立一个完整的VB应用程序的过程。
2    当建立好一个简单的应用程序后,假定该工程仅有一个窗体模块。问该工程涉及到多少文件要保存?
3    解释什么是类、对象、对象属性、事件与事件过程、方法。
4    VB开发环境中有哪些窗体,各有哪些用途?
5    使用VB开发环境牵涉到哪几种模式,并描述各自的作用?
6    VB中的错误种类有哪些?如何调试程序?如何使用帮助系统?
5
<习题三>
                           
(一)  判断题:                         
1 VBByte类型数据的数值范围,在-255255之间。(F)
2 VBDouble类型数据,可以精确表示其数值范围内的所有实数。(F)
3 Variant是一种特殊的数据类型,该类型变量可以存储除了定长字符串数据及自定义类型外的所有系统定义类型的数据。Variant类型变量还具有EmptyErrorNull等特殊值。(T
4 函数MsgBox的前三个参数,分别为图标样式、按钮样式以及默认按钮。(F
5 在自定义函数过程中,函数名必须被赋值。(F
6 Open语句中用Append方式所打开的文件若不存在,则创建该文件。(T
7 Open语句中用Input方式所打开的文件必须已经存在,否则会运行错误。(T
8  A=B=C”是一个合法的Visual Basic 语句。(T
9  在窗体或模块文件中声明为Private的过程,只能被本窗体或模块中的过程所调用。(T
10、静态变量是局部变量,当过程再次被执行时,静态变量的初值是上一次过程调用后的值。(T
11VB中,用Dim定义数组时数组元素也自动赋初值0。(F
(二)  选择题
1、下列数据类型中,占用内存最小的是            。(B
        ABoolean        BByte          CInteger        DSingle
2Visual Basic允许使用的数组的最大维数是            。(B
    A50          B60          C80          D90
3、以下哪项变量名是合法的?            。(C
AAB          BGlobal          CCity_name      D15A
4、判断整型变量m能否被n整除的VB表达式为          。(D
An mod m=0  Bm/n*n=m        Cm mod n      D(m\n)*n=m
5、变量A%的类型是            (A)
    AInteger          BSingle      CString          DBoolean
6、表达式          可以计算整型变量x的位数。(A)
ALen(Trim(Str(Abs(x))))          BLen(Abs(x))-1
CLen(Abs(x))                  DLen(Trim(Int(x)))
7、逻辑表达式的 Not "a">"b" and 9<3 or 9>3 值为         (A)   
    A True          BFalse          C)表达式有错      D)条件不足
815.5 \ 2的结果是        。(D
    A 1          B 1.5          C 7            D 8
9VB算术运算符乘或除、整除、求余的优先级,从高到低依次为         (B)
A)乘或除、求余、整除            B)乘或除、整除、求余
C)整除、求余、乘或除            D)整除、乘或除、求余
10、函数InStr(“windowse”Mid(“winnt”,22)的返回值是        (C)
A0              B1            C2            D3
11VB表达式          包含当前系统日期与时间信息。(B
ATime          BNow          CDate        DDayDate
12x Integer 类型变量 ,无论取何值,字符串表达式      的长度为10。(D
ASpace (l0-Len(Str(x)))+x        BSpace(l0-Len(Trim(Str(x))))+x
CSpace (l0-Len(x))&x            DSpace(10-Len(Trim(Str(x))))&x
    13、将变量xy中的最大数赋值给变量a,正确的表示为          。(A
Aa=x: If y>x Then a=y            BIf y>x Then a=y: a=x
Ca= If y>x Then y Else x          DIf y>x Then a=y Else a=x End If
14、在 Form2 中引用 Forml 中的全局变量x, 写作          。(B
Ax            B.Forml.x      CForm2.x    DForml_Public.x
15、若某过程声明为Sub  aa(n as integer),则调用          实参与形参是按地址传递。(C
ACall  aa(5)      BCall  aa(n+1)    CCall  aa(n)  DCall  aa(i-1)
    16编制一个对Single类型一维数组排序的Sub过程,该过程只能被本模块中其他过程所调用,其句首为       C
A            Sub        f(a()As Single n As Integer)
BPublic        Sub     f(a(n)As Single)
CPrivate    Sub     f(a() As Single, n As Integer)
DPublic     Sub     f(a()As Single, n As Integer)
17条件“mn不同时为0”写VB的表达式为          。(Cwrite的返回值
Am=0  And  n<>0    Bm+n=0    CNot(m=0  And  n=0)  Dm*n=0
18编制一个计算Single类型一维数组所有元素和的函数过程,该过程可被其他模块调用,其句首为          。(B
APrivate    Function Sum(a(n) as Single, n as Integer) as Single
BPublic    Function Sum(a() as Single, n as Integer) as Single
CPrivate    Function Sum(a() as Single, n as Integer) as Single
DPublic    Function Sum(a(n) as Single, n as Integer) as Long
(三)程序填空题
1Form2的过程Command1_Click如下,输入10个数,根据 Form1中全局变量flag的不同取值做不同运算:若flagtrue则求10个数的和,若flagfalse则求10个数的积。
【程序】
Private Sub Command1_Click()
Dim a(10) As Single, s As Single, i As Integer
s = 0
If       1      Then s = 1
For i = 1 To 10
        a(i) = InputBox("a(" & i & ")=")
        If       (2)        Then s = s + a(i) Else s = s * a(i)
Next i
Print s
End Sub
(1)ANot Form1.flag    BForm1.flag    Cflag    Dflag=ture
(2)As=1        Bs<>1        CForm1.flag        Dflag
答案:AC
2、单击命令按钮Command1后,输入平面上凸10边形各顶点的坐标,然后计算各点之间连线的总长。
【程序】
Option Base 1
Private Function f1(x1 As Single, y1 As Single, x2 As Single, y2 As Single) As Single
    f1 = Sqr((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1))
End Function
Private Sub Command1_Click()
    Dim i As Integer, j As Integer, s As Single
            1       
    For i = 0 To 9
        x(i) = InputBox("x(" & i & ")=")
        y(i) = InputBox("y(" & i & ")=")
    Next i
    For i = 0 To 8
        For j =     2   
            s = s +     3     
        Next j
    Next i
    Label1.Caption = s
End Sub
(1)      Ax(9) as  single ,y(9) as single
        Bx(0 to 9) as  single ,y(0 to 9) as single
        Cx(9),y(9) as single       
Dx(10) as  single ,y(10) as single
(2)        Ai+1 to 9      Bi  to 9  Ci+1  to 10        Di  to 10
(3)        Af1(x(i),x(j),y(i),y(j))        Bf1(x1,y1,x2 ,y2)
Cf1(x(i),y(i), x(j),y(j))        Df1(xi,yi,xj,yj)
答案:BAC
(四)程序阅读
1.    Private sub form_click()
A=1
B=A
Do Until A>=5
X=A*B
Print str$(A) & " * " & str$(B) & " = ";str$(x)
A=A+B
B=B+A
Loop
End Sub
结果为                               
2.    Private Sub form_click()
        Dim f(2)
        For i = 0 To 2
            f(i) = SQ(i * i + 1)
        Next i
          Do Until i = 0
            i = i - 1
            Print " F("; i; ")= "; f(i)
        Loop
End Sub
Public Function SQ(x)
        x = x + 2
        SQ = x * 4 - 5
End Function
结果为                               
3.    Dim y as integer
Private sub Form_click()
Dim x as integer
X=1
Y=1
Call aa(y+1)
z=BB(x)
Print x,y,z
End sub
Public sub AA(byval z as integer)
y=z+x
z=x+y
End sub
Public function BB(byref y as integer)
y=y+1
Bb=x+y
End function
结果为                               
4    Private Sub form_click()
Static a As Integer
Dim b As Integer
b = a + b + 1
a = a + b
Form1.Print " a= "; a, " b= "; b
End Sub
程序运行时连续单击四次窗体后,FORM1上的输出结果:
5Private Sub Form_Click()
        Dim strC As String * 1
        strC = InputBox("请输入数据")
        Select Case strC
            Case "a" To "z", "A" To "Z"
                Form1.Print strC + "Is Alpha Character"
            Case "0" To "9"
                Form1.Print strC + "Is Numeral Character"
            Case Else
                Form1.Print strC + "Is Other Character"
        End Select
End Sub
设输入的数据分别为“W”,“8”和“?”时,单击窗体后,窗体上显示的内容分别是什么?
 
6    Public Sub Swap1(ByVal x As Integer, ByVal y As Integer)
        Dim t As Integer
          t = x
          x = y
          y = t
End Sub
Public Sub Swap2(x As Integer, y As Integer)
        Dim t As Integer
        t = x
        x = y
        y = t
End Sub
Private Sub Form_Click()
        Dim a As Integer, b As Integer
        a = 10
        b = 20
        Swap1 a, b
        Form1.Print "A1="; a, "B1="; b
        a = 10
        b = 20
        Swap2 a, b
        Form1.Print "A2="; a, "B2="; b
nd Sub
写出程序运行后,单击窗体,Form1上的输出结果。
7    Private Sub Form_Click()
        Dim i As Integer, j As Integer
        Dim star As String
        star = "*"
        For i = 1 To 6
            Form1.Print Tab(14 - i * 2);
            For j = 1 To i * 2 - 1
                Form1.Print star;
            Next j
            Form1.Print
        Next i
        For i = 1 To 6
            Form1.Print Tab(2 + i * 2);
            For j = 1 To (6 - i) * 2 - 1
                Form1.Print star;
            Next j
            Form1.Print
        Next i
End Sub
写出程序运行后,单击窗体,Form1上显示的内容。
8、运行时,单击窗体后依次输入103750555664202819-190
写出运行结果。
Private  Sub  Form1_Click()
        Dim  y  as  Integer
Do
y=Inputbox(“y=”)
If  (y  Mod  10) + Int (y / 10) = 10  Then  Print  y
Loop  Until  y=0
End  Sub
9顺序写出运行时执行下列事件过程的显示结果。
    Private Sub Command1_Click()   
        For i = 2 To 20
            If i Mod 2 = 1 And i Mod 3 = 2 Then Print i
          Next i   
          Print i   
End Sub
10写出程序运行是单击窗体后,form1上的输出结果。
Private Sub Form_Click()
    Dim x As String
    Dim i As Integer, n As Integer
    Form1.Cls
    x = "ABCDEFGHKL"
    n = Len(x)
    For i = n To 1 Step -2
        Form1.Print Tab(20 - i); Mid(x, i, 1)
    Next i
End Sub
11写出下列程序运行时,单击窗体后窗体上的显示结果
Private Sub Form_Click()
    Dim a(4, 4) As Integer, i As Integer, j As Integer
    For i = 1 To 4
        For j = 1 To 4
            a(i, j) = Trim(Str(i)) + Trim(Str(j))
        Next j
    Next i
    For i = 1 To 4
        For j = 1 To 4
            Print Tab((j - 1) * 4 + 1); a(i, j);
        Next j
        Print
    Next i
End Sub
()程序设计
1、设置一方法由e的值,已知e-x=
2、在C:\txt目录下的有两个顺序文件a.txtb.txt,其中都按升序排列了5个数据记录,
  要求编程将两文件合并成一个文件c.txt,并使c.txt文件中的记录按降序排列。
3、编写一程序,当我们单击窗体时,用输入框输入一自然数,判断是否“正数”、“负数”或“零”,并根据输入的数用消息框显示“正数”、“负数”或“零”。
4、在c:\文件中,顺序存放着若干学生的姓名(字符型)和成绩(数值型),例如
                令狐冲,2294
                郭靖,2285
                ……
                杨康,8890
现要求将文件中的姓名和成绩在窗体上显示,同时计算并显示所有学生的平均成绩。
5、编程序求解一元二次方程 AX2 +BX+C=0 ,并在窗体上输出。
  要求:
      (1) 求根用使用过程Sub Rootx2(a!,b!,c!)完成,并考虑实根、虚根等情况。
      (2) 在窗体的单击事件通过InputBox()函数输入方程的系数,并调用Rootx2()过程实现题目的要求。
 
5
<习题四>
1  如何利用属性窗口设置控件的属性?
2  控件的字体属性的名称是什么?
3  什么是焦点事件?它的实现的方法是什么?
4  什么是ActiveX控件?如何使用ActiveX控件?
5  Visual Basic中提供一组选项给用户进行选择的方法有几种?比较它们的异同。
6  标签和文本框的区别是什么?各有哪些属性?
7  窗体的Cpation属性和Name属性有何区别与联系?
8  使用控件数组设计一个计算器程序,功能类似于Windows附件中的计算器,能进行连续的四则运算。
9  请说明普通拖放和OLE拖放的区别。
10用什么方法可以确保文本框中输入的全部是数字?试编写程序验证。
5
<习题五>
1  利用通用对话框控件可以产生多少不同的对话框?各种对话框的显示方法是什么?
2  在使用文件对话框时,哪个属性可以用来限制文件显示的类型?程序又如何知道在对话框关闭后,用户选择了哪个文件或按了“取消”按钮?
3  设计显示一个文件对话框(利用命令按钮控件来显示)。利用该对话框显示选中文件夹中以.txt.bat扩展名结尾的所有文件。将初始文件目录设置“C:\”。
4  利用驱动器列表框(DriveListBox)、目录列表框(DirListBox)和文件列表框(FileListBox),编写一个简单文件查看程序(类似于Windows的资源管理器)。
5  菜单的操作一般是利用菜单的什么事件来实现?应用程序为了改变菜单选项的复选标记状态,应改变哪个属性?
6  创建一个新工程其菜单内容如下:WriteReadListenWrite菜单有以下选项:KeyboardPencilPenRead菜单有以下选项:ScreenBookMagazineListen菜单有以下选项:RadioTelevision。另外,再将Read菜单设为弹出式菜单。
7  在多窗体程序中如何将某个特定窗体设置为启动对象?各个窗体之间如何实现切换?
8  多窗体程序与多界面文档程序又何区别?
9  修改例513,在工程中添加一个标准模块,将MDIForm1窗体和Form1窗体中的各菜单项的Click事件改写到标准模块中,原菜单项的操作通过调用标准模块中相应的子过程来实现。
5
<习题六>
一、判断题:
1  移动框架时框架内控件也跟随移动,所以框架内各控件的LeftTop属性值也将随之改变。(错)
2VB提供的几种标准坐标系的原点都是在绘图区域的左上角,如果要把坐标原点放在其它位置,则需要使用自定义坐标系统。(对)
3若窗体的坐标刻度为“缇”、窗体上的图片框控件的坐标刻度为“磅”,则图片框的Left属性值的单位为“缇”。(对)
4Scale方法改变了窗体坐标系后,窗体的LeftTop属性值不变。(对)
5将容器的FillStyle属性设置为0后,容器中已绘制的图形的填充样式都为实心。  (错)
6、语句“Shape1.FillStyle = vbSolid”和“Shape1.FillStyle = 0”作用相同。(对)
7、用Cls方法能够清除窗体或图片框中用Picture属性设置的图形。(错)
8Cls方法可以清除组合框中的所有表项。  (错)
9Picture图片框既可用来显示图片和绘制图形,也可以用Print方法来显示文字。(对)
10、在图片框中放置的控件既可以在该图片框内移动,也可以移出该图片框外。(错)
11框架控件和形状控件都不能响应用户的鼠标的单击事件。(错)
12图片框的Move方法不仅可以移动图片框,而且还可以改变该图片框的大小,同时也会改变该图片框控件的有关属性值。  (错)
13执行语句 Pic1.Picture = c:\temp\a.bmp”,可以为图片框控件Pic1加载文件名为c:\temp\a.bmp的图形文件。  (错)
14Picture对象的AutoSize属性值为True时,表示该对象不管原来图片的大小,一律都自动调整为控件的大小尺寸,以便能够完整地显示该图片。  (错)
15图片框控件与影像框控件加载图形文件的方法相同。  (对)
 
二、选择题:
1、改变控件在窗体中的左右位置应该修改控件的()属性?(B
A. Top    B. Left  C. Width  D. Right   
2要改变控件的宽度,应该修改控件的()属性?(C
A. Top    B. Left  C. Width  D. Right   
3重新定义图片框控件的坐标系统,可采用该图片框的()方法?(A
A. Scale    B. ScaleX  C. ScaleY  D. SetFocus   
4容器的ScaleMode属性值为()时,容器坐标系的每一个单位为一磅?(A
A. 2    B. 1  C. 4  D. 6   
5改变了容器的坐标系后,该容器的()属性值不会改变?(A
A. Left    B. ScaleLeft  C. ScaleTop  D. ScaleWidth   
6无论怎样改变图片框控件P1的坐标系,其中心点的xy坐标分别为()?(B
A.    (P1.ScaleLeft+P1.ScaleWidth)/2(P1.ScaleTop+P1.ScaleHeight)/2
B.    P1.ScaleLeft+P1.ScaleWidth/2P1.ScaleTop+P1.ScaleHeight/2
C.    P1.Left+P1.Width/2P1.Top+P1.Height/2   
D.    P1.Width/2P1.Height/2   
7、设置图片框控件PIC1的背景为红,可以执行语句()?(B
A.    PIC1.BackColor = QBcolor(1)
B.      PIC1.BackColor = 255
C.      PIC1.BackColor = RGB(0,0,255)
PIC1.BackColor = RGB(0,255,0)             
8要使Shape控件以实心方式填充,应该设置其()属性?(B
A. FillColor    B. FillStyle  C. BackStyle  D. Shape   
9下列表达式中,()不是蓝颜的值? C
A.vbBlue    B. Rgb(0,0,255)  C. QBColor(12)  D. &HFF0000 
10、下列表达式中,()不是红颜的值?(C
A.vbRed    B. Rgb(255,0,0)  C. QBColor(1)  D. &HFF   
11、()对象不能作为控件的容器?(C
A. Form    B. PictureBox  C. Shape  D. Frame   
12若在图片框上用绘图方法绘制一个圆,则图片框的()属性不会对该圆的外观产生影响。
A. BackColor    B. ForeColor  C. DrawWidth  D. DrawStyle A
13、形状控件所显示的图形不可能是()?(D
A.    B. 椭圆  C. 圆角正方形  D. 等边三角形 
14、直线控件所不具有的属性是()?(D
A. Index    B. x1  C. y2  D. x   
15在图片框控件Picture1上坐标(xy)处画一个绿点,写作()?(D
A. Pset(x,y),Rgb(0,255,0)    B. Picture1.Pset(x,y),Green 
C. Pset(x,y),vbGreen        D. Picture1.Pset(x,y),vbGreen 
16、返回图片框控件P1坐标(a,b)处颜值的表达式为()?(D
A. P1.SetColor(a,b)    B. P1.GetColor(a,b) 
C. P1.Pset(a,b)        D. P1.Point(a,b)   
三、程序填空题:
程序运行时,无论如何调整窗体的边界,单击窗体后都以窗体的中心位置为圆心、以30毫米为半径画出一个圆饼图。
Private Sub Form_Load ()
FillStyle = 0
1
End Sub
Private Sub Form_Click ()
2
FillColor = RGB(255,0,0)
Circle (0,0),30, ,3.14159*2,3.14159*2/3
FillColor = RGB(0,255,0)
Circle (0,0),30, ,3.14159*2/3,3.14159*4/3
FillColor = RGB(0,0,255)
3
End Sub
1 A. ScaleMode = 6
B. Scale(ScaleWidth/2, ScaleHeight/2) (ScaleWidth/2, ScaleHeight/2)
C. Form1.Scale (Width/2, Top/2) (Width/2, Top/2)
D. Scale (Width/2, Top/2) (Width/2, Top/2)
2 A. ScaleMode = 6
B. ScaleMode = 1
C.Scale(ScaleWidth/2, ScaleHeight/2) (ScaleWidth/2, ScaleHeight/2)
D. ScaleMode = 2
3 A. Circle (0,0), 30,3.14159*4/3, 3.14159*2
B. Circle (0,0), 30, ,PI*4/3, 3.14159*2
C. Circle (0,0), 30, ,3.14159*4/3, 0
D. Circle (0,0), 30, ,3.14159*4/3, 3.14159*2             
答案:(123D
四、程序阅读
 
Private Sub Form_load()
    p=scaleheight/2-imgeh.height/2
    imgeh.left=scalewidth/2-imgeh.width/2
    imgmn.picture=loadpicture(“c:\moon.ico”)
    imgeh.picture=loadpicture(“c:\earth.ico”)
End Sub
Private Static Sub Timer1_timer()
    a=1600
    x=sin(i)*a+scaleheight/2
    y=cos(i)*a+scalewidth/2
    ve x,y
    I=I+0.2
End Sub
注:上述二事件属同一程序,imgehimgmn为影像框控件名,定时器的interval100moon.icoearth.ico是月亮和地球的图标,答题时可示意表示。答案可用图形加文字表示。
5
<习题七>
1.        什么是关系数据库?
2.        如何用可视化数据库管理器建立和修改数据库?
3.        使用ADO对象访问数据库的基本步骤?
4.        数据绑定控件有哪些,如何绑定到数据控件?
5.        怎样生成ADO数据控件的连接字符串?
6.        尝试用ADO控件或命令建立一个学生选课输入界面和选课查询界面。在查询界面中,
要求输入学号,即可获得该学生所有选修课的课程名称与任课教师姓名。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。