vb期末考试复习资料(经典总结版)

时间:2019-05-12 13:36:51下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《vb期末考试复习资料(经典总结版)》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《vb期末考试复习资料(经典总结版)》。

第一篇:vb期末考试复习资料(经典总结版)

第一章 VISUAL BASIC的特点与版本

例1 与传统的程序设计语言相比,Visual Basic最突出的特点是

A.结构化程序设计 B.程序开发环境

C.程序调试技术

D.事件驱动编程机制

【分析】 传统的程序设计语言是面向过程的,但一般都可以实现结构化程序设计,有的也提供了较完善的集成开发环境和程序调试技术,但它们基本上都没有事件驱动编程机制。与这些语言相比,Visual Basic最突出的特点就是事件驱动编程机制。【答案】 D

例2下列成员中不属于主窗口的是

A.最大化按钮 B.状态栏 C.系统菜单 D.工具栏

【分析】 主窗口由标题栏、菜单栏和工具栏构成,其中标题栏上有系统菜单(左端)以及最小化、最大化和关闭按钮。因此,最大化按钮、系统菜单和工具栏都是主窗口中的成员,而主窗口中没有状态栏。

【答案】 B

例3在属性窗口中,属性列表可以按两种顺序排列,这两种顺序是______和______。

【分析】 为了便于查找,属性窗口对当前对象的属性提供了两种排列方式,一种是按字母表顺序,另一种是按属性的分类顺序。【答案】 按字母序 或按分类序

按分类序 或按字母序

例4 Visual Basic 6.0的集成开发环境有两种方式,第一种方式是______,第二种方式是______。【分析】 在默认情况下,Visual Basic 6.0集成开发环境为多文档界面方式,即MDI方式,在这种方式下,窗体设计器窗口是固定的。使用“工具”菜单中的“选项”命令,可以把集成开发环境设置为单文档界面方式,即SDI方式,在这种方式下,窗体设计器窗口是浮动的。【答案】 多文档界面 或 MDI

单文档界面 或 SDI

第二章 对象及其操作

例1为了通过属性窗口把窗体的ControlBox属性设置为True(或False),下列正确的操作是 A.直接键入True(或False)B.利用对话框设置属性值

C.选择ControlBox,然后按回车键 D.双击ControlBox属性条

【分析】 ControlBox属性是一个逻辑值,其取值只有两种,即True和False,一般可以通过选择输入,即单击属性条右端的箭头,下拉显示属性值True和False,从中选择所需要的值。在上面给出的答案中,前三个答案都不能实现所要求的操作,只有答案D才能实现。实际上,对于只有两种可能取值(True或False、0或1)的属性,都可以通过双击属性条设置。【答案】 D

例2下列语句用来设置窗体Form1的属性,其中在运行时不能正确操作的语句是

A. Form1.Captin = “Form Test”

B. Form1.Name = “FormTest”

C. Form1.MaxButton = False

D. Form1.MinButton = False 【分析】 这4个语句用来在运行时设置窗体的属性。其中Form1.Captin=“Form Test”用来设置窗体的标题,Form1.Name=“FormTest”用来设置窗体的名称,Form1.MaxButton=False用来隐藏窗体的最大化按钮,Form1.MinButton=False用来隐藏窗体的最小化按钮。从语法格式上来看,似乎没有什么问题,在输入时也不会产生错误。但是,窗体的Name属性是一个“只读”属性,在运行时不能改变,因此,程序运行后,当执行到Form1.Name=“FormTest”语句时将会出错。【答案】 B

例3下列不能打开属性窗口的操作是

A.执行“视图”菜单中的“属性窗口”命令 B.按F4键 C.按Ctrl+T键

D.单击工具栏上的“属性窗口”按钮 【分析】 在上面选择中,Ctrl+T键用来执行“工程”菜单中的“部件”命令,打开的是“部件”窗口,不是属性窗口,其他3个选项都可以打开属性窗口。【答案】 C

例4 为了对多个控件执行操作,必须选择这些控件。下列不能选择多个控件的操作是 A.按住Alt键,不要松开,然后单击每个要选择的控件 B.按住Shift键,不要松开,然后单击每个要选择的控件 C.按住Ctrl键,不要松开,然后单击每个要选择的控件

D.拖动鼠标画出一个虚线矩形,使所选择的控件位于这个矩形内

【分析】 教程中介绍了选择控件的两种方法,即按住Shift键单击每个要选择的控件和拖动鼠标画虚线矩形。除这两种方法外,按住Ctrl键单击每个要选择的控件也可实现选择控件的操作,但按住Alt键单击每个要选择的控件不能达到目的。【答案】 A

例5 为了在运行时把窗体Form1的标题(Caption属性)设置为“Test Program”,应使用的语句为______。

【分析】 窗体的Caption属性用来设置窗体的标题,一般格式为: [窗体.]Caption[=字符串]其中的“窗体.”可以是Form1.,可以省略,也可以是关键字Me:而“字符串”就是要设置的窗体的标题。因此,本题有几种不同的答案。【答案】

Form1.Caption = “Test Program” 或 Me.Caption = “Test Program” 或 Caption = “Test Program” 例6 当选择了多个控件后,其中有一个控件是“基准控件”,设置“基准控件”的方法是

【分析】 在一般情况下,如果选择了窗体上的多个控件,则其中有一个控件自动成为“基准控件”。选择方法不同,“自动基准控件”也不一样。如果按住Ctrl或Shift键选择多个控件,则最后单击的控件为“基准控件”;如果用拖动鼠标的方法选择控件,则最后画到窗体上的控件是“基准控件”。如果想用其他某个控件作为“基准控件”,可以在选择多个控件后,单击该控件。【答案】 选择多个控件后,单击其中的某个控件,即可把该控件设置为“基准控件”。

第三章 VB程序设计基础

例1 在设计阶段,当双击窗体上的某个控件时,所打开的窗口是 A.工程资源管理器窗口 B.工具箱窗口 C.代码窗口

D.属性窗口

【分析】 Visual Basic集成开发环境下的窗口(包括代码窗口)基本上都可以通过执行“视图”菜单中相应的菜单命令打开。在设计阶段,如果单击窗体上的某个控件,则只能打开代码窗口。【答案】 C 例2 下列打开“代码窗口”的操作中不正确的是 A.按F4键

B.单击“工程资源管理器”窗口中“查看代码”按钮 C.双击已建立好的控件

D.执行“视图”菜单中“代码窗口”命令

【分析】 在所给出的选择中,按F4键可以打开属性窗口,不可能用来打开代码窗口,而其他3个选项都可以用来打开代码窗口。【答案】 A 例3 下列正确的Visual Basic注释语句是 A.Dim a(10)As Integer Rem这是一个VB程序 B.′这是一个VB程序

Private Sub Command1_Click()…

C.a=1:b=2:Rem这是一个VB程序:c=3 D. If Shift = 6 And Button = 2 Then

Print “BBBB” Rem 这是一个VB程序

End If 【分析】 在使用注释语句时,有以下“禁忌”:当注释出现在一个语句行的后面时,只能用撇号作 为注释符,不能使用Rem;在复合语句行中,注释必须是最后一个语句,不能放在复合语句行中;注释语句不能放在续行符的后面。在所给出的选择中,A、C、D都是不正确的。【答案】 B 例4 为了建立窗体的Click事件过程,即Form_Click,应先在代码窗口的______栏中选择Form,然后在______栏中选择Click。

【分析】 代码窗口的顶部(标题栏的下面)分为左右两栏,左边一栏是“对象”栏,右边一栏是“过程”栏。在“对象”栏的下拉列表中可以选择窗体或控件的名称,在“过程”栏中可以选择事件的名称。因此,为了建立事件过程Form_Click,应在“对象”栏中选择Form,然后在“过程”栏中选择Click。

【答案】 第一个空:“对象” 或 对象

第二个空:“过程” 或 过程

例5 假定窗体的名称为Form1,对该窗体编写如下代码: Private Sub Form_Load()

Form1.Caption = “AAAAA”

Me.Caption= “BBBBB”

Caption = “CCCCC” End Sub 程序运行后,窗体的标题是______。

【分析】 Form Load是程序运行后首先要执行的事件过程。在上面的事件过程中,有3个赋值语句,这3个语句都用来对对象赋值,即对对象的Caption属性赋值,它们都可以设置窗体的标题。第一个语句把窗体的标题设置为“AAAAA”,执行第二个语句后,窗体的标题变为“BBBBB”,而执行第三个语句后,窗体的标题变为“CCCCC”。【答案】 CCCCC 例6 编写程序,用来设置窗体的位置和大小。要求:程序运行后,窗体的初始位置为(3000,3000),其初始宽度和高度均为5 000;单击一次窗体后,窗体位置的X坐标和Y坐标各减少一半,其宽度和高度均减少到原来的一半。

【分析】 窗体的位置由Top属性和Left属性来设置,宽度和高度分别由Width属性和Height属性来设置。窗体的初始属性可以通过属性窗口设置,也可以在Form_Load事件过程中设置;而单击窗体后的属性可以在Form_Click事件过程中设置。程序如下:

Private Sub Form_Load()

Top = 3000

Left = 3000

Width = 5000

Height = 5000 End Sub Private Sub Form_Click()

Form1.Top = Form1.Top / 2

Form1.Left = Form1.Left / 2

Form1.Width = Form1.Width / 2

Form1.Height = Form1.Height / 2 End Sub 窗体的初始位置和大小在Form_Load事件过程中设置,程序运行后,显示窗体的初始位置和大小。单击一次窗体后,其位置的X坐标、Y坐标及窗体的宽度、高度均减少到原来的一半。此后如果再单击一次窗体,则仍减少一半。如果把Form_Click事件过程改为: Private Sub, Form_Click()

Form1.Top = 1500

Form1.Left = 1500

Form1.Width = 2500

Form1.Height = 2500 End Sub 则程序运行后,无论单击多少次窗体,窗体的位置和大小都是原来的一半。该程序用到了窗体的4个属性,即Top、Left、Width和Height。在设置这几个属性时,窗体名称(Form1)可以有,也可以没有,也可以换成关键字Me。

例7 在Visual Basic中,下列优先级最高的运算符是 A.* B.\ C.< D.Not 【分析】 Visual Basic提供了3类运算符,即算术运算符、关系运算符和逻辑运算符。在3类运算符中,算术运算的优先级最高,其次是关系运算,最后是逻辑运算。在该例中,C和D分别为关系运算符和逻辑运算符,A和B是算术运算符,A和B的优先级比C和D高。而对于A和B来说,乘法(*)的优先级比整除(\)的优先级高。因此,优先级最高的应当是乘法运算符(*)。【答案】 A 例8 以下关系表达式中,其值为False的是 A. “XYZ” < “XYz” B. “VisualBasic” = “visualbasic” C. “the” <> “there” D. “Integer” >“Int” 【分析】 该例通过关系表达式对字符串进行比较。在Visual Basic中,字符串数据按其ASCII码值进行比较。在比较两个字符串时,首先比较两个字符串的第一个字符,其中ASCII码值较大的字符所在的字符串大。如果第一个字符相同,则比较第二个„„依次类推。在该例的4个选择中,A、C、D的值均为True;B中的两个字符串基本相同,但第一个字符串的第一个字母是大写字母,而第二个字符串的第一个字母是小写字母,第一个字符串小于第二个字符串,即两个字符串不相等,因此“VisualBasic”=“visualbasic”的值为假,即False。【答案】 B

例9 下列正确的Visual Basic注释语句是

A.Dim a(10)As Integer Rem这是一个VB程序 B.′这是一个VB程序

Private Sub Command1_Click()…

C.a=1:b=2:Rem这是一个VB程序:c=3 D. If Shift = 6 And Button = 2 Then

Print “BBBB” Rem 这是一个VB程序

End If 【分析】 在使用注释语句时,有以下“禁忌”:当注释出现在一个语句行的后面时,只能用撇号作为注释符,不能使用Rem;在复合语句行中,注释必须是最后一个语句,不能放在复合语句行中;注释语句不能放在续行符的后面。在所给出的选择中,A、C、D都是不正确的。【答案】 B 例10 为了建立窗体的Click事件过程,即Form_Click,应先在代码窗口的______栏中选择Form,然后在______栏中选择Click。

【分析】 代码窗口的顶部(标题栏的下面)分为左右两栏,左边一栏是“对象”栏,右边一栏是“过程”栏。在“对象”栏的下拉列表中可以选择窗体或控件的名称,在“过程”栏中可以选择事件的名称。因此,为了建立事件过程Form_Click,应在“对象”栏中选择Form,然后在“过程”栏中选择Click。

【答案】 第一个空:“对象” 或 对象

第二个空:“过程” 或 过程

例11 假定窗体的名称为Form1,对该窗体编写如下代码: Private Sub Form_Load()

Form1.Caption = “AAAAA”

Me.Caption= “BBBBB”

Caption = “CCCCC” End Sub 程序运行后,窗体的标题是______。

【分析】 Form Load是程序运行后首先要执行的事件过程。在上面的事件过程中,有3个赋值语句,这3个语句都用来对对象赋值,即对对象的Caption属性赋值,它们都可以设置窗体的标题。第一个语句把窗体的标题设置为“AAAAA”,执行第二个语句后,窗体的标题变为“BBBBB”,而执行第三个语句后,窗体的标题变为“CCCCC”。【答案】 CCCCC 例12 编写程序,用来设置窗体的位置和大小。要求:程序运行后,窗体的初始位置为(3000,3000),其初始宽度和高度均为5 000;单击一次窗体后,窗体位置的X坐标和Y坐标各减少一半,其宽度和高度均减少到原来的一半。

【分析】 窗体的位置由Top属性和Left属性来设置,宽度和高度分别由Width属性和Height属性来设置。窗体的初始属性可以通过属性窗口设置,也可以在Form_Load事件过程中设置;而单击窗体后的属性可以在Form_Click事件过程中设置。程序如下:

Private Sub Form_Load()

Top = 3000

Left = 3000

Width = 5000

Height = 5000 End Sub Private Sub Form_Click()

Form1.Top = Form1.Top / 2

Form1.Left = Form1.Left / 2

Form1.Width = Form1.Width / 2

Form1.Height = Form1.Height / 2 End Sub 窗体的初始位置和大小在Form_Load事件过程中设置,程序运行后,显示窗体的初始位置和大小。单击一次窗体后,其位置的X坐标、Y坐标及窗体的宽度、高度均减少到原来的一半。此后如果再单击一次窗体,则仍减少一半。如果把Form_Click事件过程改为: Private Sub, Form_Click()

Form1.Top = 1500

Form1.Left = 1500

Form1.Width = 2500

Form1.Height = 2500 End Sub 则程序运行后,无论单击多少次窗体,窗体的位置和大小都是原来的一半。该程序用到了窗体的4个属性,即Top、Left、Width和Height。在设置这几个属性时,窗体名称(Form1)可以有,也可以没有,也可以换成关键字Me。

第四章 数据的输入与输出例题分析

例1 在窗体上画一个命令按钮(名称为Command1),然后编写如下事件过程: Private Sub Command1_Click()

a=4

b=5

c=6

Print a = b + c End Sub 程序运行后,单击命令按钮,其结果为

A.a=11 B.a=b+c

C.False D.出错

【分析】Print方法具有计算和输出两种功能。当Print的输出项是表达式时,将先计算表达式,然后输出表达式的值。所计算和输出的表达式可以是算术表达式,也可以关系表达式或逻辑表达式。该例中的a=b+c是一个关系表达式,其中a的值为4,b+c的值是11,Print a=b+c实际上执行的是

Print 4=11,显然是一个“假”值。【答案】 C 注意,有人可能会认为本例的答案应当为D,这是不对的。例2 下列不正确的语句是 A. Print a = 10 + 20 B. Print “a =”;10 + 20 C. Print “a” = “10 + 20”

D. Print a =;10 + 20

【分析】Print方法的输出项是一个表达式,包括算术表达式(字符串表达式)、关系表达式和逻辑表 达式。在所给出的选择中,A是用Print方法输出一个关系表达式的值,比较两个算术表达式的值是否相等;B是用Print输出一个字符串和一个算术表达式的值,其中字符串照原样输出,然后计算并输出算术表达式的值;C是用Print方法输出一个关系表达式的值,比较两个字符串是否相等,这几个语句都是正确的,可以输出正确的结果,而D会产生语法错误。【答案】 D 例3 在窗体上画一个命令按钮,然后编写如下代码: Private Sub Command1_Click()

a&=InputBox(“请输入第一个数”)

b&=InputBox(“请输入第二个数”)

Print b&+ a& End Sub

程序运行后,单击命令按钮,在两个输入对话框中先后输入12345和54321,程序的输出结果是 A.66666

B.54321 12345 C.1234554321

D.出错

【分析】 InputBox函数的返回值是一个字符串,但由于a&和b&通过类型说明符被显式地定义为长整型变量,因而在执行InputBox函数后,所返回的字符串值被转换为长整型值,它实际上相当于执行一次类型转换,即:

a&=CLng(InputBox(“请输入第一个数”))b&=CLng(InputBox(“请输入第二个数”))这样,当执行Print方法时,将计算并输出算术表达式b&+a&的值。【答案】 A 例4假定程序中有如下语句:

answer=MsgBox(“第一个字符串”,vbAbortRetryIgnore_

Or vbCritical_

Or vbDefaultButton3,_

“第二个字符串”)执行该语句后,将显示一个信息框,此时如果按回车键,则answer的值为 A.“第二个字符串”

B.5 C.

3D.7 【分析】 MsgBox函数的返回值是一个整数,这个整数与所选择的按钮有关。本例的第二个参数由三部分组成,其中 vbAbortRetryIgnore 用来在信息框中显示3个按钮,分别为“终止”、“重试”和“忽略”;vbCritical用来在信息框中显示Critical Message图标;而vbDefaultButton3把信息框的第三个按钮(即“忽略”)指定为默认按钮。执行该语句后,在信息框中显示3个按钮,并把第三个按钮作为默认按钮,此时如果按回车键,则返回值是该按钮所对应的值。由于“忽略”按钮对应的值是5,因此变量answer的值为5。【答案】 B 例5 执行下列语句后,显示输入对话框,此时如果单击“确定”按钮,则变量strinput的内容是______。strinput=InputBox(“请输入字符串”,“字符串对话框”,“字符串”)

【分析】 在执行InputBox函数时,会产生一个输入对话框,该函数有7个参数,前三个参数都是字符串。其中第一个参数用来在输入对话框内显示一个提示用户输入的字符串,第二个参数是对话框的标题,第三个参数是输入的默认信息。也就是说,在执行InputBox函数后,如果用户没有输入任何信息,则可用此默认字符串作为输入值。如果不想用这个默认字符串作为输入值,则可在输入区直接键入数据,以取代默认值。在该例中,显示对话框后直接单击“确定”按钮,因此第三个参数就是默认的输入值。【答案】 字符串 例6 阅读程序:

Private Sub Form_Click()msg1$=”继续吗?“ msg2$=”操作对话框“ r=MsgBox(msg1$,vbYesNo OrvbDefaultButton2,msg2$)End Sub 程序运行后,单击窗体,将产生一个信息框。此时如果直接按回车键,则相当于用鼠标单击信息框 6 中的______ 按钮。

【分析】 本例用MsgBox函数产生信息框,该函数的第一个参数在信息框内显示,第二个参数分为两部分,其中前一部分(即vbYesNo)用来在信息框中产生两个按钮,分别为“是”和“否”,后一部分(即vbDefaultButton2)把第二个按钮(即“否”)设置为默认按钮;第三个参数是信息框的标题。程序运行后,单击窗体,所产生的信息框的标题为“操作对话框”,在信息框内显示的内容是“继续吗?”,两个按钮分别是“是”和“否”,其中“否”是默认按钮。此时如果按回车键,则与单击“否”按钮效果相同。

【答案】 “否” 或第二个 例7 设有如下程序: Private Sub Form_Click()

a = 32548.56

Print Format(Int((a * 10 + 0.5))/10,”000,000.00“)End Sub 程序运行后,单击窗体,输出结果是______。

【分析】 本例用Format函数对数值进行格式化输出,要输出的数值存放在变量a中。Format函数的第一个参数对变量a进行了舍入处理,保留一位小数,第二位小数四舍五入,其值为32548.6。Format函数的第二个参数是格式说明符,使用的说明符有“0”和“,”,保留两位小数,该函数的返回值为032,548.60。

【答案】032,548.60 例8 编写程序,计算圆的面积。【分析】 圆面积的计算公式为:

S=πr2 其中r是要计算面积的圆的半径,程序运行后从键盘上输入。程序如下:

Private Sub Form_Click()

Const PI = 3.14159

Dim r As Single, S As Single

r=InputBox(”请输入圆的半径“,”输入数据“,”50“)

S=PI*r*r

Print”S=“;Format(S,”###,###.##“)End Sub

程序运行后,单击窗体,将显示一个输入对话框,在该对话框中输入圆的半径(默认为50),然后单击确定按钮或按回车键,即可在窗体上输出圆的面积。假定在对话框中输入35,则单击“确定”按钮后,输出结果为:S=3,848.45。

例9 从键盘上输入小时、分和秒,把它转换为秒数并输出。

【分析】 1小时等于60分,1分钟等于60秒。把小时数乘以60*60,把分钟数乘以60,再加上秒数,就等于总秒数。设小时数为H,分钟数为M,秒数为S,则H小时、M分、S秒的总秒数SS为:

SS=H*60*60+M*60+S 程序如下:

Private Sub Form_Click()

H=InputBox(”请输入小时“,”小时“)

H=Val(H)

M=InputBox(”请输入分“,”分“)

M=Val(M)

S=InputBox(”请输入秒“,”秒“)

S=Val(S)

SS=S+M*60+H*60*60

PrintH;”小时“;M;”分“;S;”秒=“;SS;”秒“ End Sub

程序运行后,单击窗体,将先后显示3个输入对话框,要求输入小时、分和秒。假定分别输入5、45和25,则输出结果为: 5小时45分25秒=20725秒

第五章 常用标准控件例题

例1 在窗体上画两个文本框(其名称分别为Text1和Text2)和一个命令按钮(其名称为Command1),然后编写如下两个事件过程: Private Sub Command1_Click()

Text1.Text = ”Computer Rank Examination“ End Sub Private Sub Text1_Change()

Text2.Text = UCase(Text 1.Text)End Sub 程序运行后,单击命令按钮,则在Text2文本框中显示的内容是 A. Computer Rank Examination B. computer rank examination C. COMPUTER RANK EXAMINATION D.空字符串 【分析】 该例有两个事件过程,一个是命令按钮的Click事件过程,一个是文本框的Text1的Change事件过程,当单击命令按钮时,执行前一个事件过程,而当在文本框Text1中输入信息时,将执行该文本框的Change事件过程。在命令按钮事件过程中,为文本框Text1的Text属性赋值,即在该文本框中显示字符串“Computer Rank Examination”,在这种情况下,将触发Text1文本框的Change事件,把文本框Text1中的所有字母转换为大写字母,并在文本框Text2中显示出来。程序运行后,如果单击命令按钮,则将先后触发命令按钮的Click事件和文本框Text1的Change事件,分别在两个文本框中显示由两个事件过程所指定的内容。【答案】 C 例2 在窗体上画一个名称为List1的列表框,一个名称为Labell的标签。列表框中显示若干城市的名称。当单击列表框中的某个城市名时,在标签中显示选中城市的名称。下列能正确实现上述功能的程序是

A.Private Sub List1_ Click()

Label1.Caption = List1.ListIndex

End Sub B.Private Sub List1_ Click()

Label1.Name = List1.ListIndex

End Sub C.Private Sub List1_Click()

Label 1.Name = List1.Text

End Sub D.Private Sub List1_Click()

Labe1 1.Caption = List1.Text

End Sub 【分析】 所给出的4个选择都是列表框的Click事件过程。当单击列表框中的某一项时,将发生单击事件,同时选择一个列表项,这个列表项可以用列表框的Text属性来表示。也就是说,List1.Text就是所选择的项目。此外,为了在标签中显示所选择的列表项,必须使用列表框的标题属性,即Label1.Caption。因此,正确的语句应当是:

Label1.Caption=List1.Text

在Visual Basic中,不能在运行期间改变控件或窗体的名称(Name属性),因此B和C两个选择都是错误的;而列表框的ListIndex属性是所选择的列表项的位置,即列表项的标题,不是列表项本身。

【答案】 D 例3 在窗体上画一个文本框、一个标签和一个命令按钮,其名称分别为Text1、Label1和Command1,然后编写如下两个事件过程: Private Sub Command1_Click()

a=InputBox(”请输入一个字符串“)

Text1.Text = a End Sub

Private Sub Text1_Change()

Label1.Caption = UCase(Mid(Text1.Text, 8))End Sub 程序运行后,单击命令按钮,将显示一个输入对话框,如果在该对话框中输入字符串“VisualBasic”,则在标签中显示的内容是

A.visual basic

B.VISUAL BASIC C.basic

D.BASIC 分析】 该例包括两个事件过程,其中命令按钮事件过程通过输入对话框来输入一个字符串,并把这个字符串赋给文本框。而当改变文本框的内容时,将触发文本框的Change事件。因此,在把输入的字符串赋给文本框时,将执行文本框的Change事件过程,对标签的Caption属性赋值,该值是:首先取出文本框中第八个字符之后的全部字符,然后把它们转换为大写字母。由于文本框中的字符串为“Visual Basic”,第八个字符为“B”,它之后的字符为“Basic”,执行Ucase函数后,转换为大写,即“BASIC”。【答案】 D 例4 在窗体上画两个文本框(名称分别为Text1和Text2)和一个命令按钮(名称为Command1),然后编写如下事件过程:

Private Sub Command1 Click()

Text1.Text=InputBox(”请输入身高“)

Text2.Text=InputBox(”请输入体重“)End Sub 程序运行后,如果单击命令按钮,将先后显示两个输入对话框,在两个输入对话框中分别输入1.78和75,则两个文本框中显示的内容分别为______和______。

【分析】 在一般情况下,通过InputBox函数输入的数据被赋给一个变量。在本例中,没有使用变量,而是直接把输入对话框中的值赋给文本框的Text属性。因此,第一个文本框接收的是身高,第二个文本框接收的是体重。【答案】 1.78 75

例5 为了在运行时把“d:\pic”文件夹下的图形文件a.jpg装入图片框Picture1,所使用的语句为______。

分析】 在运行期间,可以用LoadPicture函数把指定的图形文件装入窗体、图片框或图像框,它实际上是把图形文件赋给对象的Picture属性。一般格式为:

[对象.]Picture=LoadPicture(“文件名”)其中的“文件名”可以是多种格式的图形文件,包括.bmp、.ico、.wmf、.emf、.jpg、.gif等,提供的“文件名”可以含有路径。对于本例来说,“文件名”(包括路径)是:d:\pic\a.jpg,“对象”是Picture1。【答案】Picture 1.Picture=LoadPicture(”d:\pic\a.jpg“)例6 在窗体上画一个列表框、一个命令按钮和一个标签。程序运行后,在列表框中选择一个项目,然后单击命令按钮,即可将所选择的项目删除,并在标签中显示列表框当前的项目数,运行情况如图6-1所示。下面是实现上述功能的程序,请填空。Private Sub Form_Load()

List1.AddItem ”AAAAA“

List1.AddItem ”BBBBB“

List1.AddItem ”CCCCC“

List1.AddItem ”DDDDD“ End Sub Private Sub Command1_Click()

Dim L As Integer

L=______

If ind >= 0 Then

List1.RemoveItem______

Label1.Caption = ______

Else

MsgBox”请选择要删除的项目“

End If End Sub 【分析】 本例提供的程序包括两个事件过程,其中Form Load事件过程用来向列表框中添加项目,而Command1 Click事件过程删除列表框中被选择的项目,并在标签中显示列表框当前的项目数,需要填空的代码在这个事件过程中。

为了删除列表框中指定的项目,可以使用RemoveItem方法,其格式为:

列表框.RemoveItem索引值其中的“索引值”是项目的地址,列表框中的项目从0开始计数,被选择的项目的索引值就是列表框的ListIndex属性。为了删除列表框中被选择的项目,必须先确定该项目的索引值,即列表框的ListIndex属性,然后就可以用RemoveItem方法将其删除。本题中的第一个空是被选择的项目的索引值,应为List1.ListIndex,并把它赋给变量L。第二个空是RemoveItem方法的参数,即“索引值”,由于该值已保存在变量L中,因此应填入L。第三个空是列表框中当前的项目数,它就是列表框的ListCount属性。【答案】List1.ListIndex

L

List 1.ListCount 例7 在窗体上画一个图片框、一个垂直滚动条和一个命令按钮(标题为“设置属性”),通过属性窗口在图片框中装入一个图形,图片框的宽度与图形的宽度相同,图片框的高度任意。编写适当的事件过程。程序运行后,如果单击命令按钮,则设置垂直滚动条的属性如下:

Min

Max

2400

LargeChange

200

SmallChange

之后就可以通过移动滚动条上的滚动框来放大或缩小图片框。

【分析】 本例要求程序实现两个方面的功能,其一是当单击命令按钮时设置滚动条的几个属性;其二是当移动滚动条的滚动框时扩大或缩小图片框的高度。第一个功能可以通过下面的事件过程来实现:

Private Sub Command1_Click()

VScroll1.Min = 100

VScroll1.Max = 2400

VScroll1.LargeChange = 200

VScroll1.SmallChange = 20 End Sub 第二个功能可以用下面的事件过程来实现: Private Sub VScroll1_Change()

Picture 1.Height = VScroll 1.Value End Sub 例8 在窗体上画两个命令按钮和一个标签,把两个命令按钮的标题分别设置为“缩小”和“扩大”;把标签的AutoSize属性设置为True,标题设置为“计算机等级考试”。程序运行后,如果单击第一个命令按钮,则可使标签中标题的字体大小缩小1.2倍;如果单击第二个命令按钮,则可使标签中标题的字体大小扩大1.2倍。

【分析】 命令按钮和标签的标题以及标签的AutoSize属性可以通过属性窗口设置,也可以在运行期间设置。程序运行后,首先执行Form_Load事件过程,可以把设置标题和AutoSize属性的代码放在该事件过程中。根据题意,当单击两个命令按钮时,分别使得标签中的字体缩小或扩大1.2倍,而字体的大小可以通过标签的FontSize属性来设置。因此,如果想使标签中的字体缩小1.2倍,则可执行下面的语句:

Label 1.FontSize=Label 1.FontSize/1.2 而如果想使标签中的字体扩大1.2倍,则应执行的语句为:

Label1.FontSize = Label1.FontSize * 1.2程序如下:

Private Sub Form Load()

Label1.Caption=”计算机等级考试“

Command1.Caption=”缩小“

Command2.Caption=”扩大“

Label1.AutoSize=True

End Sub

Private Sub Command1_Click()

Label1.FontSize = Label1.FontSize / 1.2 End Sub Private Sub Command2_Click()

Label1.FontSize = Label1.FontSize * 1.2 End Sub

第六章 VB控制结构例题

例1 已知一个人出生的年、月、日分别存放在变量y0、m0、d0中,当前日期的年、月、日分别存放在变量y1、m1、d1中,这个人的实足年龄存放在变量age中。则以下可以正确计算实足年龄的程序段是

A.

B.

age = y1-y0

age = y1-y0 If m1 < m0 Then

If m1 < m0 Or d1<d0 Then

age = age-1

age = age-1 ElseIf d1 < d0 Then

End If

age = age-1 End If C.

D.

age = y1-y0

age = y1-y0 If m1 < m0 Then

If m1 < m0 Then

age = age-1

age = age-1 End If

End If If m1 = m0 And d1< d0 Then

If d1 < d0 Then

age = age1 End If

End If 【分析】 所谓实足年龄,指的是实际到达的年龄,即当前的年、月、日都分别大于或等于出生的年、月、日。例如一个人的出生日期是1964年8月23日,当前日期为2002年8月23日,则这个人的实足年龄就是38岁;如果当前日期为2002年7月或2002年8月22日,则这个人的实足年龄就是37岁。

这就是说,为了计算一个人的实足年龄,需要进行以下操作:

(1)计算出y1-y0,并把结果赋给age。

(2)如果m1<m0,则实足年龄为age-1。

(3)否则,如果m1=m0但d1<d0,则实足年龄为age-1。

(4)否则,如果m1=m0且d1>=d0,则实足年龄为age。

可以看出,为了计算实足年龄,可以先计算age=y1-y0,如果m1<m0,则不再考虑d1是否大于d0,实足年龄=age-1;如果m1=m0,则还要看d1是否大于等于d0,如果小于,则实足年龄=age-1,否则实足年龄=age。

根据上面的分析,答案A显然是不正确的,因为在测试m1<m0后,就没有必要再测试d1是否大于d0。答案B和D类似,只单独测试月或日,不能得到正确结果,只有答案C正确地描述了上面所分析的情况。【答案】 C 例2 在窗体上画一个命令按钮和一个文本框,然后编写如下程序: Private Sub Command1_Click()

a= 10

t=”旅游景点:“_

&IIf(a>3,”长城“,”“)_

&IIf(a<8,”故宫“,”“)_

&IIf(a<>7,”颐和园“,”“)

Text1.Text = t End Sub 程序运行后,单击命令按钮,则在文本框中显示的内容是 A.旅游景点:长城故宫 B.旅游景点:长城颐和园 C.旅游景点:颐和园 D.旅游景点:故宫 【分析】 IIf函数有三个参数,其中第一个参数是一个Boolean值,如果该参数的值为True,则函数的返回值为第二个参数;如果第一个参数的返回值为False,则函数的返回值为第三个参数。该例中变量a的值为10,在第一个IIf函数中,第一个参数为True,其返回值为第二个参数,即“长城”;在第二个IIf函数中,第一个参数为False,其返回值为第三个参数,即空字符串;而在第三个IIf函数中,第一个参数为True,其返回值为第二个参数,即“颐和园”。变量t的值为: ”旅游景点:“&”长城“&”颐和园“ 【答案】 B 例3 假定有下面的程序段: For i = 1 To 3

For j = 1 To i

For k = j To 3

Print ”i = “;i, ”j = “;j, ”k = “;k

Next k

Next j Next i 这是一个三重循环程序,在这个程序中,外层、中层和内层循环的循环次数是 A.

3、6和14 B.

3、8和16 C.

3、4和1

2D.

3、9和18 【分析】 在多重循环中,外层循环变化一次,内层循环从头到尾执行一遍。该题是一个三重循环,而且中层循环变量的终值和内层循环变量的初值是随上一层循环的循环变量的变化而变化的,因此需要逐层加以计算后累加出各层的循环次数。模拟计算机的计算过程,计算各层的循环次数如下:(1)外层循环:i=1 To 3,循环次数为3(2)中层循环:当i=1时,j=1 To 1,循环1次

当i=2时,j=1 To 2,循环2次

当i=3时,j=1 To 3,循环3次 中层循环的循环次数为6(3)内层循环:当j=1时,k=1 To 3,循环3次

当j=1时,k=1 To 3,循环3次

当j=2时,k=2 To 3,循环2次

当j=1时,k=1 To 3,循环3次

当j=2时,k=2 To 3,循环2次

当j=3时,k=3 To 3,循环1次 内层循环的循环次数为14 【答案】 A 例4 假定有以下当循环:

While Not条件

循环体

WEnd

则执行循环体的“条件”是

A.True

B.1

C.False

D.-1 【分析】 在当循环中,只有当While后面的“条件”为True时才能进入循环,执行循环体。也就是说,在 While条件 中,只有“条件”为True才能执行循环体。本题在“条件”前加了一个取反运算符Not,要想执行循环体,必须对“条件”本身求反,即“条件”必须为False。【答案】 C 例5 阅读下面的程序: Private Sub Form_Click()

Dim m, n As Integer

m=InputBox(”请输入M的值“)

m=Val(m)

m1=m

n=InputBox(”请输入N的值“)

n=Val(n)

n1=n

Do Whilen<>0

remin = rn Mod n

m=n

n = remin

Loop

Print m1, n1, m End Sub 程序运行后,单击窗体,在输入对话框中分别输入16和24,则程序在窗体上的输出结果为 A.16 24 4 B.16 24 8 C.24 16 6 D.24 16 8 【分析】 本题提供的是用“辗转相除法”求两个整数的最大公约数的程序。一般来说,假定有两个整数m和n(m>n),把m作为被除数,n作为除数,相除后余数为r。如果r不等于0,则令m=n,n=r,再进行一次除法运算(以新的m作为被除数,n作为除数),得到新的r。如果r仍不等于0,则重复上述过程,直到r=0为止,此时的n就是两个数的最大公约数。

在本题的Do While-Loop循环中,通过辗转相除求最大公约数,循环结束的条件是相除后余数为0,如果不为0,则一直“除”下去。这里用Mod运算符求余数,较大的整数作为被除数或者较小的整数作为被除数都可以得到正确结果,但整除的次数可能会不一样。

例如,假定有两个数24和16,先把24作为被除数,16作为除数,相除后余数为8。再把原来的除数16作为下一次的被除数,将上一次得到的余数8作为下一次的除数,相除后余数为0。此时最后一次的除数8就是所求的最大公约数。

在本题的输入中,先输入16,再输入24,求出的最大公约数仍为8。

【答案】 B 例6 阅读下面的程序: Private Sub Form_Click()

Dim Check, Counter

Check = True

Counter = 0

Do

Do While Counter < 20

Counter = Counter + 1

If Counter = 10 Then

Check = False

Exit Do

End If

Loop

Loop Until Check = False

Print Counter, Check End Sub 程序运行后,单击窗体,输出结果为 A.15 0

B.20-1 C.10 True

D.10 False 【分析】 这是一个二重循环,内层和外层都是Do循环。在内层循环中,执行循环体的条件是Counter小于20,由于Counter的初值为0,因此执行循环体。在循环体中,每次循环Counter增1,达到10后,把Check变量设置为False,同时执行Exit Do,退出内层循环。外层循环执行的条件是,变量Check的值是True。如果Check为False,则退出外层循环,输出结果,结束程序。由于在退出内层循环时,Check已被设置为False,因此退出内层循环后立即就可以退出外层循环。退出两层循环后,Counter和Check的值没有发生任何改变,与退出内层循环时相同,分别为10和False。【答案】 D 例7 在上面例题6的二重循环中,如果把外层循环中的Until关键字改为While,要求输出结果相同,请填空。Do

Do While Counter< 20

Counter = Counter + 1

If Counter = 10 Then

Check = False

Exit Do

End If

Loop Loop While _____ 【分析】 在Do-Loop循环中,Until关键字的含义是“直到条件变为真之前”执行循环体,而While关键字正好相反,是“当条件为真时”执行循环体。也就是说,这两个关键字后面的条件是相反的,只要在条件前加上取反运算符Not,或者条件从False改为True,就可以用While替换Until,并且反之亦然。

【答案】 Not Check=False或Check=True 例8阅读程序:

Private Sub Form_Click()

Dim i As Integer, sum As Integer

For i = 2 To 10

If i Mod 2 <> 0 Then

Print i

Else

sum = sum + i

End If

Next i

Print sum End Sub 程序运行后,单击窗体,在窗体上的输出结果是_____。

【分析】 本题For循环的循环变量的初值为2,终值为10,步长为1。在循环体内,判断循环变量的值是否为偶数,如果是,则将该值累加到变量sum,否则输出循环变量的值。不难看出,运行该程序后,在循环体内输出的是奇数,而累加的是偶数。在循环体外,输出偶数的累加和。【答案】例9 阅读程序:

Private Sub Form_Click()

Dim num As Integer, digit As Integer

num= InputBox(”“)

While num <> 0

digit =num Mod 10

num = num 10

Print digit

Wend End Sub 程序运行后,如果从键盘上输入9876,则输出结果为_____。

【分析】 本题使用了当循环,循环执行的条件是num不等于0。在循环体内,先用Mod运算符求出输入的数num的余数,接着用10对该数进行整除,把得到的商赋给num,最后输出余数。然后对整除后的num重复上述过程,直到num为0,结束循环。

在循环内,digit存放的是num的个位数,而每次整除后,num都要去掉个位数,而输出的也是个位数。例如,假定输入的是9876,则循环的执行过程如下:

digit = 9876 Mod 10 = 6

num= 9876 10 = 987 14

Print digit

输出6 由于num不等于0,重复上述过程:

digit = 987 Mod 10 = 7

num= 987 10 = 98

Print digit

输出7 num不等于0,重复上述过程:

digit = 98 Mod 10 = 8

num= 98 10 = 9

Printdigit 输出8 num不等于0,重复上述过程:

digit = 9 Mod 10 = 9

num=9 10=0

Print digit

输出9 num等于0,结束循环。【答案】

例10 以下程序的功能是,从键盘上输入若干学生的成绩,统计并输出最高分数和最低分数,当输入负数时结束输入,请填空。Private Sub Command1_Click()

Dim x As Single

Dim amax As Single, amin As Single

x=InputBox(”请输入分数“)

amax = x

amin = x

Do While______

If x > amax Then

amax = x

End If

If______Then

amin = x

End If

x=InputBox(”请输入分数“)

Loop

Print amax, amin End Sub 【分析】 本题需要填两个空。第一个空是结束循环的条件。根据题目要求,在循环体内,需要反复地输入每个学生的分数,只有当输入负数时才结束输入,即退出循环。也就是说,结束循环的条件就是输入的数是负数,即小于0。【答案1】 x>=0 或Not x<0

由于本题要求输出输入的最高分数和最低分数,其中最高分数通过循环中的第一个条件语句来统计,放在变量amax中,类似地,最低分数通过循环中的第二个条件语句来统计,放在变量amin中。

【答案2】x<amin 或 Not x>=amin 例11 给定三角形的三条边长,计算三角形的面积。编写程序,首先判断给出的三条边能否构成三角形,如可以构成,则计算并输出该三角形的面积,否则要求重新输入。当输入-1时结束程序。【分析】 从几何学可知,三角形的两边之和大于第三边。因此,如果输入的三角形的三条边中两边之和小于或等于另一边长,则不能构成三角形。在这种情况下,给出适当的信息,并要求重新输入。如果能构成三角形,则输出该三角形的面积。程序如下:

Private Sub Form_Click()

Dim a, b, c, s, t As Single

a=InputBox(”请输入A边的边长“)

a=Val(a)

If a<0 Then End

b=InputBox(”请输入B边的边长“)

b=Val(b)

c=InputBox(”请输入C边的边长“)

c=Val(c)

If a+b<=c Or b+c<=a Or c+a<=b Then

MsgBox”所输入的值不能构成三角形,请重新输入“,”“

Exit Sub

End If

s=(a+b+c)/2

t = Sqr(s *(sb)*(s1)* 2 +j

Next j

Next i

For i=3 To 4

For j = 3 To 4

Print Arr(j, i);

Next j

Print

Next i End Sub 程序运行后,单击窗体,输出结果是 A.5 7 6 8

B.6 8 7 9 C.7 9 8 10

D.8 10 8 11

【分析】本例主要测试二维数组的输入输出操作。由于程序的开头有Option Base 1语句,因此所定义的Arr是一个4行4列的二维数组。在第一个二重For循环中,根据内层和外层循环变量的变化对数组的每个元素赋值,其计算公式为:(i-1)*2+j,其中i和j分别为外层和内层循环变量。用这个公式计算的数组Arr各元素的值如下: Arr(1,1)= 1 Arr(1,2)= 2 Arr(1,3)= 3 Arr(1,4)= 4 Arr(2,1)= 3 Arr(2,2)= 4 Arr(2,3)= 5 Arr(2,4)= 6 Arr(3,1)= 5 Arr(3,2)= 6 Arr(3,3)= 7 Arr(3,4)= 8 Arr(4,1)= 7 Arr(4,2)= 8 Arr(4,3)= 9 Arr(4,4)= 10 在第二个二重循环中,用Print方法输出Arr数组4个元素的值,即Arr(3,3)、Arr(3,4)、Arr(4,3)和Arr(4,4),从上面的赋值情况可以看出,这4个元素的值分别是7、8、9、10。【答案】C 例4 在窗体上画一个文本框,然后编写如下程序: Option Base 1 Private Sub Form_Click()Dim Arr(10)As Integer

For i = 6 To 10

Arr(i)= i-3

Next i

Text 1.Text = Str(Arr(6)+ Arr(Arr(6)+ Arr(10)))End Sub 程序运行后,单击窗体,在文本框中显示的内容是_____。

【分析】在该例中,定义了一个一维数组Arr,并为其开辟了10个元素的空间,然后通过For循环为该数组的后5个元素赋值。不难看出,数组Arr后5个元素的值分别为3、4、5、6、7。最后一个语句是为文本框的Text属性赋值,这个值是Arr数组的两个元素的和,其中第一个元素是Arr(6),即3;第二个元素的下标是数组Arr第六个元素(3)和第十个元素(7)的和,即Arr(3+7)=Arr(10),而该元素的值为7。因此

Arr(6)+Arr(Arr(6)+Arr(10))=3+Arr(10)=3+7=10 【答案】10 例5 以下程序的功能是,产生10个0~1 000的随机整数,放入数组Arr中,然后输出其中的最大值。请填空。Option Base 1 Private Sub Form_Click()

Dim Arr(10)As Integer

Dim Max As Integer

Randomize

For i= 1 To 10

Arr(i)= Int(Rnd * 1000)

Next i

Max=____

For i = 2 To 10

If____Then

Max = Arr(i)

End If

Next i

Print Max End Sub 【分析】该例用Int(Rnd*1000)产生0~1 000的随机整数,通过一个For循环把这些整数放入数组Arr中。变量Max用来存放数组的最大值。为了求出数组的最大值,首先应把数组的第一个元素(即Arr(1))赋给变量Max,然后进入循环,把Max依次与数组中的其他各元素进行比较,如果某个元素比Max大,就把该元素的值赋给Max。循环结束后,变量Max中存放的就是数组的最大值。最后输出Max的值。【答案】Arr(1)

Arr(i)>Max 例6 以下程序的功能是,程序运行后,单击命令按钮,输出结果为: 1 4 7 2 5 8 3 6 9 请填空。Private Sub Command1_Click()

Dim Arr(3,3)As Integer

For i= 1 To 3

Forj = 1 To 3

Arr(i,j)=_____

Print Arr(i,j);

Next j

Print

Next i End Sub 【分析】该例输出的是一个3行3列的二维数组,数组中的各元素通过外层循环变量i和内层循环变量j产生,i用来控制数组Arr的行的变化,而i用来控制数组的列的变化。每执行一次外层循环,产生并输出数组的一行。第一次执行外层循环时,产生并输出的一行为1 4 7,即内层循环变量为1时输出1,内层循环变量为2时输出4,内层循环变量为3时输出7。因此,可以根据循环变量i和j的变化,用一个公式来产生和输出指定的数组。【答案】i+(j-1)*3

或(i-1)+j*3-2

第八章 函数与过程

例1 编写如下通用过程:

Sub Proc(x As Single,y As Single)

t=x

x=t/y

y = t Mod y End Sub 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click()

Dim a As Single

Dim b As Single

a=5

b=4

Proc a, b

Print a, b End Sub 程序运行后,如果单击命令按钮,则输出结果为 A.5

4B.1.25

1C.4 5 D.1.25 5 【分析】 该例中的Proc过程有两个参数,均为单精度类型;由于没有By Val关键字,参数使用的是引用(即传地址)方式。也就是说,实参a、b与形参x、y使用的是相同的地址。因此,由过程Proc计算出来的x、y的值实际上与实参a、b的值相同。在事件过程中,执行Proc a,b语句后,就把a(值为5)、b(值为4)的值分别传送给过程Proc中的x、y,使得x=5,y=4。在过程中,首先把x的值赋给t,即t的值为5,然后执行: x=t/y=5/4=1.25 y=t mod y=5 Mod 4=1 【答案】 B 在上面的程序中,如果把过程Proc的参数改为传值方式,结果会如何呢?在这种情况下,事件过程中的实参与通用过程中的形参没有任何关系,输出结果仍为5 4。例2 阅读程序:

Function func(n As Integer)As Integer

Sum = 0

For i= 1 To n

Sum = Sum +(i + 1)* i

Next i

func = Sum End Function Private Sub Command1_Click()

Dim a As Integer

a=5

s = func(a)

Print s End Sub 程序运行后,单击命令按钮,输出结果为 A.80 B.60 C.70 D.15 【分析】 该例调用一个Function过程Func,该过程只有一个参数,类型为整型,返回值也为整型。过程的调用十分简单,关键是要搞清楚过程func的功能。从循环 For i= 1 To n Sum = Sum +(i + 1)* i Next i 可以看出,该过程的功能是计算 1*2+2*3+3*4+…+(n+1)*n

在调用过程时,实参a的值为5,即上式中的n=5。因此返回的值为: 1*2+2*3+3*4+4*5+5*6=70 【答案】 C 例3 阅读下面的程序:

Function Func(x As Integer, y As Integer)As Integer

Dim n As Integer

Do While n <= 4

x=x+y

n=n+1

Loop

Func = x End Function Private Sub Command1_Click()

Dim x As Integer, y As Integer

Dim n As Integer, z As Integer

x=1

y=1

For n = 1 To 6

z = Func(x, y)

Next n

Print z End Sub 程序运行后,单击命令按钮,输出结果是 A.16 B.21 C.26 D.31 【分析】 过程Func有两个参数,使用的是引用方式,参数和返回值均为整型,在命令按钮事件过程的For循环中调用Func过程,共循环6次,每次循环调用一次。两个过程中使用的变量(包括参数)基本相同,但由于是局部变量,不会发生冲突。无论在事件过程还是通用过程中,y的值始终保持不变,总等于1。在Func过程中,Do-Loop循环共执行5次,通过变量n控制(从0到4),每次都执行x=x+1,因此,每调用一次Func过程,都使得x=x+5,并把返回值赋给事件过程中的变量z。6次调用中,循环变量n及返回值z的结果如下:

n

z

2321

【答案】 D 例4 编写如下通用过程:

Sub proc(By Val num As Long, ByRef ren As Long)

Dim k As Long

k=l

hum = Abs(num)

Do While num

k = k *(num Mod 10)

num= num 10

Loop

ren = k End Sub 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click()

Dim n As Long, r As Long

n=InputBox(”请输入一个整数“)

n = CLng(n)

proc n, r

Print r End Sub 程序运行后,单击命令按钮,在输入对话框中345,输出结果是

【分析】 过程proc有两个参数,其中第一个参数使用的是传值方式(带有关键字By Val),第二个参数使用的是引用方式(带有关键字ByRef,可以省略)。该过程的功能是,通过取余(Mod)和整除(\)运算符求出一个整数的各位数字,将这些数字相乘,并把乘积赋给参数ren。在事件过程中,用InputBox函数输入一个数,然后调用过程proc,如果输入的数是345,则结果为3*4*5=60。注意,调用语句 proc n,r有两个实参,其中r用来存放过程的返回值。Function过程通常有一个返回值,Sub过程也可以有返回值,并且可以有多个返回值,这些返回值放在形参中。在这种情况下,存放返回值的形参必须使用传地址方式,否则得不到正确结果。【答案】 60 例5 阅读程序: Option Base 1 Dim arr2()As Integer Private Function FindMax(a()As Integer)As Integer

Dim Start As Integer

Dim Finish As Integer, i As Integer

Start = Lbound____

Finish = UBound____

Max =____

For i = Start To Finish

If a(i)> Max Then Max = ______

Next i

FindMax = Max End Function Private Sub Command1_Click()

Dim arr1

arr1 = Array(12, 435, 76, 24, 78, 54, 866, 43)

b = UBound(arr1)

ReDim arr2(___)As Integer

For i= 1 To b

arr2(i)= CInt(_____)

Next i

M = FindMax(arr2())

Print”最大值是:“;M End Sub 【分析】 数组在事件过程中定义,由于使用了Array函数,必须把数组变量定义为变体类型,但是,过程FindMax中的形式参数是整型,因此必须把数组转换为整型,否则在调用时将会产生“类型不匹配”错误。此外,用Array函数定义的数组不指定上界,只能通过UBound函数得到其上界。在窗体层定义了一个动态数组arr2,其上界在事件过程中给出并重新定义。因此,事件过程中的第一个空应为数组上界b,第二个空应为变体类型数组arr1(i)。在通用过程中,需要知道数组的上界和下界,分别存放在变量Start和Finish中,然后把数组的第一个元素放在变量Max中,并把该变量与数组中的每个元素相比较,如果数组元素大于该变量,则用该元素的值取代Max中的值。

【答案】 事件过程中的两个空分别应填入: b arr(i)通用过程中的4个空分别应填入:(a)(a)a(Start)或a(1)a(i)回该数组的最大值。请填空。

例6 用随机数函数Rnd生成一个8行8列的数组(各元素值在100以内),然后找出某个指定行内值最大的元素所在的列号。要求:查找指定行内值最大的元素所在列号的操作,通过一个过程来实现。【分析】 求某一指定行中值最大的元素所在列号的Function过程代码如下: Function Max(b()As Integer, row As Integer)

m = b(row, 1)

col = 1

For i = 2 To UBound(b, 2)

If b(row, i)> m Then

Let m = b(row, i)

col = i

End If

Next i

Max = col End Function 该过程有两个参数,其中第一个参数是数组,第二个参数是数组中指定行的行号。在这个过程中,首先把指定行的第一列的值赋给一个变量,其列号为1,然后把该值与其后各列的值进行比较,如果比该值大,则用较大的值取代,同时记下其列号。编写窗体的Click事件过程: Private Sub Form_Click()

Randomize

Dim A(1 To 8, 1 To 8)As Integer

Dim row As Integer

For i = 1 To 8

For j = 1 To 8

A(i, j)= Int(Rnd * 100)

Next j

Next i

Print”所生成的数组为:“

For i = 1 To 8

For j = 1 To 8

Print A(i, j);

Next j

Print

Next i

Do

row = InputBox(”请输入指定的行号:“)

Loop Until row >= 1 And row <= 8

col = Max(A(), row)

Print

Print”第“;row;”行中最大元素所在列号为:“;col End Sub

该过程首先用随机数函数Rnd生成一个8行8列的数组,然后要求输入一个行号,程序将输出该行中最大值所在的列号。程序运行后,单击窗体,在输入对话框中输入一个行号,程序将输出该 行中值最大的元素所在的列号。

第九章 菜单与对话框

例1 Windows风格的对话框上通常没有最大化按钮和最小化按钮,为使标题栏上的这两个按钮消失,而保留其他按钮,设置窗体属性时,正确的是

A. ControlBox=True、MaxButton=False、MinButton=True B. ControlBox=False、MaxButton=True、MinButton=True C. ControlBox=True、MaxButton=False、MinButton=False D. ControlBox=False、MaxButton=False、MinButton=False 【分析】 ControlBox、MaxButton和MinButton属性都影响窗体标题栏上的按钮,其中ControlBox为False,则标题栏上的所有按钮消失,这显然与题意不符,所以B.和D.肯定是错误的。MaxButton和MinButton属性分别决定最大化按钮和最小化按钮是否显示,只有当二者都为False时,这两个按钮才都不显示。【答案】 C 例2 设通用对话框控件的名称为CD1,希望在打开文件对话框中的“文件类型”列表中包含:所有文件、Word文档和文本文件这3类文件,在程序中设置Filter属性时正确的是 A.CD1.Filter=“所有文件|Word文档|文本文件”

B.CD1.Filter=“所有文件|*.*|Word文档|*.doc|文本文件|*.txt” C.CD1.Filter=所有文件|*.*|Word文档|*.doc|文本文件|*.txt D.CD1.Filter=“*.*|所有文件|*.doc|Word文档|*.txt |文本文件”

【分析】 通用对话框的Filter属性的值必须是字符型,在VB设计模式下,从属性窗口输入Filter的值时,可以直接输入字符串,但在程序中为Filter属性赋值时,必须添加字符串的定界符,所以C.一定是错误的。

Filter属性中字符串的格式应该是“类型描述1|过滤器1|类型描述2|过滤器2|„„”,其中“类型描述”是在打开或保存文件对话框的“文件类型”列表中显示的一行文本,是向操作者表示的文件类型,操作系统并不能识别类型描述,操作系统可以识别的是它后面的“过滤器”,“过滤器”一般由通配符和文件的扩展名组成,是操作系统可以识别的与前面的“类型描述”匹配的文件类型。

对于答案A.,在对话框的“文件类型”列表中只显示“所有文件”和“文本文件”两行,操作系统把“Word文档”理解为“所有文件”的文件类型(即“过滤器”),事实上这种文件类型并不存在,因此对话框的文件列表中只有文件夹,而不会有任何其他文件。

答案D.中类型描述与过滤器的位置颠倒了,结果是在“文件类型”列表中显示*.*、*.doc、*.txt这3行内容,而与它们对应的过滤器都是错的,因此不管选择哪种文件类型,对话框中都只显示文件夹,而没有任何文件名。

只有答案B.才符合Filter属性要求的格式。【答案】 B 例3 在使用通用对话框控件时,如果同时设置了以下属性:DefaultExt=“doc”,FileName=“c:filel.txt”,Filter=“应用程序|*.exe”,则显示打开文件对话框时,在“文件类型”下拉列表中的默认文件类型是

A.应用程序(即*.exe)B.*.doc C.*.txt D.不确定。【分析】DefaultExt只在FileName中无扩展名部分时才有效,并且只影响FileName中的扩展名部分,与对话框中的默认文件类型无关,所以B.是错误的;FileName中的扩展名部分也不影响对话框中默认的文件类型,所以C.也是错误的;当没有设置FilterIndex属性时,Filter中的第一个文件类型就成为对话框的默认文件类型,它决定了在对话框的文件列表中显示哪一类文件,所以正确答案应该是A.。

需要说明的是,由于FileName中含有文件扩展名部分,虽然对话框的默认文件类型是“应用程序”(*.exe),但不会改变FileName中的扩展名,FileName中的内容仍然是“c:filel.txt”,除非在对话框中选择了其他文件名。【答案】 A 例4 设计一个窗体Form1,其中,文本框的名称为Text1。要求单击“格式”按钮,在弹出对话框中选定单选按钮和复选框后,单击“确定”按钮,则可以对Form1的Text1文本框中的文字进行相应的设置,如果单击“取消”按钮,则在对话框中所做的设置无效。“格式”对话框中的3个单选按钮的名称依次是Op1、Op2、Op3,两个复选框的名称依次是Ch1、Ch2。填空完成下面的事件过程。“格式”按钮的Click事件过程: Private Sub C1_Click()

[1] End Sub “格式”对话框(Form2窗体)中“确定”按钮的Click事件过程: Private Sub Command1_Click()

If Op 1.Value Then

Form1.Text1.FontName =“宋体”

ElseIf Op2.Value Then

Form 1.Text 1.FontName =“黑体”

ElseIf Op3.Value Then

Form1.Text1.FontName =“隶书”

End If

If [2] Then

Form1.Text1.FontItalic = True

Else

Form1.Text1.FontItalic = False

End If

If [3] Then

Form1.Text1.FontUnderline = True

Else

Form1.Text1.FontUnderline = False

End If

Unload Form2 End Sub “格式”对话框中“取消”按钮的Click事件过程: Private Sub Command2_Click()

Unload Form2 End Sub 【分析】 根据题意,在单击“格式”按钮后,应该弹出Form2窗体,使用Show方法可以加载并显示Form2窗体,如果使用Load方法只能加载Form2窗体,加载后还要用Show方法显示该窗体。所以[1]处应填写Form2.Show。

按照对话框的一般风格,单击“确定”或“取消”按钮都可以关闭对话框,但单击“取消”按钮将放弃在对话框中所做的选择,所以修改Form1的文本框格式的程序应放在“确定”按钮的Click事件过程中,判断对话框中各种控件的Value属性,来决定是否修改文本框的相关属性。

在[2]所在的IF语句中,Then子句中把Text1的斜体属性设置为True,而对话框中Ch1复选框的标题是“斜体”,说明选中这个复选框应执行第一个IF语句中的Then子句,所以[2]处应填写Ch1.Value=1。同样道理,在[3]处应填写Ch2.Value=1。

【答案】 [1]Form2.Show或Form2.Load:Form2.Show

[2]Ch1.Value=1

[3]Ch2.Value=1 例5 设计一个名称为Form1的窗体,含一个标题为“登录”的命令按钮,单击此按钮,则打开“登录”对话框,正确口令为字符串“123456”,若单击“确定”按钮,则检查口令,如果口令正确,则在Form1窗体上显示“登录成功”并关闭对话框,否则弹出错误提示。允许输入3次口令,输入口令的文本框的名称为Text1,显示输入的次数的文本框的名称为Text2,Text2不允许键盘输入。如果3次输入都是错误的,则再次输入时,弹出提示,然后焦点定位到“退出”按钮上。单击“退出”按钮则在Form1窗体上显示“登录失败”并关闭对话框。对话框中“确定”按钮的名称为C1,“退出”按钮的名称为C2。编写适当的事件过程实现本题的功能。【分析】(1)建立控件:创建Form1、Form2,并在Form2窗体上画出两个文本框、两个命令按钮和两个标签。

(2)设置属性:根据题意,文本框Text1的PasswordChar属性应设置为“*”;因Text2不允许键盘输入,Text2的Locked属性设置为True;Form2的标题设置为“登录”,ControlBox属性设置为False。

(3)编写事件过程

Form1上“登录”按钮的Click事件过程:

Private Sub C1_Click()

Form2.Show

End Sub Form2中“确定”按钮和“退出”按钮的Click事件过程:

Private Sub C 1_Click()

Text2.Text = Val(Text2.Text)+ 1

If Text1.Text = ”123456“ Then

Form1.Print”登录成功“

Unload Me

ElseIf Val(Text2.Text)<3 Then

MsgBox”第“&Text2.Text&”次口令错误,请重新输入“

Else

MsgBox Text2.Text&”次口令都错误,请退出“

Text1.Locked = True

End If

End Sub

Private Sub C2_Click()

Form1.Print”登录失败“

Unload Me

End Sub

在“确定”按钮的Click事件过程中,每单击此按钮一次,Text2中的数加1,从而记录输入口令的次数。如果在Text1中输入的是“123456”,表示口令正确,则在Form1上输出“登录成功”,然后卸载Form2如果口令错误,则要判断Text2中的数是否小于3,如果小于3,就用MsgBox对话框给出提示,否则,把Text1锁住(Locked=True),不允许再次输入口令。

当输入口令3次都错误,不允许再次输入,如果把输入光标移到Text1上,应弹出图12-5所示的对话框。可以在Text1获得焦点时实现这一功能,所以编写Text1的GotFocus事件过程如下: Private Sub Text1_GotFocus()

If Val(Text2.Text)>= 3 Then

MsgBox”口令错误超过3次,请退出“

C2.SetFocus

End If End Sub

第十章 多窗体例题分析

例1 下列操作中不能向工程中添加窗体的命令是 A.执行“工程”菜单中的添加窗体命令 B.单击工具栏上的“添加窗体”

C.右击窗体,在弹出的菜单中选择“添加窗体”命令

D.右击工程资源管理器,在弹出的菜单中选择“添加”命令,然后在下一级菜单中选择“添加窗体”命令

【分析】 在建立VB应用程序时,自动创建一个窗体。在需要建立多窗体程序时,可以使用多种方式向工程文件中添加窗体。可以使用“工程”菜单或工具栏中相应的按钮执行添加窗体的命令。另外,在工程资源管理器窗口中,单击鼠标右键,弹出的快捷菜单中有“添加窗体”命令。答案A.、B.、D.对应上述三种情况。按答案C操作不能完成添加窗体的操作。【答案】 C 例2 当一个工程含有多个窗体时,其中的启动窗体是 A.启动Visual Basic时建立的窗体 B.第一个添加的窗体 C.最后一个添加的窗体

D.在“工程属性”对话框中指定的窗体

【分析】 对于多窗体程序,只有一个窗体为启动窗体。如果没有特别指定启动窗体,则启动窗体为创建VB程序时建立的第一个窗体。也可以通过“工程”菜单的“工程属性”窗口指定启动窗体。显然,C不是正确答案。答案B中所提到的窗体是第一个添加的窗体,而不是建立工程文件时建立的第一个窗体。【答案】 D 例3 Visual Basic应用程序主要由____、____和______等三种模块组成。【分析】 本题要求掌握构成Visual Basic应用程序的构成和模块类型。VB的工程文件主要包含三种类型的模块:标准模块、窗体模块和类模块。【答案】 标准模块 窗体模块 类模块

例4 为了显示一个窗体,所使用的方法为____;而为了隐藏一个窗体,所使用的方法为_____。【分析】 显示窗体所使用的方法是Show,隐藏窗体所使用的方法是Hide方法。【答案】 Show Hide 例5 在工程中添加窗体的方法有三种,分别是____、______和_______。

【分析】 创建VB的工程文件时,自动建立一个窗体。在设计多重窗体应用程序时,需要添加新的窗体。向现有的工程文件中添加窗体的方法有:在“工程资源管理器”窗口中单击鼠标右键,在弹出的快捷菜单中选择“添加窗体”命令;在“工程”菜单中选择“添加窗体”命令;或在标准工具栏中单击■按钮(添加窗体按钮)。上述三种方法都可以向工程文件中添加新的窗体。【答案】

在“工程资源管理器”窗口中执行“添加窗体”命令 在“工程”菜单中选择“添加窗体”命令 在标准工具栏中单击■按钮

例6 启动窗体在_____对话框中指定,为了打开该对话框,应执行_____菜单中的_______命令。【分析】 一个VB的工程文件可以包含多个窗体文件及其他类型的文件。运行VB程序时的启动窗体可以由设计者指定。指定启动窗体的操作可以在“工程”菜单中的“工程属性”窗口中进行。在“工程属性”窗口中,对应于“启动对象”的列表框中列出了当前工程文件中所有的窗体名称,可以从中指定一个作为启动窗体。缺省情况下,创建工程文件时建立的第一个窗体为启动窗体。【答案】 工程属性 工程

<工程名>属性

例7 全局变量必须在_______模块中定义,所使用的语句为________。

【分析】 VB提供了全局变量、模块级变量和局部变量的定义和使用。全局变量的作用域是整个工程,可以在工程文件的每个模块及每个过程中使用。全局变量必须在标准模块的声明部分声明,并且只能使用Public或Global语句声明。在标准模块中用Private或Dim声明的变量的作用域为该模块,不能被工程文件中的其他模块调用。【答案】 标准模块

Public或Global 例8 DoEvents语句的作用是_________。

【分析】 在程序运行执行闲置循环过程中,程序的控制权被系统占用。若要获得控制权,可以使用DoEvents语句。这样用户可以在获得系统的控制权后进行其他操作。【答案】 获得系统的控制权

第二部分 Visual Basic 考点习题及解答

一、对象及其操作

(一)、选择题

1决定一个窗体有无控制菜单的属性是

(A)MinButton

(B)Caption

(C)MaxButton

(D)ControlBox 2要使一个文本框具有水平和垂直滚动条,则应先将其MultiLine属性设置为True,然后再将 ScrollBar属性设置为:(A)O

(B)1

(C)2

(D)3 3要使文本框获得输入焦点,则应采用文本框控件的哪个方法?(A)GotFocus

(B)LostFocus(C)keypress

(D)SetFocus 4要想改变一个窗体的标题内容,则应设置以下哪个属性的值?(A)Name

(B)FontName(C)Caption

(D)Text 5能够改变窗体边框线类型的属性是

(A)Fontstyle

(B)Borderstyle(C)BackStyle

(D)Border 6能够获得一个文本框中被选取文本的内容的属性是

(A)Text

(B)Length

(C)SelText

(D)SelStart 7要使标签能够显示所需要的文本,则在程序中应设置其哪一属性的值?(A)Caption

(B)Text

(C)Name

(D)Autosize 8要使标签中显示的文本靠右显示,则应将其Alignment属性设置为(A)O

(B)1

(C)2

(D)3 9要把一个命令按钮设置成无效,应设置其哪一属性值?(A)Visible

(B)Enabled

(C)Default

(D)Cancel 10要使一个命令按钮成为图形命令按钮,则应设置其哪一属性值?(A)Picture

(B)Style

(C)DownPicture

(D)DisablePicture 11要使标签所在处透明显示背景,应把其Backstyle属性设置为(A)O

(B)1

(C)True

(D)False 12为了在按下回车键时执行某个命令按钮的事件过程,需要把该命令按钮的一个性设置为True,这个属性是:(A)Value

(B)Cancel

(C)Enabled

(D)Default

(二)、编程题

13在窗体上建立2个文本框(Name属性值分别为Text1和Text2)和2个命令按钮(Name属性分别为Command1和Command2),程序运行时,在Text1中输入文

本,单击Commandl命令按钮时,将Text1文本框中的值复制到Text2文本框中p 当单击Command2命令按钮时,退出程序。

14已知自由落体的位移公式为s=1/2gt2+v0t,其中v0为初始速度,g为重力加度, t为经历的时间,编写一程序,求位移量s。用2个文本框分别输入初始速度和经历的时间,单击一个命令按钮时,进行计算,并将运算结果在另一文本框显示。

15输入球体的半径,然后计算并输出球体的体积和表面积。已知球体的体积计算公式为v=4/3πr3,球的表面积公式为f=4πr2,此处的r为球体的半径。

要求:程序用一个文本框输入半径r,单击一个命令按钮时,进行计算,并将运算结 果即球的体积和表面积分别用2个文本框显示出来。参考答案:

(一)、选择题 D D

D

C

B

C A 8 B B B A

D

(二)、编程题

13分别编写两个命令按钮Command1和Command2的Click事件过程代码。程序代码如下: Private Sub Command1-click()Text2.Text =Text1.Text End Sub Private Sub Command2-Clicko End End Sub 14在窗体上添加3个文本框,第一个文本框(名称为Text1)用于输入初始速度vo 值;第2个文本框(名称为Text2)用于输入经历的时间,第3个文本框(名称为 Text3)用于显示计算的结果,即位移量。再向窗体中添加一个命令按钮(名称为 Commandl),编写命令按钮Command1的Click事件过程代码。程序代码如下: Private Sub Command1-Click()Dim v As Double,t As Double,s As Double 28 v=Val(Text1.Text)t =Val(Text2.Text)s =v*t+9.8*t*t/2 Text3.Text = s End Sub 15在窗体上添加3个文本框,第1个文本框(名称为Text1)用于输入球的半径r值;第2个文本框(名称为Text2)用于显示计算出来的球体体积;第3个文本框(名称为Text3)用于显示计算出来的球体的表面积。再向窗体中添加一个命令按钮(名称为Command1),编写命令按钮Command1的Click事件过程代码。程序代码如 Private Sub Command1_Click()Dim r As Double r=Val(Text1.Text)Text2.Text =4*3.14*r*r*r/3 Text3.Text =4*3.14*r*r End Sub

二、数据类型及其运算

(一)、选择题

1.下面给出的符号中,不能作为Visual Basic的变量名的是(A)abed(B)4A12(C)AA-123(D)BB% 2.下面给出的符号中,可以作为Visual Basic的变量名的是(A)abc-123(B)πR(C)Print(D)Beta 3下列可作为Visual Basic的常量的是

(A)π(B)1.O*E-3(C)-1E5(D)E-6 4.下列不可作为Visual Basic的常量的是

(A)1OE01(B)-l00.98#(C).0001(D)1.OE 5.按照Visual Basic的规定,下面作为字符串常量合法的是

(A)ABC$(B)“ABCπ”(C)“AB”$(D)‘abc123' 6.按照Visual Basic的规定,123#所表示的数据类型是

(A)整型(B)双精度型(C)单精度型(D)长整型

7.下面给出的符号中,可以作为Visual Basic的变量名的是(A)PRINT(B)LET(C)%by(D)S# 8.下面给出的符号中,不可以作为Visual Basic的变量名的是(A)E*(B)e!(C)E#(D)e% 9.常量4.5123843D-5是一个以指数形式表示的合法的Visual Basic常量,下面与该数的值等价的是(A)0.000045123843(B)0.0045123843(C)0.00045123843(D)0.045123843 10.下面不可以作为Visual Basic常量的是

(A)”01-12-1999“(B)#1999-12-21#(C)True(D)π 11.下面能够作为Visual Basic的表达式的是(A)4*sin(π)(B)b^2-4ac(C)[-b+sqr(dlt)]/(2*a*c)(D)exp(x)+ABS(Y)12.下面表达式中,其值为0的是

(A)4/5(B)5Mod 4(C)45(D)4Mod 5 13.在Visual Basic中,以下表达式的值与其他三个不同的是(A)Int(-3.5)+0.5(B)exp(-3.5)(C)SGN(一3.5)-2.5(D)-ABS(一3.5)14.在Visual Basic中,执行下面四个赋值语句时出现错误的是(A)x=SGN(O)(B)Y=sqr(O)(C)z=LOG(O)(D)x=SIN(O)15.下面不可以作为Visual Basic常量的是

(A)&61A&(B)&234(C)&O43&(D)&Habc& 16.设变量a=2,b=3,c=4,d=5,则表达式not a>b and b^2c-d 的值为

(A)True(B)False(C)-1(D)1(二)、填空题

17与数学表达式cos3(2π)相对应的Visual Basic表达式是_______________。18表达式Len(”xya“&123)的值是_______________。

19表达式Sgn(-9)十Val(”123.34+x“)的值为_______________。20表达式Int(-5.6)+Fix(-9.56)的值为_______________。

21表达式Mid(”Visual Basic学习教程“,8)& Trim(” 和C教程“)的值

为_______________。

22表达式Str(-5.23)&123的值为_______________。23表达式”ABC“>”Abc“的值为_______________。24表达式#2001-05-10#+31的值为_______________。

25表达式Abs(-34)+Sqr(100)*Int(-3.4)的值为_______________。26表达式Rtrim(Lcase(” Abcd123xyZ “))&Right 〈” mnopq“,3〉的值

为_______________。

27与数学表达式e-4+Log105对应的Visual Basic表达式是_______________。28与数学表达式1≤x≤100对应的Visual Basic表达式是_______________。

29设变量a是一个实数,能对a值的第4位小数进行四舍五入的表达式是_______________。30执行以下语句后,输出结果是_______________。(下式中表示回车)a=”ABCDEFGHIJK“ Print Instr(a,”efg“) 31假定当前日期是2001年5月25日星期五,则执行以下语句后,输出结果为: _______________、_______________、_______________、_______________。Print Day(now) Print Month(now) Print Year(now) Print Weekday(now) 32在6.0版的Visual Basic中,字符采用_______________的编码方式,在这种编码方案中,一个中文字符或一个西文字符均视为_______________,每个字符用_______________个字节编码。33在Visual Basic中,字符串常量要用_______________括起来,日期/时间型常量要用_______________括起来。

34表达式Chr(65)的值为_______________,Asc(”B“)的值为_______________。35数学表达式sin36º,写成Visual Basic的表达式为_______________。36表达式5*55/5的值是_______________。37表达式4+56*7/8mod9的值_______________。

38Print Format(Sqr(3),”$00###.000“)的值为_______________。39Print Format(-34.69358, ”000000,0.000“)的值为_______________。40Print Format(6723.4587,”+000000.000E+00“)的值为_______________。参考答案:

(一)、选择题 B D

C

D

B

B

D 8 A

A D

D C B C 15 A A

(二)、填空题

cos(2*3.14)^3

round(a,4)18

0 19

122.34

25、5、2001、6 20

Unicode 编码 1 2 21

BASIC学习教程和C教程

双引号 # 22

-5.23123

A 66 23

False

Sin(3.14*36/180)24

2001-6-10

25 25

5 26

abcd123xyzopq

$00001.732 27

exp(-4)+log(5)/log(10)

-0,000,034.694 28

x>=1 and x<=10

+672345.870E-02

三、顺序程序结构与数据输入/输出

(一)、选择题

1下列不支持Print方法的是:(A)图片框控件

(B)窗体

(C)打印机

(D)文本框控件 2设变量a和b的值分别为153和-45,则Debug.print a;b的输出结果为:(输出结 果中的└┘表示一个空格符,下同)(A)└┘153└┘-45└┘(B)153└┘-45

(C)└┘153└┘└┘-45└┘(D)└┘153└┘└┘-45 3语句Print ”44+66=“;44+66的输出结果为:(A)”44+66=“└┘110(B)44+66=└┘110(C)”44+66=“;└┘44+66(D)”44+66=“,└┘44+66 4下列语句中,不正确的打印语句是:d 32(A)Print a=3+5

(B)Print ”a=;3+5“(C)Print ”a=3+5“

(D)Print a=;3+5 5设有赋值语句Stt1=”abede“和Str2=”xyz“,则语句Print Str1;Str2的输出结果为(A)abede└┘xyz

(B)abedexyz(C)└┘abede└┘xyz

(D)└┘abede└┘└┘xyz└┘ 6Print sgn(-6^2)+abs(int(-234.12))的输出结果为:(A))-300

(B)300

(C)236

(D)234 7Print sgn(一20)*sqr(3)

(B)False

(C)True

(D)0 8Print Format(abs(-3^2)+32.5,”$$####,##.000“)的输出结果为:(A)$$41.5000

(B)$$41.5(C)$000041.5000

(D)$$000041.5000 9InputBox函数的返回值的类型是:(A)数值

(B)字符类型

(C)变体

(D)数值或字符串(视输入的数据而定)10设计一个程序,在程序中添加一个名称为Form1的窗体,添加窗体的Click事件过程代码, Private sub Form-Click()Dim x As Single,y As Single xzInputBox(”输人第一个数据“,”输人数据“)y=InputBox(”输人第二个数据“,”输入数据“)Print x+y End Sub 程序运行时,单击窗体,先后在两个输入对话框中输入123和456,则程序的输 出结果为:(A)123456

(B)123

(C)579

(D)456 11分别执行以下语句x=InputBox(”aaa“,”bbb“)和y=MsgBox(”ccc“,”ddd“)时 的输入对话框窗口和消息对话框的标题信息分别为:(A)aaa和ccc

(B)aaa和ddd

(C)bbb和ccc

(D)bbb和ddd

二、编程题

12编写二个将摄氏温度转换成华氏温度的程序,要求:摄氏温度通过输入对话框来输入,结果在窗体上显示。已知:由摄氏温度求华氏温度的计算公式为:F=9/5╳C+32,其中:C为摄氏温度,F为华氏温度。

13从键盘上输入两个数,编写一程序,计算并输出2个数的和及平均值。通过InputBox函数输入数据,在窗体显示和及平均值。

14编写一个程序,计算半径为15cm、高为30cm的圆柱体的体积,半径和高通过

InputBox函数输入,计算结果并将其打印到窗体中。参考答案:

(一)、选择题 D A B D

B 8 A B C

D

(二)、编程题 12程序代码如下: Private Sub Form-Click()Dim c As Single,f As Single C =Val(InputBox(“输入摄氏温度”,“输入”))f=9*C /5十32 Print “华氏温度为:”;Format(f,“.00”)End Sub

13程序代码如下: Private Sub Form_Click()Dim x As Single,y As Single,s As Single,av As Single x=Val(InputBox(”输入第一个数“,”输入“)y=Val(InputBox(”输入第一个数“,”输入“)s =x +y av=s/2 Print “两数之和为:”;s Print “两数平均数为:”;av End Sub 14程序代码如下:

D

C 34

Private Sub Form-Click()Dim r As Single,h As Single,v As Single r=Val(InputBox(”输入圆柱体底面半径“,”输入“))h=Val(InputBox(”输入圆柱体高“,”输入“))v=3.14*r*r*h Print ”圆柱体体积为:“;Format(v,”.00”)End Sub

四、Visual Basic的常用标准控件

1设置复选框或单选按钮的标题对齐方式的属性是:(A)Align

(B)Style

(C)Sorted

(D)Alignment 2在程序代码中将图片文件mypic.jpg装入图片框Picturel的语句是:(A)Picture1.picture=”mypic.jpg“(B)Picture1.image=”mypic.jpg“(C)Picture1.picture=LoadPicture(”mypic.jpg“)(D)LoadPicture(”mypic.jpg“)3在程序代码中清除图片框Picture1中的图形的正确语句是:

(A)Picture1.picture=”“

(B)Picture1.Picture=Loadpicture(”“)(C)Picture1.image=”“.(D)Picture1.picture=Null 4为了能在列表框中利用Ctrl和Shift键进行多个列表项的选择,则应将列表框的Multiselect属性设置为:(A)0

(B)1

(C)2

(D)3 5如果只允许在列表框中每次只能选择一个列表项时,则应将其Multiselect属性设置为:(A)0

(B)1

(C)2

(D)3 6要使列表框中的列表项显示成复选框形式,则应将其Style属性设置为:(A)0

(B)1

(C)True

(D)False 7在列表框中当前被选中的列表项的序号是由下列哪个属性表示:(A)list

(B)Index

(C)Listindex

(D)Tabindex 8要清除列表框中所有的列表项时,应使用以下哪种方法:(A)Remove

(B)Clear

(C)Removeitem

(D)Move 35 9列表框中的列表项的数目可通过以下哪个属性的值获得:(A)Count

(B)Listcount

(C)ListIndex

(D)Index 10单击滚动条的滚动箭头时,产生的事件是:(A)Click

(B)Scroll

(C)Change

(D)Move 11要将一个组合框设置为简单组合框(Simple Combo),则应将其Style属性设置为:(A)0

(B)1

(C)2

(D)3 12要使一个文本框具有垂直滚动条,则应:(A)将其Multiline设置为True,同时将Scrollbars属性设置为0(B)将其Multiline设置为True,同时将Scrollbars属性设置为1(C)将其Multiline设置为True,同时将Scrollbars属性设置为2(D)将其Multiline设置为True,同时将Scrollbars属性设置为3 13要使一个标签透明且不具有边框,则应:(A)将其Backstyle属性设置为0 ,Border-Style属性设置为0(B)将其Backstyle属性设置为0 ,Border-Style属性设置为1(C)将其Backstyle属性设置为1 ,Border-Style属性设置为0(D)将其Backstyle属性设置为1 ,Border-Style属性设置为1 14要使组合框设置成只能从中选择而不能输人数据的组合框(下拉式列表框),则应将其Style属性设置为:(A)0

(B)1

(C)2

(D)3 15以下不具有Picture属性的对象是:(A)窗体

(B)图片框

(C)图像框

(D)文本框

16为使计时器控件每隔5秒钟产生一个计时器事件(Timer事件),则应将其Interval属性值设置为:(A)5

(B)500

(C)300

(D)5000 17为使图像框的大小自动适应图像的大小,则应:(A)将其Autosize属性值设置为True(B)将其Autosize属性值设置为False(C)将其Stretch属性值设置为True(D)将其Stretch属性值设置为False 18若在Shape控件内以Fillstyle属性所指定的图案填充区域,而填充图案的线条的颜色由Fillcolor属性指定,非线条的区域由Backcolor属性填充,则应:(A)将Shape控件的Fillstyle属性设置为2至7间的某个值, BackStyle属性设置为1(B)将Shape控件的Fillstyle属性设置为0或1, BackStyle属性设置为1

(C)将Shape控件的Fillstyle属性设置为2至7间的某个值,BackStyle属性设置为0(D)将Shape控件的Fillstyle属性设置为0或1,BackStyle属性设置为0 19要获得当前驱动器应使用驱动器列表框的哪个属性?(A)Path

(B)Drive

(C)Dir

(D)Pattern 20要使目录列表框(名称为Dir1)中的目录随着驱动器列表框(名称为Drivel)中所选择的当前驱动器的不同而同时发生变化,则应:(A)在Dirl中的Chnge事件中,书写语句Dirl.Drive=Dive1.Drive(B)在Dir1中的Change事件中,书写语句Dir1.Path=Drivel.Drive(C)在Drive1中的Change事件中,书写语句Dir1.Path=Drivel.Drive(D)在Drivel中的Change事件中,书写语句Dir.Drive=Drivel.Drive 21要获得文件列表框中当前被选中的文件的文件名,则应使用哪个属性?(A)Dir

(B)Path

(C)Drive

(D)Filename

(二)、编程题

22设计一个能将第1个列表框中被选择的列表项,加入到另外1个列表框中的程序。要求:窗体中加入2个列表框(将它们的Multiselect属性设置成0,即每次只能从列表框中选择一项)、2个命令按钮,即”确定“和”取消“。程序运行过程中,利用程序向第1个列表框中加入若干个列表项,当单击”确定“按钮时,则将第1个列表框中的已被选择的列表项加入到第2个列表框中,并同时将它从第1个列表框中清除。当用户单击”取消“按钮时,则可将第2个列表框中被选择的列表项重新返回到第1个列表框中。

23自己制作一幅图片,将其加入到图片框中。

24在窗体中添加3个文本框、2个命令按钮(”确定“和”退出)。程序运行过程中,当单击“确定”按钮时,能将第1个文本框中输入的文本和第2个文本框中输入的文本连接起来,放到第3个文本框中。当单击“退出”按钮时,结束程序的运行。参考答案:

(一)、选择题 D C B C

A

B C 8 B

B

C B

C

B

C 15 D

D D A

B

C

D

(二)、编程题

22新建一个工程,向窗体中添加两个列表框(名称分别为List1和List2),再向窗体中加入两个命令按钮(名称分别为Command1和COmmand2),该程序的功能是:

当单击COInImnd1命令按钮时,可将List1列表框中被选择的列表项加入到List2 列表框中,同时将其从List1列表框中清除;当单击Commana命令按钮时,可将 List2列表框中被选择的列表项重新加回到Listl列表框中,同时将其从List2列 表框中清除。各事件过程代码如下: Private Sub Commandl-Click()'将listl列表框中被选择的列表项加人到list2列表框中 List2.AddItem List1.List(List1.ListIndex)ListL RemoveItem List1.ListIndex End Sub Private Sub Command2-Click()'将list2列表框中被选择的列表项加人到listl列表框中 List1.AddItem List2.List(List2.ListIndex)List2.RemoveItem List2.ListIndex End Sub Private Sub Form-Load()‘窗体装人时,向List1列表框中加入一些列表项 List1.AddItem“项目1” List1.AddItem“项目2” ListL AddItem“项目3” List1.AddItem“项目4” List1.AddItem“项目5” List1.AddItem“项目6” List1.AddItem“项目7” End Sub 23读者可用“画图”或其他绘图程序制作一幅图,并保存到某个文件夹中。在Visual Basic集成开发环境中,向窗体中添加一个图片框,利用下列方法之一进行设置: 方法1:在设计阶段,利用属性窗口,将图片框的Picture属性设置为自己所制 作的图片。

方法22在窗体的Form-Load()事件过程中,利用语句:图片框名.Picture= 38 LoadPicture(“图片文件名”)24新建一个工程,向窗体中添加3个文本框(名称分别为Text1、Text2和Text3),再向窗体中添加两个命令按钮(名称分别为Command1和Command2),该程序的作用是:当程序运行时,单击Command1命令按钮,可以将文本框Text1和Text2中 的文本连接起来形成一个新的字符串,并将其显示到Text3文本框中;当单击 Command2命令按钮时,退出程序。为此编写命令按钮Commandl和Command2 的Click事件过程。程序代码如下: Private Sub Command1-click()Text3.Text =Text1.Text &Text2.Text End Sub Private Sub Command2-ClickO End i End Sub

五、选择程序结构

(一)、选择题

1设窗体的Click事件过程代码如下: Private Sub Form-Click()Dim k As Integer,a As Integer k=1 If k<=1 Then a =2*k If k<=2 Then a =2*k十1 If k<=3Then

a =k Print k,a End Sub 则当程序运行时,在窗体上单击鼠标时的输出结果是:(A)1 2

(B)1

(C)1 1

(D)3 2设窗体的Click事件过程代码如下: Private Sub Form-Click()Dim x As Integer,y As Integer 39 x=-2 If Not x>0 Then x=y-3

Else y =x+3 Print x-y;g y-x End Sub 则当程序运行时,在窗体上单击鼠标时的输出结果是

(A)-3

(B)5

-8-5

(C)3

(D)25

-25 3以下哪个程序段的执行结果为“OK”.(A)

(B)Dim y As Integer

Dim y As Integer

y=10

y=20

Select Case y

Select Case y Case 11 To 1

Case Is>20,Is<20 Print ”OK “

Print “OK” End Select

End Select

(C)

(D)Dim y As Integer

Dim y As Integer

y=6

y=10 Select Case y

Select Case y Case Is>6,1,2 to 5

Case 1,3,Is>6 Print ”OK”

Print “OK” End Select

End Select

(二)、编程题

4编写一程序,输入一个整数,判断能否被3或5整除,如能整除就打印该数,否则不打印,请将程序代码写在窗体的Click事件过程中。

5输入3条线段的长度,判断这3条线段能否构成三角形,如能构成三角形则计算三角形的面积,如果不能构成三角形则打印出错误信息。请将程序代码写在窗体的Click事件过程中,输入3条线段请用InputBox函数。

6输入一个年份,判断它是否为闰年。闰年的条件是:年号能被4整除但不能被100整除,或者能被400整除的年份。

7输入3个数,要求按从小到大输出。

8输入一个0----99999之间的整数,判断输入的是几位数。如:如果输人586,则输出结果为3。

9设计一个销售彩电(3000元/台)、冰箱(2500元/台)、洗衣机(1000元/台)的程序(商店送货上门时需加收100元)。设计程序时,窗体中包括2个框架、3个选择按钮(用于选择商品)、3个文本框(用于输入商品的台数)、2个单选按钮(用于选择送货方式:自取或送货)、1个命令按钮(用于计算金额)和1个文本框(用于显示总合额)参考答案:

(一)、选择题 C A D

(二)、编程题

4将程序代码写在窗体的Click事件过程中。程序代码如下: Private Sub Form-Click()Dim x As Integer x=Cint(Val(InputBox(”输人一个整数“,”输入“)))If x Mod 3=0 Or x Mod 5=0 Then Print x;”能被3或5整除“ End If End Sub 5任意三条边能否构成三角形的条件是:三边都必须大于零,同时任意两边之和必须大于第三边。程序代码如下:

Private Sub Form-Click()Dim a As Single,b As Single,C As Single,s As Single,area As Single a =Val(InputBox(”输入第一条边的长度“,”输入“))b =Val(InputBox(”输入第二条边的长度“,”输入“))C =Val(InputBox(”输入第三条边的长度“,”输入“))If a >0 And b >0 And c >0 Then If a +b >c And b +c >a And a +c >b Then

s =(a+b +c)/2 area=Sqr(s*(s-a)*(s-b)*(s-c))Print ”a=“;a;”b=“;b;b;”c=“;c;”面积area=“;area;” ” Else 41 Print ”错误!任意两边之和需大于第三边。“ End If Else print”错误!边长需大于零。“ End If End Sub

6是闰年的条件是:年号能被4整除并且同时不能被100整除,或者年号能被400整除。程序代码如下: Private Sub Form-Click()Dim y As Integer y=CInt(Val(InputBox(”输入年号“,”输人“)))If(y Mod 4=0 And y Mod 100<>0)Or(y Mod 400=0)Then Print y;”是闰年“ Else

Print y;”不是闰年“ End if End Sub 7程序代码如下: Private Sub Form-Click()Dim a As Single,b As Single,C As Single,t As Single a =Val(InputBox(”输入第一个数“,”输入“))b =Val(InputBox(”输人第二个数“,”输入“))c =Val(InputBox(”输入第三个数“,”输入“))If a >b Then t=a : a =b: b =t If a >C Then t=a : a =c: c=t If b >c Then t =b: b =c: c =t Print ”从小到大的顺序是:”;a;b;c End Sub 8程序代码如下: Private Sub Form-Click()

Dim x As Long x=Val(InputBox(“输人一个0~99999间的整数”,“输人”))If x10=0 Then Print X;”是1位数“ ElseIf x100=0 Then Print x;”是2位数“ ElseIf x1000=O0Then Print x;”是3位数“ ElseIf x10000=0 Then Print x;”是4位数“ Else Print x;”是5位数“ End If End Sub 9新建一个工程,在窗体上添加2个框架(标题分别为”商品“和”取货方式”),在第1个框架内添加3个选择框和3个文本框,3个选择框的名称分别为Check1、check2、chck3,分别表示选择购买彩电、冰箱和洗衣机;3个文本框的名称分别为

Text1、Text2和TeE币,分别表示3种商品需要购买的数量。在第2个框架内添加2个单选按钮,名称分别为Option1和Option2,分别表示“商店送货”和“自取”。最后在窗体上添加一个命令按钮和一个文本框,名称分别为Command1和Text4,分别用于计算金额和显示金额。程序代码如下: Private Sub Commandl-Click()Dim sum As Single sum =0# If Check1.Value Then

sum =sum +3000*Val(Text1.Text)End If If Check2.Value Then sum =sum +2500*Val(Text2.Text)End If 43 If Check3.Value Then sum =sum +1000*Val(Text3.Text)End If If Option1.Value =True Then sum =sum +100 End If Text4.Text =sum End Sub

六、循环程序结构

(一)、选择题

1对于下面结构的循环语句

Do Until条件

循环体 loop 正确的描述是:(A)如果“条件”是一个为0的常数,则不执行循环体(B)如果“条件”是一个为0的常数,则至少执行一次循环体(C)如果“条件”是一个不为0的常数,则至少执行一次循环体(D)不论条件是否为“真”,至少要执行一次循环体 2序运行时,在窗体上单击左键,则输出结果为: Private Sub Form-click()Dim m As Integer,n s Integer, j as integer, k As Integer n=0 For m=1 To 3 For j=1 Tom For k=j To3 n=n+1 Next k,j,m Print n 44

End Sub(A)6

(B)10

(C)14

(D)21 3设有以下程序段: Dim i As Integer,j As Integer i=1 Do While i <4 i=i+l For j=5 To 1 Step-1 Print i*j Next j loop 则其中的语句Print i*j 的执行次数是:(A)15

(B)16

(C)17

(D)18 4下面程序执行时,当在窗体上单击左键时的输出结果是: Private Sub Form-Click()Dim k As Integer,y As Integer y =3:k=5 For k =l To 5 Step-1 y =y+k Next k Print y;k End Sub(A)3 1

(B)3 5

(C)8

(D)3 5下面程序执行时,当在窗体上单击左键时的输出结果是: Private Sub Form_Click()Dim x As Integer,a As Integer,y As Integer For x=l To 2 a =0 For y=l To x+1 a =a +1 Next y

Print a;Next x End Sub(A)1 1

(B)2 3

(C)0 0

(D)1 2 6下面程序执行时,当在窗体上单击左键时的输出结果是: Private Sub Form_Click()Dim x As Integer,y As Integer,i As Integer x=2:y=3 For i=x To x+y x=x+2 Next i Print x End Sub(A)8

(B)9

(C)10

7执行语句a=IIf(5>10,1,-1)后,变量a的值为:

(A)5

(B)10

(C)1

8下面程序的执行结果为: Private Sub Form-Click()Dim k As Integer,n As Integer,m As Integer k=1:m=1:n=10 Do While k〈=n m=m*2 k=k +1 loop print m End Sub(A)20

(B)1

(C)1024

9设有以下循环 X=1 Do x=x十3

(D)11

(D)-1(D)200 46

Loop Until x>10 Print x 该程序段的输出结果为:(A)1

(B)4

(C)12

(D)13 10下面程序执行时,当在窗体上单击左键时的输出结果是: Private Sub Form_Click()Dim x As Integer,y As Integer x=1 For y=1 To 50 If x>=10 Then Exit For End If If x Mod 2=l Then x=x+5 Else x==x-3 End If Next y Print x End Sub(A)4(B)6(C)8(D)10 11下面程序执行时,当在窗体上单击左键时的输出结果是: Private Sub Form-Click()Dim i As Integer,j As Integer,s As Single For i=6 To 5 Step-1 s =0# For j=i To 4 Step-1 s =s +i*j Next j Next i Print s

End Sub(A)90

(B)45

(C)135

(D)60 12下面程序执行时,当在窗体上单击左键时的输出结果是: Private Sub Form-Click()Dim k As Integer,c As String*l k=0: C=“A” Do Select Case C Case “A” k=k+l Case “B” k=k-1 Case “C” k=k+2 Case “D” Case “E” k=k*2 Case Else k=k/3 End Select c =Chr(Asc(c)+1)k=k+1 Loop While c<“F” Print k End Sub(A)2

(B)5

(C)6

(二)、编程题

13编写程序求:1!+2!+„+10!的值。

14编写程序求:1-1/2+1/3-1/4+„+1/99-1/100的值。(D)13 48

15已知斐波那契数列的第1项与第2项的值分别为1和1,其后每一项都是其前面两项的和,形如:1,1,2,3,5,8,„,写一程序求出该数列的前20项及前20项的和。

16设1995年我国有12亿3千万人口,以年人口平均增长率为1%、1.5%和2%计算,从1995年起,经过几年我国人口就会增长到16亿。

17写一程序将某个整数分解因式,如:24分解成1*2*2*2*3,一42分解成-1*2*3*7。18新建一个窗体,在窗体上加入4个文本框(设名称为Text1、Text2、Text3和

Text4)和1个命令按钮(设名称为Commandl)。程序运行时,在文本框Textl中输入1个字符串,单击命令按钮Command1时,程序能统计出输入的字符串中数字字符个数、字母个数和其他字符的个数,并将统计出来的结果分别显示到文本框Text2、Text3和Text4中。参考答案:

(一)、选择题 B

C

A

A B C D

C

D

D B

D

(二)、编程题

13将程序代码写在窗体的Click事件过程中。程序代码如下: Private Sub Form-Click()Dim s As Single,t As Single,i As Integer s =0# t=1 For i=l To 10 t==t*E s =s +t Next i Print “总和为:”;S End Sub 14将程序代码写在窗体的Click事件过程中。程序代码如下: Private Sub Form-Click()Dim s As Single,i As Integer s =0# For i=1To 100

s =s +(-l)^(i-1)/i Next i Print “总和为:”;Format(s, “0.000000“)End Sub 15将程序代码写在窗体的Click事件过程中。程序代码如下 Private Sub Form-Click()Dim s As Single,i As Integer Dim xl As Integer,x2 As Integer xl=1: X2=1 s =0# For i=1To 10 Print xl;x2;s =s +x1+x2 xl=xl+x2 x2=x1+x2 Next i Print Print ”前20项之和为:";s End Sub 16将程序代码写在窗体的Click事件过程中。程序代码如下 Private Sub Form-Click()Dim t As Single,r As Single,n As Integer For r=0.0l To 0.02 Step 0.005 n=0 t=0 Do While t <16 n=n+l t=12.3*(1+r)^n Loop

第二篇:期末考试复习资料

期末考试复习资料

一、.辞职报告

1.标题:辞职报告、辞职信、辞职书

辞去XX工作的报告、关于辞去XX职务的报告

2.称谓:尊敬的XX领导/XXX(职务)

XX公司人事部

XX党委组织部

3.正文:一份完整的辞职报告正文部分包括以下5部分内容:(简答题)

(1)提出申请辞职(一句话)

(2)感谢语

(3)辞职理由

(4)辞职时间

(5)结尾:重申辞职决心

二、工作计划

1.工作计划的文种:计划书、设想、规划、安排、方案、纲要、要点。

2.工作计划的特点:预见性、针对性、约束性、可行性。P171

3.标题:P172

A 四要素标题:计划制订单位+适用期限+计划性质+文种

例:XX学校2012年招生计划

B 三要素标题:适用期限+计划性质+文种

例:2011年第一学期班主任工作计划

C两要素标题:计划性质+文种

例:速销活动工作计划

4.工作计划前言部分有两种写法:(1)依据式开头(2)概述式开头 P172

5.工作计划主体部分主要包括3部分内容:(简答题)

(1)目标(做什么、做多少)

(2)措施(由谁做、何时做)

(3)步骤(怎么做)

三、感谢信

1.称谓:尊敬的XX单位/组织

尊敬的XX先生/女士(填空)

2.正文:

开头:概括说明对方感人事迹,表明谢意。

主体:(1)具体写明感谢原因。

(2)赞扬精神品质。

(3)表明学习决心。(简答)

结尾:3种写法

(1)此致,敬礼

(2)致以,最崇高的敬意/最诚挚的谢意

(3)祝工作顺利、身体健康(多选)

3.落款:与正文相隔一到两行写

四、借条(写作题)

甲方XXX(身份证号码)今借乙方XXX,人民币______元整(大写)(¥______.00)。借款期限为: 年 月 日 到 年 月 日。

借款利息为: %(月利率)

违约责任:如果甲方不能按期归还本息,违约金______元整

借款人(签名并按手印)

XX年XX 月 XX日

五、系领带有平结、双环结、双交叉结、温莎结等多种方法。(填空)

六、个人简历

1.一份简历篇幅不宜超过两页纸内容。

2.个人简历用A4纸打印,两页纸的分单面打印。

3.个人简历上的联系方式包括联系电话、邮箱、邮编号码、地址。(填空)

七、期中考试复习内容

期中考试复习资料

1.讲话稿的特点:权威性、思想性、鼓动性

2.讲话稿的分类:

按时间分类:开始时的讲话(开幕词、欢迎词)

主体性的讲话

结束时的讲话(闭幕词、欢送词)

按性质分类:

1、部署动员型

2、总结表彰型

3、研究探讨型

4、传达贯彻型

5、纪念庆祝型

6、就职演说型

7、社交礼仪型

8、典礼仪式型 例子:

A徐才厚在全军深入学习贯彻“三个代表”重要思想经验交流会上的讲话(传达贯彻型)

B胡锦涛在邓小平同志诞辰100周年纪念大会上的讲话(纪念庆祝型)C江泽民在全军抗洪抢险庆功表彰大会上的讲话(总结表彰型)

D陈毅任新四军军长时的就职讲话(就职演说型)

E张天荣在民族宗教问题与国家安全研讨会上的讲话(研究探讨型)

F刘家新在西安政院2004年秋季开学典礼上的讲话(典礼仪式型)

G佛冈县县委书记在创先争优活动动员部署会上的讲话稿(部署动员型)

3.讲话稿的标题包括 单标题和双标题两种写法。

4.讲话稿单标题由讲话人姓名、会议名称和文种三部分组成。

5.讲话稿标题的写法

6.讲话稿的称谓(1)党的会议:同志们(2)代表大会:各位代表

(3)学术会议:各位专家、学者(4)国际性会议:女士们、先生们

7.讲话稿开头的写法:点题式、提示说明式、分析式、概括总结式、开门见山

式、祝贺慰问式、渲染气氛式。

8.板块式、自然式和提纲式三种

9.证明信标题一般写“证明信”即可,也有的只写“证明”。

证明信正文的最后结束语写“特此证明”,而不需要写祝愿类的话。凡个人出具的证明信应亲笔签名或盖私章

凡单位、团体出具的证明信应盖公章

10.证明信格式,复习作业(写证明信)

11.劳动合同复习课堂笔记和练习题

第三篇:VB期末考试试卷及答案

VB期末考试试卷及答案

一·选择题

1.Visual Basic是一种面向对象的程序设计语言,构成对象的三要素是(B)

A属性、控件和方法

B属性、事件和方法 C窗体、控件和过程 D控件、过程和模块

2.所有控件都有一个共同的属性,这个属性是(C)

A text

B font

C name

D caption

3.下列叙述中错误的是(A)

A 工程文件扩展名是.vbg

B 标准模块文件的扩展名是.bas

C 窗体模块的扩展名是.frm

D 类模块的扩展名是.cls

4.当要编写一个新的Visual Basic程序时,所做的第一件事是(A)

A 新建一个工程

B 编写代码

C 设置属性

D 添加Active X控件

5.下面控件中,没有caption属性的是(B)

A 框架

B 组合框

C 命令按钮

D 复选按钮

6.在文件框中输入字符时,若只显示某个字符,如(*),应设置属性是(B)

A MultiLine

B PasswordChar

C Text

D selText

7.若要将窗体从内存中卸载出去,其实现的方法是(D)

A Show

B Hide

C Load

D UnLoad

8.下列关于过程叙述不正确的是(D)

A 过程的传值调用是将实参的具体值传值传递给形参

B 过程的传址调用是将实参在内存的地址 传递给形参

C 过程的传值调用参数是单向传递的,过程的传址调用参数是双向传递的D 无论过程传值调用还是传地址调用,参数传递都是双向的

9.某人创建1个工程,其中的窗体名为Form1,之后又添加了1个名为Form2的窗体,并希望程序执行时先显示Form2窗体,那么,他需要做的工作是(C)

A 在Form1的Load事件过程中加入语句Load Form2

B 在Form2的Load事件过程中加入语句Form2.Show

C 在“过程属性”对话框中把“启动对象”设置为Form2

D 在Form2的TabIndex属性设置为1,把Form1的TabIndex属性设置为2

10.以下关于文件的叙述中,正确的是(B)

A 以Output方式打开一个不存在的文件时,系统将显示出错信息

B 以Append方式打开的文件,既可以进行读操作,也可以进行写操作

C 在随机文件在,每个记录的长度是固定的

D 无论是顺序文件还是随机文件,其打开的语句和打开的方式都是完全相同的 11.设a=6,b=8,c=10 则函数IIf(a

A 10

B 6

C 8

D 12

12.下面程序的执行结果为(B)

I=”1”

:

j=”2”

I=val(i)+val(j)

J=val(“12”)

If i<>j Then print i-j Else printj-i

A 9

B-9

C 12

D 0

13.下面程序的执行结果为(A)

Dim S(10)AS Integer

For i=0 to 10

S(I)=2*i

Next i

Print S(S(3))

A 12

B 6

C 0

D 4 二·程序填空题:

1.在窗体上画一个命令按钮(Command1)和一个标签(Label1),为命令按钮编写以下事件,其功能是求数组中各元素之和,并将结果在标签上显示,请在指定位置填上正确代码将程序补充完整。

Option Base 1

Private Sub Command1_Click()

Dim a(3,2)AS Integer

S =0

For i= 1 to 3

For j= 1 to 2

a(I,j)= i+j

s= 【1】

Next j Next i

【2】

End Sub

2.下面程序的功能是产生10个小于100(不含100)的随机正整数,并统计其中

5的倍数所占比例,请在指定位置填上正确代码将程序补充完整。

Private Sub Command1_Click()

Randomise

Dim a(10)As Integer

For j =1 to 10

a(i)=

【3】

If

【4】

Then k= k+1

Print a(j)

Next j

Print

Print k /10

End Sub

3.以下程序运行后,在Text1中输入任意字符串,单击命令按钮,将Text1中的字符串转换为大写,再将字符串逆置(如ABCD--DCBA),在Text2中显示逆置后的字符串。请在指定位置填上正确代码将程序补充完整。

Private Sub Command1_Click()

St = Ucase(Text1.text)

For i=

【5】

To 1 Step-1

S2= s2+Mid(s1, 【6】, 1)

Text2.text= s2

End Sub

4.Next i设有如下的循环,要求程序运行时执行3次循环,请在指定位置填上正确代码将程序补充完整。

Dim x As Integer

X = 1

Do

x = x+2

Print x

Loop Until

【7】

5.在窗体上画一个组合框(Combo1)、一个列表框(List1)和一个命令按钮(Command1)。下面程序的功能是在组合框中选择一个大学名称,单击命令按钮,则所选大学 名称将添加在列表框中,当组合框中没有要选的大学名称时,输入一个名称,则此大学名称在添加列表框中的同时也会添加到组合框中,请在指定位置填上正确代码将程序补充完整。

Private Sub Form_Load()

Combo1.AddItem”交通大学”

Combo1.AddItem”理工大学”

Combo1.AddItem”财经大学”

Combo1.AddItem”外贸大学”

End Sub

Private Sub Command1_Click()

【8】

Flag=Flase

For i=0 to

【9】

If Combo1.List(i)=Combo1.Text Then

flag=True : Eixt For

End If

Next i

If Not flag

Then

【10】

End Sub

6.下面程序的功能是对数组的元素值用选择法按递增顺序排序,请在指定位置填上正确代码将程序补充完整。

Private Sub Command1_Click()

Dim ia(),i%,max%,imax%.t%

Ia=Array(3,8,5,6,7,4,9)

For i =0 To 5 : imax = i

For j = i+1 To 6

If 【11】

Then

imax =j

Next j

T=ia(i)

:

【12】

:

ia(imax)=t

Next i

For i=0 To 6 : Print ia(i)

:

Next i

End Sub 7.窗体上有名称为Command1的命令按钮及名称为Text1、能显示多行文本的文本框。程序运行后,如果单击命令按钮,则可打开磁盘文件c:test.txt,并将文件中的内容(多行文本)显示在文本框中。下面是实现此功能的程序,请在指定位置填上正确代码将程序补充完整。

Private Sub Command1_Click()

Text1=””

Open”c:test.txt” For Input As #1

Do While Not

【13】

Line Input#1,S

Text1.text=Text1.text+

【14】

+chr(13)+chr(10)

Loop

【15】

End Sub

答案: 1.S+a(I,j)

2.Label1 0 = S

3.Int(Rnd*99)

4.a(i)mod 5=0

5.Len(S1)

6.i

7.x=7

8.List1.AddItem Combo1.text

9.3/ListCount

10.Combo1.AddItem Combo1.text

11.a(j)>imax

12.ia(i)=ia(imax)

13.Eof

14.S

15.Close #1

三·阅读程序,在答题纸指定位置写出程序运行结果。

1.以下程序运行后,单击命令按钮,写出程序的运行结果。

Private Sub Command1_Click()

Dim n%,b,t

t =1 : b =1

: n =2

Do While n<=4

If b > 1 Then Exit Do

b = b*n : t = t+b

:

n = n+1

Loop

Print “t=”& t

End Sub 2.在窗体中添加一个命令按钮Command1,并编写如下程序:

Private Sub Command1_Click()

X =InputBox(x)

If x^2<=9 Then y= 1/x

If x^2>9 Then y= x^2+1

If(x^2)-7=9 Then y=x

Print “y=”&y

End Sub

程序运行后,在InputBox中输入4,单击命令按钮,写出程序的运行结果。3.窗体上画一个命令按钮,并编写以下事件过程和子过程:

Private Sub Command1_Click()

Dim x As Integer, y As Integer

x =12 : y = 20

Call Value(x,y)

Print “x=”&x, “y=”&y

End Sub

Private Sub Value(ByVal m As Integer, n As Integer)

m=m*2

n=n-5

End Sub

程序运行后,单击命令按钮,写出程序的输出结果。

4.窗体上画一个命令按钮和一个图像框,并编写以下事件过程:

Private Sub Command1_Click()

Dim a(3,3)

For m =1To3

For n= 1 To 3

If n = m Or n = 4 –m Then

a(m,n)=m+n

Else

a(m,n)=0

End If

Picture1.Print a(m,n)

Next n

Picture1.Print

Next m

End Sub

程序运行后,单击命令按钮,图像框中显示的内容是什么? 5.在窗体上画一个列表框和一个命令按钮Command1,然后编写如下程序:

Private Sub Command1_Click()

List1.RemoveItem1

List1.RemoveItem2

End Sub

Private Sub Form_Load()

List1.AddItem”兰州”

List1.AddItem”甘肃”

List1.AddItem”交通”

List1.AddItem”大学”

End Sub 程序运行后,单击命令按钮,写出在列表框中显示的结果。

答案: 1.3

2.4

3.12;15

4.2 0 4;0 4 0;4 0 6 5兰州;大学

四·编写程序:输出(1,100)之间同时被5和7整除的数的个数及其它们的和。

答案:Private Sub Form1_Click()

Dim s%,c%

For i=1 to 100

If i Mod 5=0 And i Mod 7=0

Then

s = s+1

c = c +i

End If

Next i

Print s, c

End Sub

第四篇:大一VB期末考试试卷及答案

大一VB期末考试试卷及答案 1.在代码中引用一个控件时,应使用控件的(b)属性。A.Caption B.Name C.Text D.Index 2.设变量x = 4,y =-1,a = 7,b =-8,下面表达式(a)的值为“假”。A.x+a <= b-y B. x > 0 AND y < 0 C.a = b OR x>y D. x+y > a+b AND NOT(y < b)3.表达式Int(Rnd*71)+10产生的随机整数范围是(c)。A.(10,80)B.(10,81)C.[10,80] D.[10,81] 4.函数Sgn(3.1416)的返回值是(c)。

A.-1 B.0 C.1 D.以上都不对 5.67890属于(d)类型数据。

A.整型 B.单精度浮点数 C.货币型 D.长整型 6.下列变量名中正确的是(d)。

A.3S B.Print C.Select My Name D.Select_1 7.下列赋值语句(a)是有效的。

A.sum = sum-sum B.x+2 = x + 2 C.x + y = sum D.last = y / 0 8.以下的控件或方法具有输入和输出双重功能的为(b)。

A.Print B.Textbox C.Optionbutton D.Checkbox 9.若要获得列表框中被选中的列表项的内容,可以通过访问(d)属性来实现。A.Name B.ListIndex C.ListCount D.Text 10.下列代码的运行结果为(b)。Private Sub command1_click()Dim m(10)

For k = 1 To 10 m(k)= 114 Case 3 Print “y=”;x ^ 3 + 100 End Select End Sub

2. Private Sub command1_click()Dim a, b, c, d, e As String a = “Zheng Zhou” b = “Zhong Yuan Gong Xue Yuan” c = a + “ ” + b d = Left(a, 1)+ Mid(a, 7, 1)e = Left(b, 1)+ Mid(b, 12, 1)Print c Print d;e End Sub

3.设有Sub过程:

Private Sub p1(x As Integer, ByVal y As Integer)x = 4 :y = 5 :z = 6 End Sub 则如下程序段的运行结果是: Private Sub Command1_Click()Dim x As Integer, y As Integer x = 1: y = 2: z = 3 Print x, y, z Call p1(x, y)Print x, y, z End Sub

4. Private Sub command1_click()k = 0 For i = 1 To 3 k = k + 1 a = i * i * k Print a;Next i End Sub

5. Private Sub command1_click()Dim a(5, 5)As Integer For i = 1 To 5 For j = 1 To 5 a(i, j)= i * 2 + j Print a(i, j);Next j Print Next i End Sub 6.设有Function过程: Private Function f1(b, a)a = a * a: b = b * b f1 = a-b End Function 则如下程序段的运行结果是什么? Private Sub command1_click()a = 4: b = 3 a = f1(a, b)Print a End Sub 七.编程题(共30分)

注意:艺术类学生(环艺、装潢、表演、服设)做第1、2、5、6小题; 其他学生做 第1、2、3、4 小题。

1.给出一个百分制的成绩,要求输出成绩的相应等级。(7分)

90分以上为“A”,80~89分为“B”,70~79分为“C”,60~69分为“D”,60分以下为“E”。

2.求n!,n由键盘输入。(7分)

3.产生20个 [0,99] 之间的随机整数,并按从小到大的顺序输出。(8分)4.产生并输出一个6×6的二维数组A:(8分)

(1)两条对角线上元素的值为1,其余元素为小于30的随机整数。(2)计算各行元素的平均值,输出平均值最大和平均值最小的行号。

5.输出1+2+„„+100的和,并求出1~100 之间能被17整除的数据的个数(8分)6.从键盘输入10个数,求出其中的最大数,最小数和平均值。(8分)

VB试题答案及评分标准

一、单项选择题(每题1分,共10分)1.B 2.A 3.C 4.C 5.D 6.D 7.A 8.B 9.D 10.B

二、填空题(每空1分,共10分)1.n Mod 13=0 And n Mod 17=0

1、对象

3.LEFT(“Visual Basic 6.0”,6)4.6 5.False 6.Autosize 7. : 8.Option Explict 9.Const Dim

三、将下列数学表达式转换成VB表达式(每题1分,共6分)

1、a^2+2*a*b+b^2

2、x^(1/3)*y^(1/4)

3、8*exp(x)*log(10)

4、2*sin(3.1416/4)*cos(3.1416/4)

5、(x+y+z)/sqr(x^2+y^2+z^2)

6、log(1+abs((a+b)/(a-b)))

四、判断题(每题1分,共10分)1.× 2.√ 3.× 4.√ 5.× 6.√ 7.× 8.× 9.× 10.√

五、根据题意,将下列程序补充完整(每空1分,共10分)1.(1)int(rnd*91)+10(2)I<10 2.(1)i*j(2)next i 3.(1)int(sqr(x))或者x-1(2)flag=1 4.(1)dim f(15)as integer(2)f(I-1)+f(I-2)

六、写出下面程序的输出结果(每题4分,共24分)

1、y=65

2、Zheng Zhou Zhong Yuan Gong Xue Yuan 2分 ZZZG 2分 3.1 2 3 4 2 3 4.1 8 27 5.3 4 5 6 7 5 6 7 8 9 7 8 9 10 11 9 10 11 12 13 11 12 13 14 15 6.-7

七、编写程序

1.private sub command1_click()dim x as integer,grade as string 1分 x=text1.text 1分 select case x 4分 case 90 to 100 grade=”A” case 80 to 89 grade=”B” case 70 to 79 grade=”C” case 60 to 69 grade=”D” case is<60 grade=”E” case else msgbox “请重新输入”end select print “该学生成绩为”+grade 1分 end sub 2.Private Sub command1_click()Dim n as integer,f as long 1分

n=text1.text 1 f=1 for I=1 to n 3 f=f*I next I text2.text=f 2 end sub

分 分 分

3. Private Sub Command1_Click()Dim a(1 To 20)As Integer ' 1分 Randomize For i = 1 To 20 2分 a(i)= Int(Rnd * 100)Print a(i);Next Print For i = 1 To 19 3分 For j = i + 1 To 20 If a(i)> a(j)Then t = a(i): a(i)= a(j): a(j)= t End If Next j Next i For i = 1 To 20 2分 Print a(i);Next i End Sub 4. Private Sub Command1_Click()Dim a(1 To 6, 1 To 6)As Integer ' 1分 Dim aver As Single Randomize For i = 1 To 6 3分

For j = 1 To 6 If i = j Or i + j = 7 Then a(i, j)= 1 Else a(i, j)= Int(Rnd * 30)End If Print a(i, j);Next j Print Next i Print Max = 0: Min = 30 4分 For i = 1 To 6 s = 0 For j = 1 To 6 s = s + a(i, j)Next j aver = s / 6 If aver > Max Then Max = aver: row_max = I If aver < Min Then Min = aver: row_min = i Next i Print row_max, row_min End Sub 5. Private Sub Command1_Click()Dim i As Integer, c As Integer Dim s As Integer For i = 1 To 100 4分 s = s + i If i Mod 17 = 0 Then c = c + 1 Next i Print “1+2+...+100=”;s 2 Print “能被17整数的数据有”;c;“个” 2分 End Sub 6. Private Sub Command1_Click()Dim x As Integer x = InputBox(“x=”)1分 Print x;Max = x: Min = x: s = x 2分 For i = 2 To 10 3分 x = InputBox(“x=”):Print x;s = s + x If x > Max Then Max = x If x < Min Then Min = x Next i Print s / 10 1分 Print Max, Min 1分 End Sub 应该不是真的。

第五篇:比较文学期末考试复习资料

比较文学期末考试复习资料

名词解释5分×

3、填空2分×

12、简答7分×

3、材料分析10分×

1、论述15分×2

1.真正最早使Comparative Literature进入比较文学学科理论的是波斯奈特,1886,他以此为书名出版了世界上第一部比较文学专著。(p5)

2.法国学派的四大代表人物:巴尔登斯伯格、梵·第根、卡雷、基亚。(p10)

3.教堂山会议:1958年,在美国北卡罗来纳州教堂山举行的国际比较文学协会第二届年会,(会上韦勒克宣读论文《比较文学的危机》),以韦勒克为代表的一些美国学者对法国学派的“定义”发起了大胆的挑战。韦勒克指出“‘比较’文学和‘总体’文学之间的人为界限应当废除,‘比较’文学已经成为一个确认的术语,指的是超越国别文学局限的文学研究。”(p12)

4.有人认为,是美国学派提出了比较文学的“比较”——平行研究。(p10)

5.比较文学中国学派的基本特色是跨文明研究。(p20)

6.苏联学者日尔蒙斯基提出了历史类型学的观点与方法。(p27)

7.中国内地第一部比较文学概论性著作卢康华、孙景尧的《比较文学导论》。(p27)

8.比较文学的定义:是以世界性眼光和胸怀来从事不同国家、不同文明和不同学科之间的跨越式文学比较研究。它主要研究各种跨越中文学的同源性、变异性、类同性、异质性和互补性,以实证性影响研究、文学变异研究、平行研究和总体文学研究为基本方法论,其目的在于以世界性眼光来总结文学规律和文学审美特性,加强世界文学的相互了解与整合,推动世界文学的发展。(p30)

9.比较文学的可比性(p31-p32)

(一)同源性,在法国学派的理论体系里,影响研究的对象是存在着事实联系的不同国家的文学,其理论支柱是媒介学、流传学和渊源学。它的研究目标是通过清理“影响”得以发生的“经过路线”,寻找两种或多种文学间的同源性关系,同源性成为法国学派学科理论体系可比性的基础。在线路的清理中,其源头是相同的,影响研究的可比性就是同源性。

(二)变异性,同源的文学在不同国家、不同文明的传播与交流中,在语言翻译层面、文学形象层面、文学文本层面、文化层面产生了文化过滤、误读与“创造性叛逆”,产生了形象的变异鱼接受的变异,甚至发生了“他国化”式的蜕变,这些都是变异学关注的要点,在这里,变异性成为可比性的核心内容。

(三)类同性,所指的是没有任何关联的不同国家的文学在风格、结构、内容、形式、流派、情节、技巧、手法、情调、形象、主题、思潮乃至文学规律等方面所表现出的相似和契合之处。平行研究的可比性就在于类同性与综

天天版权所有 合性。

(四)异质性与互补性的可比性,主要是从跨文明平行研究和总体研究的角度来说的。在跨文明的比较文学研究中,“异质性”是其可比性的根本特征。异质性的内容包括文明原生态、独立性,只有明确意识到这种特征的存在,东西方对话才能得以进行,东西方文学才能实现互补。

10.比较文学的基本体征和四大研究领域:跨越性(跨国、跨学科、跨文明),实证性的文学影响研究、文学变异研究、平行研究、总体文学研究。(p33)

11.文学变异研究:一是语言层面的变异研究,二是民族国家形象变异研究,又称为形象学,三是文学文本变异研究,四是文化变异研究,五是文学他国化研究。(p47、p96)

12.平行研究:是美国学派所提出和强调的比较文学学科理论。以可比性为前提,对没有事实联系的不同国家的作家、作品、文学现象进行比较研究,论述其异同,总结出文学发展带有规律性的东西。而对文学与其他学科,包括艺术、哲学、历史、宗教、自然科学等之间进行比较研究,从而揭示出人类知识体系的共通性及文学的独特性,这也是平行研究。(p51、p159)

13.1827年,最早提出“世界文学”观念的是歌德。(p57)

14.比较文学影响研究的基本特点是实证性。(p59)

15.史达尔夫人在《论文学》(1800)中,把欧洲文学区分为南方文学和北方文学两种类型,认为文学与地理环境如气候之间存在着密切关系。(p63)

16.流传学的研究范围及影响类型(p64-68)

研究范围

1)接受者国家和作者对作为放送者的外国作者的认识。

2)接受者受到放送者哪些具体作品的影响及对放送者的评价。

3)接受者是否模仿放送者,模仿了哪些方面,如文体、风格、思想、情感、主题、背景等。

4)接受者是直接还是间接接受作品;是直接阅读原文,还是通过译文或评论了解作品;译文在其影响的过程中所起到的作用。

5)文学界、出版界、读者是怎样接受这些作品的,他们的反应和情感是怎样的。

6)作品的传播情况如何,哪些阶级受影响最广。7)影响的程度是肤浅的还是深刻的。8)影响的时间是短暂的还是长久的。

9)是什么帮助人们接受影响并使影响成熟,是什么造成接受者对影响的选择。

天天版权所有 10)是什么影响确立了放送者在接受者眼中的形象和地位。

流传学的影响类型 1)个体对个体的影响研究 2)个体对群体的影响研究 3)群体对个体的影响研究 4)群体对群体的影响研究 从影响的方式和内容来看:

放送者特别的精神、人格、气质的影响。更多的是通过著作来实现的,其一表现在整体上,如卢梭的作品风格影响了全世界,其二表现在个体上,如屠格涅夫对巴金的影响。

技巧的影响。指放送者在创作中所形成的文体或艺术形式的技巧性因素,对接受者所造成的影响,如鲁迅接受了包括果戈里等俄国作家的艺术影响。茅盾接受了托尔斯泰的影响。

艺术形象的影响。指作品所塑造的形象的流传。如欧洲不少文学作品中出现的唐璜形象。

主题或题材的影响。如欧洲文学中许多作家创作的主题和题材都源于古希腊神话。

框范的影响。所谓框范,指作品中展示的某种特定的空间或环境,经典文学作品中所描写的风物、背景、社会环境等常常形成一种“框范”,对后世文学产生广泛的影响,如拜伦的《海盗》与大仲马的《基督山伯爵》以及雨果《悲惨世界》中的“出逃囚徒”。

理论思潮的影响。这种思潮,可以是哲学、政治、文学理论等多方面。如弗洛伊德的“心理学”对20世纪文学理论和创作产生的重大影响。

17.流传学研究的模式和实例分析(p67)

1)直线式影响 所谓直线式影响就是“一对一”的单线式的直接影响,指放送者对一个作家、一部作品、一种文学思潮、一国文学所产生的影响。是流传学研究中最基本的模式。如冰心受泰戈尔的影响而创作的自由体小诗,大半都是直接或间接受泰戈尔《飞鸟集》的影响的,矛盾在创作中对托尔斯泰“史诗题材”艺术处理手段的借鉴,他承认《子夜》“尤其得益于托尔斯泰”。

2)辐射式影响

所谓辐射式影响就是“一对多”式的影响,即从一点出发指向多个终点的影响,他可以是一个作家、一部作品、一种文学思潮、一国文学等对群体(多个或多国的接受者)产生的影响,因而是以放送者在众多接受者中的影响和接受情况为研究内容。包括个体对一国群体的影响和个体对多国的影响。如泰戈尔对五四时期中国作家产生了多层面的影响;阿拉伯民间故事集《一千零一夜》对东方文学和欧洲文学如《十日谈》、《坎特伯雷故事集》等都产生了极其深远的影响。

天天版权所有 3)焦点式影响

焦点式影响是“多对一”,即多个放送者对一个接受者的影响。如鲁迅受到众多俄国作家的影响,此外日本的小说、尼采的哲学、达尔文的进化论等,也对他的创作方法产生了不可低估的作用。

4)交叉式影响

由于接受主体的差异性和放送者的多质性,这两者之间的流传路线会出现交叉,其表现特点是:从流传的方向和路线看,起点和终点之间并不总是单向流通,即作为起点的放送者同时又可能是接受者,因此它对终点的影响具有多质性。如蒙田及其散文在五四时期对我国影响甚大,但谙熟英、日语的中国作家不是直接阅读法文原著,而是通过英国“小品文”和日本作家厨川白村来认识和接受蒙田的。因此,英日两国成了他们接受法国蒙田的中介。这就形成了交叉影响,即英、日作家既是受蒙田影响的终点,又成为传播蒙田作品的起点。

5)循环式影响

由于接受主体的差异性和放送者的多质性,这两者之间的流传路线也会形成一种循环。这种循环影响是从起点出发,达到终点,最后又回到起点。具体表现为两种情况:一是同质文化圈的循环影响。例如法国的波德莱尔受美国爱伦坡的启发,而爱伦坡有受到英国诗人柯勒律治的影响,而柯勒律治又吸取了德国诺瓦利斯的诗学养料。二是异质文化圈内的循环影响。例如中国元曲《赵氏孤儿》在欧洲的流传,经历了在法国的改变和再创造,最后又回到中国的流传路线就是典型的循环式影响。

18.渊源学的定义(p74)

又称源流学或源泉学,属于影响研究的范畴。它是指以文学接受者为出发点,去探寻放送者的影响,也就是在比较文学视野中,揭示某一文学现象或作家的主题、题材、人物、情节、风格、语言等的外来因素,是一种对跨国影响渊源的实证性追溯和研究。

19.渊源学的研究方式(p77—84)

影响的方式来看:印象渊源,口传渊源,笔述渊源。从影响放送者的角度:孤立渊源,集体渊源。

20.《摩罗诗力说》是中国第一篇系统介绍浪漫主义的论文。

21.媒介学的定义(p86)

与渊源学相对的一个与影响研究有关的术语,它是影响研究的重要组成部分,研究外国(一个国家)作品进入本国(另一个国家)的方式、途径、手段及其背后的因果规律。

22.媒介的定义(p86)

处于两个或两个以上的文学中间起交流、影响与传递等中介作用的东西,也可以是把一国文学作品乃至文学思潮介绍传播介绍给另一国的中间活动,它可能是个人,也可能是某个组织、在某种环境中起传递作用的人和事物。包括:

天天版权所有 个体媒介

在媒介学研究中,个体媒介起着极其重要的作用。这种个体媒介者,常常是以个体对个体,或个体对群体的影响起到媒介者的作用。例如威廉斯接受劳伦斯的影响,卢梭接受理查逊的影响,海涅接受拜伦的影响,都是有代表性的个体媒介者。再如闻一多接受丁尼生的影响,闻一多通过丁尼生起到了中英诗歌媒介者的作用。个体对群体起到的媒介作用,如卢梭思想通过歌德、席勒、海涅在德国的传播就是一例。

团体媒介

所谓团体,主要是指一些趣味相投、倾向一致的作家、翻译家的联合,如沙龙、文学社团等。中国的五四运动以后,出现了很多文学团体,译介了很多西方文学作品。如由郭沫若、郁达夫、张资平等组织的“创造社”,出版《创造社丛书》,刊载郭沫若翻译的《少年维特之烦恼》和郑伯奇翻译的《鲁森堡之一夜》等。

俄苏近代批判现实主义作家群对鲁迅的影响,正是一种文艺思潮为媒介而产生的团体影响。

团体的媒介很多时候表现在流派的影响上,例如,西方的象征派诗歌,是欧美文学中出现最早、影响最大的派别,它影响了中国现代文学史上的一大群诗人,如艾青、李金发、徐志摩、戴望舒、郭沫若等,都不同程度的通过某种媒介吸收了自己所需的营养。

文字资料媒介

文字资料媒介是最重要的一种媒介。许多被湮没遗忘的作品,可以在报章杂志找到评论的线索。比较文学工作者要广泛查阅那些对传播起过重要作用的期刊、报纸,尤其重要的是重要的、具有代表性的外国文学期刊。如莫尔根和霍尔费尔德的《英国期刊中的德国文学》就是典型的文字资料媒介研究的例子。

作家对外国语言文字的掌握与了解也是一个重要的媒介学研究内容,例如胡适提倡白话文,就和胡适与外来语言文字的接触有关。

23.媒介学中的译者与翻译(p92)

直译和转译是翻译领域的常见现象,许多外国作品都经过一种或几种语言的转译才为国人所知。对同一作品不同译本的比较,包括同时代与不同时代的比较,可以发现由于时代演进、兴趣的变化以及语言的发展,一个外国作品在传播过程的变化会给人们留下不同的印象。

译者也是媒介者,译者对原作的选择、改变和增删,既体现译者对原作的兴趣和欣赏程度,也体现了译者对媒介作品的理解与评价。

24.文化过滤(p97-98)

引起文学变异的第一大要素是文化过滤。叶维廉提出了“文化模子说”。

定义:研究跨异质文明下的文学文本事实上的把握与接受方式,它是促成文学文本发生变异的关键。文化过滤指文学交流中接受者的不同的文化背景和文化传统对交流信息的选择、改造、移植、渗透的作用。也是一种文化对另一种文化发生影响时,由于接受方的创造性接受而形成的对影响的反作用。25.文化过滤的作用机制(p99-103)

天天版权所有 现实语境、传统文化的过滤作用。接受者所处的现实语境和具备的传统文化决定着该历史阶段的人的思想、行为和价值选择。比如在西方现代主义诸流派中,中国现代作家偏爱象征主义文学而相对冷淡未来主义文学,这一“迎”一“拒”就是由于中国现代作家个体或作家群体的文化过滤起了作用,即象征主义文学“应和”了中国古典文学中的“比兴”与“象征”,这种“应和”表面上是中国的一种创新,但是潜在的却是中国传统审美意识的一种表现。语言差异的过滤作用。文学交流首先是语言交流,文化过滤作用首先受制于语言。具体而言有两个方面,语言既是“器”,又是文化,文学翻译的过程就是文化过滤的过程。如中国的“道”在西方语境中的传播。

接受者个体文化心理结构对外来文学接受的“文化过滤”。在跨文化文学的交流中,作为“文字流传物”的作品必须首先与特定的读者或译者遭遇,也就是说,首先起作用的是读者或译者个体的主观需要。比如在西方浪漫主义触发下所形成的中国现代浪漫主义作家群体,在整体上都把追求个性解放和自由视为其基本的思想基调。但是在不同作家身上却因个性特质的差异而有着不同的表现。

26.文学误读(p104-105)

“误读”概念由美国文艺理论家哈罗德·布鲁姆在其所著的额《影响的焦虑》(1975)中论诗时提出的。

“误读”时“文化过滤过程中诸多因素合力的产物。

首先是接受者或者阅读者的主体性因素。就是研究主体按照自身的文化传统、思维方式、自己所熟悉的一切去解读另一文化系统的文学现象,从而产生理解上的错位,按我所需地加以切割、加工,读出研究对象所没有的意义。

其次,从理解的历史性来看,一部作品进入另一种文化语言之中,不仅存在地域上的差异,也意味着历史时空的错位,错位所导致的偏见,必然对传入的文学发生误读性影响。

最后,文学误读与创新。(举例略)

27.译介学的定义(p111)

是比较文学变异学中研究语言层面的变异的分支学科,它关注的是跨语际翻译过程中发生的种种语言变异现象,并探讨产生这些变异的社会、历史以及文化根源。

28.形象学的定义(p121-124)

比较文学的形象学并不完全等同于一般意义上的形象研究,它是对一部作品、一种文学中异国形象的研究。在这里,形象是作家及集体对作为他者的异国或异民族的想象物。

形象不一定是人物形象,也可以是器物、景物,还可以是词汇、观念。

天天版权所有 变异性层面:进入20世纪60年代以后,形象学发展进入成熟时期。巴柔、莫哈是这一时期的代表人物。巴柔指出:“比较文学意义上的形象,并非现实的复制品(或相似物),它是按照注视者文化中的接受程序而重组、重写的,这些模式和程式均先于形象。”“重组”“重写”意味着这种形象学实际上是一种变异研究中的形象学。

综合性层面:巴柔认为,他者形象是“在文学化,同时也是社会化过程中所得到的关于一国看法的总和”。这说明,形象学中的形象,是在文学和文化互动关系中生成的形象,要全面、深入地理解和阐释他者的形象,就不能不将其置于被扩展了的社会、历史、文化等领域去考察,这一扩大的“新的视域要求研究者不仅考虑到文学文本,其生产及传播条件,且要考虑到人们写作、思想、生活所使用的一切文化材料”。

29.形象学的研究范围和内容(p125-129)

比较文学形象学的研究内容主要围绕注视者、他者以及注视者与他者的关系展开。

注视者是当代形象学研究的重点。先见、身份、时间等因素构成了注视者构建他者形象的基础,决定着他者形象的生成方式和呈现状态。

先见。注视者存在于历史与传统之中,历史与传统先于注视者而存在,是注视者不能不接受的东西。因而,既没有超出传统之外的注视者,也没有与传统无涉的他者形象。例如,十八世纪以后西方文学中的中国形象,大体就立足于西方对中国的曲解这一传统。

身份。任何人都是以一定身份与他人和社会进行交往的。注视者在注视和建构他者形象时,也总是以一定的身份出现的。

时间。时间是一个开放系统,它无所不包,无所不纳。注视者作为自然生命是无法否弃时间的。从某种程度来说,他者形象时更深层次地浸润在时间中的东西。注视者对他者注视、观看得越久,他者形象表层的东西就会日愈剥蚀,而注视着体现在历史文化中的个体反思精神就会愈为强劲,他者整体化,多维化的东西就会在这种反思中日益凸显。老舍作品中的英国人形象就很好地说明了时间对注视者建构他者形象的这种影响。

他者通常指代某些个人或群体为了强化自身身份而定义出来的另一个人或另一个群体。巴柔认为:“所有的形象都源于一种自我意识,他是对一个与他相比的我,一个与彼处相比的此在意义。”像异国肖像、异国地理环境、异国人等,都可以纳入比较文学形象学他者研究范围。

异国肖像。在国际交流中,异国绘画、瓷器、挂毯乃至园林等常常比口语或文字形式所表达的民俗意义更有情趣、更加生动活泼,而且这些肖像形式还能将表情达意和馈赠、供奉、装饰等功能融为一体,从而对注视者及其本国文化产生重要影响。

异国地理环境。在比较文学形象学中,研究者关注的则是异国地理环境对异国人生理特征、生产活动和生产方式的制约作用。

异国人。人种的差异构成了多元文化的基石。注视者与他者的关系。

狂热。“一个作家或团体把异国现实看作绝对优于注视者文化,又有本土文化的东西”,“与提高异国身份相对应的,就是对本土文化的否定和贬抑”。这时候,注视者建构的异国形象已完全被理想化,具有天堂般的幻想色彩。

天天版权所有 如歌德想象中的中国和中国人就源自于这种狂热的态度。

憎恶。在这种关系形态下,“与优越的本土文化相比,异国现实被视为是落后的”。在憎恶的心理的驱使下,注视者在极力丑化、妖魔化他者形象时,也建构了一种凌驾于他者之上的无比美好的本土文化幻象。如《一千零一夜》中,波斯人被称为“拜火教徒”“伪信者”“卡菲尔”。他们面目狰狞,丑态百出。这些波斯人形象的背后,潜藏在作为征服者的阿拉伯人对信仰多神教的被征服的波斯人的鄙视和厌恶,在这种对波斯人形象阴暗面的夸大中彰显的时阿拉伯人的优越感。

亲善。在这种关系状态下,“异国文化现实被视为正面的,它来到一个注视者文化中,在其中占有一席之地,而注视者是接受者文化,他自身也被视为正面的”。他与“狂热”要求的对他者文化的完全顺应以及和“憎恶”要求的对他者粗暴的同化不同,它认为他者处于与注视者相比既不更高也不更低的地位,二者构成一种相互尊重,平等对话、交流的关系。

30.形象学的研究方法与前景(p130)

主要分为:文本外部研究和文本内部研究。

(一)文本外部研究

属于一种文学社会学研究,它具有明显的跨学科特性。比较文学形象学外部研究的内容包括:

社会集体想象物。指涉的作家创作的那个年代整个社会对于异国的看法,这一“研究代表了形象学的历史层面”。他是在本文之外展开的,要求研究者对文学形象进行一种扩展了的社会文化语境研究。

作家。作家异国知识的来源,不仅影响着他者形象表现的形态,而且影响形象的性质。作家不同的经历和观看方式以及视角会直接影响到他者形象制作的效果。作家创作是不同的情感和精神状态,同样也会影响他塑造他者形象的存在方式和性质。如同样作为他者形象的日本女子,徐志摩《沙扬娜拉》中的日本女子就比郁达夫《沉沦》中的日本女子可亲可近,这与他二人的地位与心态的差异有很大关系。

异国形象与真实的异国的关系。他者形象的真实性程度,并不能决定这一形象的审美价值。考察他者形象与他者现实之间的关系重点在于注视者一方的文化模式上,重点在对这种文化模式的产生、发展、传播与影响的探寻上。例如作为理解席勒《杜兰朵》的历史背景应该是欧洲思想史,而不是历史上的中国。

(二)文本内部研究

比较文学形象学研究的基石仍在文本内部,它不能放弃对文本内部的研究。主要在三个方面:

词汇。词汇是构成他者形象的最基本的单位。在文本中这些词汇构成一个词汇场,这些此会场共同生成概念的、情感的词库构建了一个他者的形象。

套话:不同文本中反复出现的、具有深刻的文化隐喻意义的约定俗成的词汇。是对一种文化的概括,是一种文化标志的缩影。作为他者定义的载体,套话是陈述集体知识的一个最小单位。套话的制作方式主要分为两种,一种是表语和主语部分的混淆,一种是自然属性与文化属性的混淆。如“乾隆很开明”“老毛子”

天天版权所有 等。

等级关系。总体看,表现在我(叙述者、本土文化)与他者(人物、被描述文化)的两组关系的对立上。具体来看,则可以从时空和人物体系等方面进行研究。

故事情节。在这一阶段,研究重点是文本如何通过程序化和模式化的一系列叙事序列建构异国形象的。例如,《烈火金刚》《吕梁英雄传》等小说中的日本人形象就是由一个再生式的故事模式,将日本人的形象定位在凶残和野蛮的侵略者层面上,也就成为了正义必将战胜邪恶的真理的有力阐释。天天版权所有

下载vb期末考试复习资料(经典总结版)word格式文档
下载vb期末考试复习资料(经典总结版).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    民间文学期末考试复习资料

    民间文学复习资料 一、名词解释 1、民间文学:一个民族在生活语境里集体创作、在漫长的历史中传承发展的语言艺术。它既是该民族生说、思想与感情的自发流露,有关历史科学宗......

    人文地理学期末考试复习资料

    名词解释: 1. 赫特纳:德国地理学家,区域学派的代表人物,他主张地理学应着重于空间分析,区域地理学是地理学的核心,地理学研究的区域应是人类与环境相互作用的结果,所有自然界中与人......

    《行政管理学》期末考试复习资料

    2011-2012学年第一学期行政管理学(补)期末复习资料 考试形式:机考,90分钟 考试题型,全部客观题。 单项选择题,1个1分,共25个25分 多项选择题,1个2分,共15个30分 判断正误题,......

    职业规划期末考试复习资料

    2013级职业规划期末考试复习资料 一、考试题型及布分情况 1. 单项选择(每题2分,20题共40分) 2. 判断正误(每题2分,10题共20分) 3. 名词解释(每题5分,2题共10分) 4. 简答题(每题5分,2题......

    儿童文学期末考试复习资料

    儿童文学期末考试复习资料 1、凡尔纳是19世纪法国现代科幻小说重要开创之一,他的三部曲是《格兰 特船长的女儿》、《海底两万里》、《神秘岛》其中《80天遨游地球》被誉 为“......

    审计学期末考试复习资料

    一、名词解释(考试为5道题,15分) 1.审计风险 2. 审计目标3.实质性程序4.误拒风险 5.循环审计法 6.会计师事务所7.审计证据8.分析性复核 9.重要性10.保留意见11.审计准则 12.内......

    《刑事诉讼法》期末考试复习资料

    《刑事诉讼法》期末复习资料 (名词、问答及部分案例)一、名词解释 1、自诉人:是指在自诉案件中以个人名义直接向人民法院提起刑事诉讼,请求追究被告人刑事责任的人。 2、辩护人:......

    美学期末考试复习资料

    悲剧: 广义悲指作为审美范畴;狭义的悲是指戏剧体裁,在西方美学史上是以艺术中的悲剧为主要研究对象的,广义的悲以狭义的悲为研究对象。戏剧: 是通过展示被否定对象的不合理性,......