VB考试试题及答案

合集下载

vb考试试题及答案

vb考试试题及答案

vb考试试题及答案一、选择题(每题2分,共20分)1. 在VB中,以下哪个关键字用于声明类模块中的属性?A. DimB. PublicC. PrivateD. Property答案:D2. VB中的“Option Explicit”语句用于做什么?A. 声明变量类型B. 强制变量声明C. 定义过程D. 创建对象实例答案:B3. 下列哪个不是VB的控件事件?A. ClickB. LoadC. ChangeD. Hover答案:D4. 在VB中,以下哪个不是标准数据类型?A. IntegerB. StringC. BooleanD. Pointer答案:D5. VB中的“With”语句用于什么?A. 初始化对象B. 创建对象实例C. 引用对象的多个属性或方法D. 循环遍历集合答案:C6. 在VB中,如何将一个表达式的结果赋值给一个变量?A. 使用“=”运算符B. 使用“==”运算符C. 使用“:=”运算符D. 使用“->”运算符答案:A7. 下列哪个是VB中的循环结构?A. IfB. For EachC. Select CaseD. While答案:D8. 在VB中,如何表示一个空引用?A. NullB. NothingC. EmptyD. Undefined答案:B9. VB中的“Handles”关键字用于什么?A. 过程定义B. 事件处理C. 类定义D. 属性声明答案:B10. 在VB中,以下哪个不是集合的属性或方法?A. AddB. ItemC. CountD. Sort答案:D二、填空题(每题2分,共20分)11. VB中的________关键字用于定义一个方法或属性的访问级别。

答案:Private12. 当你想要在VB中创建一个新类时,你需要使用________关键字。

答案:Class13. 在VB中,________方法用于在运行时创建对象。

答案:New14. 如果你想要在VB中捕获并处理异常,你应该使用________语句。

VB期末考试考卷及答案

VB期末考试考卷及答案

VB期末考试考卷及答案一、选择题(每题1分,共5分)1. 在VB中,下列哪个函数用于返回字符串的长度?A. Len()B. Length()C. Size()D. Count()A. DimB. IntegerC. IntD. Var3. 在VB中,下列哪个语句用于退出当前循环?A. Exit ForB. BreakC. Exit DoD. ContinueA. OpenB. LoadC. CreateD. Read5. 在VB中,下列哪个事件在窗体加载时发生?A. LoadB. InitializeC. FormLoadD. FormOpen二、判断题(每题1分,共5分)1. VB中的变量必须先声明后使用。

()2. 在VB中,Sub过程可以返回值。

()3. VB中的数组下标从1开始。

()4. 在VB中,可以使用Select Case语句进行多条件判断。

()5. VB中的字符串可以用单引号(')表示。

()三、填空题(每题1分,共5分)1. 在VB中,用于声明常量的关键字是______。

2. VB中的逻辑运算符包括______、______和______。

3. 在VB中,要实现两个变量的值交换,可以使用______变量作为中间变量。

4. 在VB中,______方法用于设置文本框的字体。

5. VB中的______事件在用户单击按钮时发生。

四、简答题(每题2分,共10分)1. 简述VB中事件的执行过程。

2. 请列举三种VB中的数据类型。

3. 简述如何使用Select Case语句进行多条件判断。

4. 请说明如何使用VB中的循环结构实现1到100的累加。

5. 简述如何使用VB中的文件操作函数读取文件内容。

五、应用题(每题2分,共10分)1. 编写一个VB程序,计算并输出1到100之间所有偶数的和。

2. 编写一个VB程序,实现用户输入一个字符串,程序将其逆序输出。

3. 编写一个VB程序,使用循环结构输出九九乘法表。

vb程序设计试题及答案

vb程序设计试题及答案

vb程序设计试题及答案一、选择题(每题2分,共20分)1. 在VB中,下列哪个选项是正确的数据类型?A. IntegerB. DoubleC. StringD. All of the above答案:D2. VB中用于声明变量的关键字是?A. DimB. DeclareC. SetD. All of the above答案:A3. 在VB中,下列哪个选项是正确的循环语句?A. ForB. DoC. WhileD. All of the above答案:D4. VB中用于打开文件的函数是?A. OpenB. CloseC. WriteD. Read答案:A5. 在VB中,下列哪个选项是正确的条件语句?A. If...ThenB. Select CaseC. Do WhileD. All of the above答案:A6. VB中用于创建新窗体的语句是?A. Form.ShowB. Form.NewC. Form.CreateD. Form.Open答案:A7. VB中用于声明常量的关键字是?A. ConstB. DimC. StaticD. Option答案:A8. 在VB中,下列哪个选项是正确的数组声明?A. Dim arr(5) As IntegerB. Dim arr() As IntegerC. Dim arr As IntegerD. Dim arr(5) As String答案:A9. VB中用于结束程序的语句是?A. EndB. ExitC. CloseD. All of the above答案:B10. VB中用于捕获异常的语句是?A. Try...CatchB. On ErrorC. CatchD. All of the above答案:B二、填空题(每题2分,共20分)1. 在VB中,声明一个名为myVar的变量,其类型为字符串,应该使用语句________。

答案:Dim myVar As String2. VB中,用于定义一个名为myFunction的函数,返回值为整数,应该使用语句________。

vb基础函数试题及答案

vb基础函数试题及答案

vb基础函数试题及答案一、选择题(每题2分,共20分)1. 在VB中,哪个函数用于计算字符串的长度?A. LenB. StrC. UCaseD. LCase答案:A2. 下列哪个函数可以将数字转换为字符串?A. ValB. StrC. IntD. CInt答案:B3. 在VB中,哪个函数用于获取当前日期?A. NowB. DateC. TimeD. Today答案:D4. 如果变量x的值为5,那么表达式"x * 2"的结果是什么?A. 10C. 5D. 2答案:A5. 在VB中,哪个函数用于获取系统时间?A. NowB. DateC. TimeD. Today答案:C6. 下列哪个函数用于将字符串转换为数字?A. ValB. StrC. IntD. CInt答案:A7. 在VB中,哪个函数用于计算两个数的和?A. SumB. AddC. +D. =答案:C8. 如果变量x的值为10,那么表达式"x Mod 3"的结果是什么?B. 0C. 3D. 10答案:A9. 在VB中,哪个函数用于计算两个数的差?A. DiffB. SubtractC. -D. =答案:C10. 下列哪个函数用于将数字四舍五入到最接近的整数?A. RoundB. IntC. CIntD. Fix答案:A二、填空题(每题2分,共20分)1. VB中,使用________函数可以将字符串转换为大写。

答案:UCase2. 使用________函数可以获取当前的日期和时间。

答案:Now3. 使用________函数可以将数字格式化为货币格式。

答案:FormatCurrency4. 使用________函数可以获取系统当前的年份。

答案:Year(Date)5. 使用________函数可以获取系统当前的月份。

答案:Month(Date)6. 使用________函数可以将数字格式化为百分比。

答案:FormatPercent7. 使用________函数可以获取系统当前的星期几。

vb初级编程试题及答案

vb初级编程试题及答案

vb初级编程试题及答案一、选择题(每题2分,共20分)1. 在VB中,以下哪个关键字用于声明一个类?A. DimB. SubC. FunctionD. Class答案:D2. 如果一个变量在VB中被声明为Static,那么它的生命周期是多久?A. 只在程序运行期间B. 只在过程运行期间C. 直到程序结束D. 只在线程运行期间答案:C3. 在VB中,以下哪个不是基本数据类型?A. IntegerB. StringC. ObjectD. Float答案:C4. 使用哪个VB函数可以将字符串转换为数值?A. ValB. StrC. ChrD. Asc答案:A5. 在VB中,以下哪个控件用于显示单行文本?A. LabelB. TextBoxC. ComboBoxD. CheckBox答案:B6. 在VB中,以下哪个事件用于响应按钮点击?A. ClickB. LoadC. ChangeD. DblClick答案:A7. 在VB中,以下哪个属性用于设置控件是否可用?A. EnabledB. VisibleC. CaptionD. Text答案:A8. 在VB中,以下哪个方法用于在文本框中添加文本?A. AppendB. WriteC. PrintD. Add答案:B9. 在VB中,以下哪个循环结构用于重复执行代码直到条件满足?A. Do WhileB. ForC. For EachD. While答案:D10. 在VB中,以下哪个关键字用于创建一个数组?A. DimB. NewC. ArrayD. Create答案:A二、填空题(每题2分,共20分)11. 在VB中,使用________函数可以获取字符串的长度。

答案:Len12. 当需要在VB中创建一个自定义函数时,应使用________关键字。

答案:Function13. 在VB中,________事件用于响应文本框内容的变化。

答案:Change14. 要将一个变量的值传递给VB中的函数,应使用________关键字。

vb试题及答案选择

vb试题及答案选择

vb试题及答案选择VB试题及答案选择1. 在Visual Basic中,以下哪个关键字用于声明变量?A. DimB. ConstC. FunctionD. Sub答案:A2. 以下哪个选项不是Visual Basic的控制结构?A. If...Then...ElseB. For...NextC. Do...LoopD. Switch...Case答案:D3. 在Visual Basic中,如何将文本框(TextBox)的内容赋值给一个变量?A. Dim text As String = TextBox1.TextB. Dim text As String = TextBox1.TextC. Dim text As String = TextBox1.ValueD. Dim text As String = TextBox1.Text答案:A4. 如果要在Visual Basic中创建一个窗体(Form),应该使用以下哪个类?A. FormB. UserControlC. PanelD. Button答案:A5. 在Visual Basic中,如何声明一个名为“myFunction”的过程,它不接受参数也不返回值?A. Function myFunction() As VoidB. Sub myFunction()C. Function myFunction() As IntegerD. Sub myFunction() As Integer答案:B6. 如果要在一个事件处理程序中引用当前窗体,可以使用哪个关键字?A. MeB. ThisC. SelfD. Current答案:A7. 在Visual Basic中,如何声明一个数组?A. Dim numbers(5) As IntegerB. Dim numbers As Integer(5)C. Dim numbers(5) As StringD. Dim numbers As Integer[5]答案:A8. 在Visual Basic中,以下哪个是正确的字符串连接运算符?A. +B. &C. *D. =答案:B9. 如何在Visual Basic中声明一个名为“myClass”的类?A. Function myClassB. Sub myClassC. Class myClassD. Dim myClass答案:C10. 在Visual Basic中,以下哪个关键字用于捕获所有未处理的异常?A. Try...CatchB. If...Then...ElseC. For...NextD. While...End While答案:A11. 在Visual Basic中,如何声明一个名为“myButton”的按钮?A. Dim myButton As ButtonB. Sub myButtonC. Function myButtonD. Dim myButton As Control答案:A12. 在Visual Basic中,如何将一个变量的值增加1?A. Increment myVarB. myVar += 1C. myVar = myVar + 1D. myVar.Increment()答案:C13. 在Visual Basic中,如何声明一个名为“myLabel”的标签?A. Dim myLabel As LabelB. Sub myLabelC. Function myLabelD. Dim myLabel As Control答案:A14. 在Visual Basic中,以下哪个关键字用于退出当前的过程?A. ExitB. ReturnC. EndD. Quit答案:A15. 在Visual Basic中,如何声明一个名为“myList”的列表?A. Dim myList As List(Of String)B. Dim myList As String()C. Dim myList As ArrayD. Dim myList As Collection答案:A16. 在Visual Basic中,如何声明一个名为“myDictionary”的字典?A. Dim myDictionary As DictionaryB. Dim myDictionary As HashtableC. Dim myDictionary As List(Of String)D. Dim myDictionary As Array答案:A17. 在Visual Basic中,如何声明一个名为“myEvent”的事件?A. Event myEventB. Sub myEvent()C. Function myEvent()D. Dim myEvent As Event答案:A18. 在Visual Basic中,如何声明一个名为“myDelegate”的委托?A. Delegate myDelegateB. Sub myDelegate()C. Function myDelegate()D. Dim myDelegate As Delegate答案:D19. 在Visual Basic中,如何声明一个名为“myEnum”的枚举?A. Enum myEnumB. Sub myEnumC. Function myEnumD. Dim myEnum As Enum。

vb基础期末考试题库及答案

vb基础期末考试题库及答案

vb基础期末考试题库及答案一、选择题(每题2分,共20分)1. 在Visual Basic中,以下哪个是正确的数据类型?A. IntegerB. intC. StringD. str答案:A、C2. 下列哪个选项不是VB的控件?A. TextBoxB. ButtonC. LabelD. ComboBox答案:B3. VB中,用于声明一个变量的关键字是:A. DimB. DeclareC. FunctionD. Sub答案:A4. 在VB中,以下哪个是正确的函数用于将字符串转换为整数?A. StrToIntB. CIntC. ValD. Convert.ToInt32答案:B5. Visual Basic中,哪个属性用于设置文本框的文本?A. TextB. CaptionC. ValueD. Label答案:A6. 下列哪个是VB中用于循环的语句?A. IfB. ForC. WhileD. Select答案:B、C7. VB中,下列哪个关键字用于定义一个过程?A. FunctionB. SubC. ClassD. Module答案:B8. 在VB中,以下哪个是正确的事件处理程序?A. OnClickB. OnClickC. ClickD. OnClick答案:A、C9. VB中,下列哪个选项用于声明一个常量?A. ConstB. DimC. StaticD. Public答案:A10. 在VB中,以下哪个关键字用于定义一个类?A. ClassB. ModuleC. StructureD. Interface答案:A二、填空题(每题2分,共20分)1. 在VB中,使用________关键字来结束一个程序。

答案:End2. VB中,________关键字用于声明一个数组。

答案:Dim3. 使用________函数可以将一个数字转换为字符串。

答案:Str4. 在VB中,________关键字用于定义一个全局变量。

vb考试试题题库及答案

vb考试试题题库及答案

vb考试试题题库及答案VB(Visual Basic)是一种由微软公司开发的编程语言,广泛用于开发Windows应用程序。

以下是一些VB考试的试题题库及答案,供参考:一、单选题1. 在VB中,以下哪个是正确的数据类型?- A. Integer- B. Real- C. String- D. All of the above答案:D2. VB中的“Sub”过程与“Function”过程的区别是什么?- A. Sub过程可以返回值,Function过程不能- B. Function过程可以返回值,Sub过程不能- C. 两者都可以返回值- D. 两者都不能返回值答案:B3. 在VB中,以下哪个是正确的变量声明方式?- A. Dim x- B. Declare x As Integer- C. Both A and B- D. None of the above答案:C二、多选题1. VB中的控件可以具有哪些属性?- A. Name- B. Caption- C. Font- D. All of the above答案:D2. VB中,以下哪些是事件驱动的编程语言的特点?- A. 事件驱动的程序在事件发生时执行代码- B. 程序的执行顺序由事件的触发顺序决定- C. 程序可以同时响应多个事件- D. 程序必须等待事件的发生才能执行答案:A, B, C三、判断题1. VB是一种编译型语言。

- 正确- 错误答案:错误2. 在VB中,可以使用“Print”方法在文本框中显示文本。

- 正确- 错误答案:正确3. VB中的“Option Explicit”语句可以强制声明所有变量。

- 正确- 错误答案:正确四、简答题1. 简述VB中的事件和方法的区别。

答案:事件是用户或系统触发的动作,如点击按钮、键盘输入等。

方法是一种过程,可以包含代码来执行特定的任务或计算。

事件通常与控件相关联,并可以触发方法的执行。

2. 解释VB中“类”的概念。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VB考试试题及答案卷1一、填空题1、VB程序设计的主要特点是可视化设计和事件编程。

2、在VB中,最主要的两种对象是窗体(form)和控件。

3、工程是构成应用程序文件的集合。

4、方法是VB提供的一种特殊子程序,用来完成一定的操作。

5、浮点类型数据包括单精度型和___双精度__数据。

6、事件是窗体或控件对象识别的__动作____。

7、可用窗体的__print_ 方法在窗体中显示文字。

8、复选框控件Value属性指示复选框处于____选中___或禁止状态(暗淡的)中的某一种。

9、在VB中,修改窗体的高度(height)和宽度(width)属性值,可改变窗体的大小。

10、双击工具箱中的控件图标,可在窗体的中央出现一个尺寸为缺省值的控件。

11、在MsgBox函数中,如果缺省title参数,则使用工程1 作为消息框的标题。

12、设x=34.58,语句Print Format(x,“000.0”)的输出结果是34.6 。

13、在VB 中,数值型变量的初值为0 ,Varant型变量的初值为空,布尔型变量的初值为FALSE 。

14、设置窗体的picture 属性,可在窗体上显示图片。

15、程序运行工程中,清除MP图片框中的图片应使用语句cls 。

二、选择题1、菜单控件只包括一个事件,即 C ,当用鼠标单击或键盘选中后按“回车”键时触发该事件,除分隔条以外的所有菜单控件都能识别该事件。

A、GotFocusB、LoadC、Click D、KeyDown2、滚动条控件(如图所示)的Max属性所设置的是 A 。

A、滚动框处于最右位置时,一个滚动条位置的Value属性最大设置值B、单击滚动条和滚动箭头之间的区域时,滚动条中滚动块的最大移动量C、单击滚动条的箭头区域时,滚动条中滚动块的最大移动量D、滚动条控件无该属性3、SQL 语句Select * Form student 中的*表示 B 。

A、所有记录B、所有字段C、所有表D、都不对4、以下选项中,不属于标签的属性是 C 。

A、EnabledB、CaptionC、Default D、Font5、要求改命令按钮显示的文本,应当在属性窗口中改变的属性是 A 。

A、CaptionB、NameC、Text D、Label6、设置一个单选按钮(OptionButton)所代表选项的选中状态,应当在属性窗口中改变的属性是 D 。

A、CaptionB、NameC、Text D、Value7、允许在菜单项的左边设置打勾标记,下面哪种论述是正确的? D 。

A、在标题项中输入&,然后打勾B、在索引项中打勾C、在有效项中打勾D、在复选项中打勾8、当执行以下过程时,在窗体上将显示 A 。

Private Sub Command1_Click( )Print "VB";Print "Hello! ";Print "VB"End SubA、VBHello!VBB、VBHello!VBC、VBD、VBHello! VBHello!VB9、语句Print "The answer is:";20/4-2的结果为 B 。

A、The answer is 20/4-2B、The answer is 3C、The answer is "20/4-2"D、非法语句10、下列哪个控件是容器控件 B 。

A、ImageB、PictureC、ComboBox D、FileListBox11、若要将窗体从内存中卸载出去,其实现的方法是 D 。

A.ShowB.HideC.LoadD.UnLoad12、以下选项中,不是Visual Basic控件的是 A 。

A.窗体B.定时器C.单选框D.命令按钮13、双击窗体中的对象后,Visual Basic将显示的窗口是 A 。

A.代码窗口B.工具箱C.项目(工程)窗口D.属性窗口14、可决定窗体的左上角是否有控制菜单的属性是 A 。

A.ControlBoxB.MinButtonC.MaxButtonD.BorderStyle15、设有如下语句:Strl=InputBox("输人","","练习")从键盘上输人字符“示例”后,Strl的值是 D 。

A.“输入”B.“”C.“练习”D.“示例”16、窗体Form1的Name属性是Frm1,它的单击事件过程名是 C 。

A. Form1_ClickB.Form_ClickC. Frm1_ClickD. Me_Click17、窗体的hide属性的含义是 A 。

A.隐藏B.展现C.装入 D.卸载18、若要设置定时器控件的定时时间,需设置的属性是 C 。

A.Enabled B.Value C.Interval D.Text19、能够改变复选框中背景颜色的属性是 C 。

A.Value B.FontColor C.BackColor D.Font20、窗体能响应的事件是 B 。

A.ActiveForm B.Load C.DriveD.Change三、判断题(判断下列正确与否,正确的打√,错误的打ⅹ。

)1、三种方式的组合框都允许用户输入哪些不在列表框中的选项。

X2、图象框中的Stretch属性为true时,其作用是图形自动调整大小以适应图象控件。

X3、在菜单编辑器中使用“索引”时,可有一组菜单项具有相同的“名字”。

X4、通过改变属性窗口中的Name属性,来改变窗体的标题。

5、创建VB应用程序的三个主要步骤是:(1)创建应用程序界面(2)设置控件(3)编写代码。

X6、变量是指在程序运行过程中其值可以改变的那些量,而值不能改变的是常量。

7、已知P=MsgBox(“Howareyou?",VbYesNo+VbQuestion,“Hello!”),变量P是Integer数据类型。

8、工程文件的扩展名是.vbg 。

9、VB允许设计和使用用户自己设计的控件。

10、OptionButton控件没有DblCliek事件。

X11、同一条记录中的各数据具有相同的类型。

12、使用Data控件可以直接显示数据库中的数据。

X13、ImageList 是一个图像容器控件,可用作工具栏的图像库。

14、当用户单击工具栏按钮时,将触发工具栏按钮的ButtonClick事件。

15、在VB的工程资源管理器中,如果从工程中移除已经保存过的文件,该文件仍然被物理删除(真正删除)。

X16、如果列表框的ListConut的属性为10,则列表框最后一项的ListIndex 值为10。

X17、要是某个命令按钮不起作用,应将该按钮的Enabeld属性设置为False。

18、使用数组定义语句:Dim D$(10),则数组D中各元素的值为空。

X19、如果在一行中输入多条语句,各语句之间用使用;分隔。

X20、在代码窗口中输入某行代码并按回车键之后,如果代码变成红色,说明该行代码有语法错误。

四、读程序题,写出程序运行结果1、Private Sub Form_Click()Static SUM As IntegerI = 1Do While I<=10SUM = SUM + II = I + 1LoopPrint SUMEnd Sub运行程序,第一次单击窗体:55第二次单击窗体:1102、Private Sub Form_Click()Print "*"; Tab(6); 2, Tab(15); 5PrintFor I = 15 To 16Print I;For j = 2 To 6 Step 3Print Tab(3 * j); j * I;Next jPrintNext IEnd Sub程序运行结果:* 2 515 307516 3280五、编程题(一)窗体中有图片框(Picture1)和计时器(Timer1)两个控件,运行程序时,将图片加载到图片框中,然后图片框以每2秒钟一次的速度向窗体的右下脚移动,每次向左、向右移动100twip(20分之一像素)。

请填空:Private Sub Form_load( )Picture1.picture =loadPicture(“c:\pic\ball.ico”)Timer1 .Interval=200End SubPrivate Sub Timer1_Timer( )Static x , y As Integerx=x+100y=y+100Picture1.Move x , yEnd Sub(二)有一个单击按钮过程,其作用是产生50个60~100的随机数,统计其中被6整除余2的个数,并将这些数输出。

请填空:Private Sub Command1_Click()Dim x As Integer, N%Dim Counter As Integerrandomize TimerFor N=1 To 50X=Rnd()* rnd()*41+60If x Mod 6 =2 ThenPrint xCounter= Counter+1End ifNext NPrint CounterEnd Sub卷2第一部分:客观题一、单项选择题1、在窗体模块的通用段中声明变量时,不能使用的关键字是()A、 DimB、 PublicC、PrivateD、 Static2、在设计阶段,当双击窗体上的某个控件时,所打开的窗口是()A、工程资源管理器窗口B、工具箱窗口C、属性窗口D、代码窗口3、若要使某可见控件获得焦点,可使用()方法来实现。

A、RefreshB、SetfocusC、Gotfocus D、Value4、下列不可作为VB变量名的是()A、ABT1B、AlphaC、ABCD、4*Delta5、表达式 5 Mod 3+3\5*2的值是()A、 0B、 6C、4 D、 26、下列语句中,正确的赋值语句是()A、 i + j = 10B、 2i = jC、 j= i + j D、 i * j = 07、执行下列程序段后,x的值是()。

n = 4: x = 1: i = 1Dox = x * ii = i + 1Loop While i < nA、 2B、 6C、 10D、 148、当用户在窗体上单击鼠标时,不会触发的事件是()A、Click B、MouseDown C、MouseUp D、DblClick9、下列为整型变量的是()A、 x!B、 x#C、x$ D、 x%10、要从For循环中直接退出循环,可使用的语句( )。

A、Exit DoB、Exit LoopC、Exit For D、Stop11、下列逻辑表达式中,能正确表示条件“x,y都是奇数”的是()A、x Mod 2 =1 Or y Mod 2 =1B、xMod 2 =0 Or y Mod 2=0C、x Mod 2 =0 And y Mod 2=0D、xMod 2 =1 And y Mod 2 =112、在通用声明中给出Option Base 1语句,则数组a包含()个数组元素。

相关文档
最新文档