国家二级(VB)机试模拟试卷219
选择题
1.程序流程图中带有箭头的线段表示的是( )。(C)
A. 图元关系
B. 数据流
C. 控制流
D. 调用关系
解析:在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。所以选择C。
2.窗体上有两个名称分别为Text1、Text2的文本框,一个名称为Command1的命令按钮。设有如下的类型声明:
Type Person
name As String*8
major As String*20
End Type
当单击命令按钮时,将两个文本框中的内容写入一个随机文件Test.dat中。设文本框中的数据已正确地赋值给Person类型的变量P。则能够正确地把数据写入文件的程序段是( )。(C)
A. Open\\
B. Open\\
C. Open\\
D. Open\\
解析:本题考查随机文件读写。以Random打开随机文件的格式为:Open文件名For Random As#文件号[Len=记录长度],该语句可以进行读写操作,写操作恪式为:Put#文件号,[记录号],变量名,可以将一个记录变量的内容写到指定的记录位置处,如果忽略记录号,则表示在当前记录后的位置捅入一条记录。读操作格式为:Get[#]文件号,[记录号],变量名,如果忽略记录号,则读出当前记录后面的那一条记录。
3.以下叙述中错误的是( )。(C)
A. 在程序运行时,通用对话框控件是不可见的
B. 调用同一个通用对话框控件的不同方法(如ShowOpen或ShowSave)可以打开不同的对话框窗口
C. 调用通用对话框控件的ShowOpen方法,能够直接打丌在该通用对话框中指定的文件
D. 调用通用对话框控件的ShowColor方法,可以打开颜色对话框窗口
解析:调用通用对话框的ShowOpen方法,只是显示文件“打开”对话框,如果ShowOpen方法后面没有其他处理文件的代码,就不能实现打开文件的功能。故选项C错误。
4.下面程序运行时,若输入395,则输出结果是( )。
Private Sub CmdI_Click()
Dim a%
a=InputBox(“请输入一个3位整数”)
Print a Mod 10,a\100,(a Mod 100)\10
End Sub(C)
A. 5 9 3
B. 3 5 9
C. 5 3 9
D. 3 9 5
解析:vB中常用算术运算符有8个,其中幂运算符(^)优先级最高;其次是取负(-)、乘(*)、浮点除(/)、整除(\)、取模(M0d)、加(+)、减(-)。
5.下面不能在信息框中输出\\(D)
A. MsgBox \\
B. x=MsgBox(\\
C. MsgBox(\\
D. Call MsgBox \\
解析:Msgbox的功能:显示消息提示框,在对话框中显示提示消息,等待用户单击按钮,单击不同的按钮返回不同的整数。
MsgBox函数格式:变量=MsgBox([,样式][,标题]),注意MsgBox函数带括号,有返回值;
MsgBox语句格式:MsgBox([,样式][,标题]),有无括号都可以,无返回值。
选项D中用Call语句调用MsgBox函数,要符合Call语句的语法规则:Call 函数名(实参表),缺少括号,应该为Call MsgBox(\\
6.假定有以下循环结构:
Do Until 条件表达式
循环体
Loop
则以下正确的描述是( )。(D)
A. 如果\\
B. 如果\\
C. 不论\\
D. 如果\\
解析:本题的Do Until… Loop 循环结构是先判断,再执行的结构。
Do Until 循环语句执行的过程是,先判断条件表达式的值,如果条件表达式的值为0或False时,即条件不成立时,则执行循环体,否则当条件表达式的值为非0或True时,即成立,则退出DO…Loop 循环。
本题中,选项A条件表达式的值是0,说明条件不成立,执行循环体。故A错误。
选项B条件表达式的值不为0,说明条件成立,退出循环。故B错误。
选项C中Do Until…Loop语句中条件表达式的值为\\
7.为达到把a、b中的值交换后输出的目的,某人编程如下:
Private Sub Command1_Click()
a%=10:b%=20
Call swap(a,b)
Print a,b
End Sub
Private Sub swap(ByVal a As Integer,ByVal b As Integer)
c=a:a=b:b=c
End Sub
在运行时发现输出结果错了,需要修改。下面列出的错误原因和修改方案中正确的是( )。(C)
A. 调用swap过程的语句错误,应改为:Call swap a,b
B. 输出语句错误,应改为:Print\\
C. 过程的形式参数有错,应改为:swap(ByRef a As Integer,ByRef b As Integer)
D. swap中3条赋值语句的顺序是错误的,应改为a=b:b=c:c=a
解析:本题考查参数传递。VB过程调用中,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用ByVal声明,说明此参数为传值调用;若用ByRef声明,说明此参数为传址调用;没有说明传递类型,则默认为传址传递(即形参的结果会传递给实参)。本题中为了实现数据的交换,要求进行传址调用,因此形参前面不应用ByVal声明。
8.下面关于算法的叙述中,正确的是( )。(B)
A. 算法的执行效率与数据的存储结构无关
B. 算法的有穷性是指算法必须能在执行有限个步骤之后终止
C. 算法的空间复杂度是指算法程序中指令(或语句)的条数
D. 以上三种描述都正确
解析:算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。算法的有穷性是指一个算法必须在执行有限的步骤以后结束。
9.以下关于函数过程的叙述中,正确的是( )。(A)
A. 函数过程形参的类型与函数返回值的类型没有关系
B. 在函数过程中,过程的返回值可以有多个
C. 当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递
D. 如果不指明函数过程参数的类型,则该参数没有数据类型
解析:定义函数过程的格式:
Function 函数过程名([形参表])As函数返回值的数据类型
函数过程名=表达式
End Function
说明:
①形参的类型可以是任何数据类型,函数返回值的类型是调用函数后返回的数据类型,,他们没有关系,互不影响。故选项A正确。
②选项B错误的原因是:函数过程中可以有多个\\
10.在3种不同类型的组合框中
本文档预览:3600字符,共20431字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载