[计算机类试卷]国家二级VB机试(过程)模拟试卷6及答案与解析.doc

上传人:syndromehi216 文档编号:500117 上传时间:2018-11-30 格式:DOC 页数:32 大小:84KB
下载 相关 举报
[计算机类试卷]国家二级VB机试(过程)模拟试卷6及答案与解析.doc_第1页
第1页 / 共32页
[计算机类试卷]国家二级VB机试(过程)模拟试卷6及答案与解析.doc_第2页
第2页 / 共32页
[计算机类试卷]国家二级VB机试(过程)模拟试卷6及答案与解析.doc_第3页
第3页 / 共32页
[计算机类试卷]国家二级VB机试(过程)模拟试卷6及答案与解析.doc_第4页
第4页 / 共32页
[计算机类试卷]国家二级VB机试(过程)模拟试卷6及答案与解析.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、国家二级 VB机试(过程)模拟试卷 6及答案与解析 一、选择题 1 假定有如下事件过程: Private Sub Form_Click() Dim X As Integer,n As Integer x=2: n=0 Do While x 28 x=x*3: n=n+1 loop Print x, n End Sub 程序运行后,单击窗体,输出结果是 ( A) 81 4 ( B) 56 3 ( C) 28 1 ( D) 243 5 2 以下叙述中错误的是 ( A)标准模块文件的扩展名是 bas ( B)标准模块文件是纯代码文件 ( C)在标准模块中声明的全局变量可以在整个工程中使用 ( D)在

2、标准模块中不能定义过程 3 下面不能在信息框中输出 “VB”的是 ( A) MsgBox“VB“ ( B) x=MsgBox(“VB“) ( C) MsgBox(“VB“) ( D) Call MsgBox“VB“ 4 以下关于过程的叙述中,错误的是 ( A)在 Sub过程中不能再定义 Sub过程 ( B)事件过程也是 Sub过程 ( C)过程调用语句的形参个数必须与实参个数相同 ( D)函数过程一定有返回值 5 设子程序过程定义的首部为: Public Sub S(X As Integer, Y As Single)则以下正确的调用形式为 ( A) Call S 5, 4 8 ( B) Ca

3、U Sub(5, 4 8) ( C) Sub 5, 4 8 ( D) S 5, 4 8 6 在窗体上画两个标签和一个命令按钮,其名称分别为 Label1、 Label2和Command1,然后编写如下程序: Private Sub fune(L As Label) Private Sub Commandl_Click() L Caption=“1234“ a=Val(Label2 Caption) End Sub Call func(Label1) Private Sub Form_Load() Label2 Caption=a Label 1 Caption=“ABCDE“ End Sub

4、Label2 Caption=10 End Sub 程序运行后,单击命令按钮,则在两个标签中显示的内容分别为 ( A) ABCD和 10 ( B) 1234和 100 ( C) ABCD和 100 ( D) 1234和 10 7 设有如下 Commandl的单击事件过程及 fun过程: Pfivate Sub Commandl_Click() Privme Sub fun(x As Integer) Dim x As Integer Ifx Mod 2=0 Then fun(x 2) x=Val(InputBox(“请输入一个整数 “) Print x; fun(x) End Sub End

5、Sub 执行上述程序,输入 6,结果是 ( A) 3 6 ( B) 6 3 ( C) 6 ( D)程序死循环 8 编写如下程序: Private Sub Command1_Click() Sub subf(s1 As String s2 As String) Dim str1 As String, str2 As String Dim temp As String str1InputBox(“输入一个字符串 “) Static i As Integer i=i+1 subf str1, str2: Print str2 temp=Mid(s1, i, 1) End Sub If temp “T

6、hen subf s1, s2 s2=s2&temp End Sub 程序运行后,单击命令按钮 Command1,且输入 “abcdef”,则输出结果为 ( A) afbecd ( B) cdbeaf ( C) fedcba ( D) adbecf 9 以下关于函数过程的叙述中,正确的是 ( A)函数过程形参的类型与函数返回值的类型没有关系 ( B)在函数 过程中,过程的返回值可以有多个 ( C)当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递 ( D)如果不指明函数过程参数的类型,则该参数没有数据类型 10 在 VB中,函数过程与子程序过程的区别之一是 ( A)函数过程必须

7、有参数,而子程序过程可以没有 ( B)函数过程的参数传递只采用值传递,而子程序过程只采用地址传递 ( C)在程序中,子程序过程调用的代码可以写在表达式中,而函数过程不能 ( D)函数过程有返回值,而子程序过程没有 11 在窗体上画一个命令按钮 (名称为 Commandl),并编写如下代码: Function Fun 1(ByVal a As Integer, Private Sub Commandl_Click() b As Integer)As Integer Dim x As Integer Dim t As Integer x=10 t=a b: b=t+a: Fun1=t+b Prin

8、t Fun1(Fun1(x, (Fun1(x, x 1), x 1) End Function End Sub 程序运行后,单击命令按钮,输出结果是 ( A) 10 ( B) 0 ( C) 11 ( D) 21 12 有下面程序代码: Private Sub Commandl_Click() Dim aAs String a=“COMPUTER“n=search(a, “T“): Print IIf(n=0, “未找到 “, n) End Sub Private Function search(str As String, ch As String)As Integer For k=1 To

9、Len(str) c=Mid(str, k, 1) Ifc=ch Then search=k: Exit Function End If Next k search=0 End Function 程序运行后,单击命令按钮 Commandl,输出结果是 ( A) 0 ( B) 8 ( C) 6 ( D)未找到 13 现有如下程序: Private Sub Commandl_Click() Public Function f(x As Integer) s=0 If x =10 Then For i=1 To 5 t=x+1 s=s+f(5+i) Else Next t=x+2 Print s E

10、nd If End Sub f=t End Function 运行程序,则窗体上显示的是 ( A) 38 ( B) 49 ( C) 61 ( D) 70 14 假定有以下通用过程: Function Fun(n As Integer)As Integer x=n*n: Fun=x 11 End Function 在窗体上画一个命令按钮,其名称为 Commandl,然后编写如下事件过程: Private Sub Commandl_Click() Dim i As Integer For i=1 To 2 y=Fun(i)Print y; Next i End Sub 程序运行后,单击命令按钮,在

11、窗体上显示的内容是 ( A) 1 3 ( B) 10 8 ( C) 10 7 ( D) 0 5 15 求 1!+2!+10! 的程序如下: Private Function s(x As Integer) Private Sub Commandl_Click() f=1 Dim i As Integer, y As Long For i=1 To x For i=1 To 10 f=f*i ( ) Next Next s=f Print y End Function End Sub 为实现功能要求,程序的括号中应该填入的内容是 ( A) Call s(i) ( B) Call s ( C) y

12、=y+s(i) ( D) y=y+s 16 在窗体上画一个名称为 Commandl的命令按钮,并编写如下程序: Function Fun(x) Private Sub Commandl_Click() y=0 n=InputBox(“请输入一个数 “) Ifx 10 Then n=Val(n) y=x P=Fun(n): Print P Else End Sub y=y+10 End If Fun=y End Function 运行程序,单击命 令按钮,将显示输入对话框,如果在对话框中输入 100,并单击“确定 ”按钮,则输出结果为 ( A) 10 ( B) 100 ( C) 110 ( D)

13、出错信息 17 设有如下事件过程: Private Sub Commandl_Click()Dim a Private Function fun(x, Y)As Integer a=Array(12, 3, 8, 5, 10, 3, 5, 9, 2, 4) Do While x =y For k=1 To 9 x=x y Print fun(a(k 1), a(k); “; Loop Next k fun=x End Sub End Function 程序运行时的输出结果是 ( A) 4 0 1 0 3 0 0 4 0 ( B) 0 3 3 5 1 3 5 1 2 ( C) 9-5 3-5 7

14、-2-4 7-2 ( D) 9 3 3 5 7 3 5 7 2 18 设有如下函数: Function DelSpace(ch As String)As Integer Dim n, st, c st=“: n=0 For k=1 To Len(ch) c=Mid(ch, k, 1) Ifc “Then st=st&c Else n=n+1 End If Next k ch=st: DelSpace=n End Function 该函数的功能是 ( A)统计并返回字符串 ch中字符 的个数 ( B)删除字符串 ch中的空格符,返回删除字符的个数 ( C)统计并返回字符串 ch中非空格字符数 (

15、 D)删除字符串 ch中除空格符外的其他字符,返回删除字符的个数 19 窗体上有一个名称为 Commandl的命令按钮,其单击事件过程及相关的函数过程如下: Private Sub Commandl_Click() Private Function p(x As Integer)As Boolean Dim i As Integer Ifx Mod 7 0 Then For i=1 To 500 p=True Ifp(i)Then s=s+1 Else Next p=False Print s End If End Sub End Function 关于上述程序,以下叙述中正确的是 ( A)程

16、序功能是统计 1-500范围内能被 7整除的整数个数 ( B) Commandl Click事件过程中 If语句的条件表达式不完整 ( C) Function过程定义有误,函数过程 P的名称与该过程中的变量名 P相同 ( D)函数过程 P的返回值为 Boolean类型 20 设有下面程序代码: Pfivme Sub Commandl_Click() Dim strAs String, ehAs String str=“Visual Basic Programming“: ch=“a“ n=fun(ch, str): Print str, n End Sub Private Function f

17、un(ch As String, str As String)As Integer Dim strbufAs String, c As String, n As Integer For k=1 To Len(str) c=Mid (str, k, 1) Ifc ch Then strbuf=strbuf&c Else strbuf=strbuf&UCase(c): n=n+1 End If Next k str=strbuf: fun=n End Function 程序运行时的输出是 ( A) Visual Basic Programming 0 ( B) VisuAl BAsic Progr

18、Amming 3 ( C) Visul Bsic Prograzming 3 ( D) VisualBasicProgramming 2 21 以下叙述中错误的是 ( A)在通用过程中,多个形式参数之间可以用逗号作为分隔符 ( B)在 Print方法中,多个输出项之间可以用逗号作为分隔符 ( C)在 Dim语句中,所定义的多个变量可以用逗号作为分隔符 ( D)当一行中有多个语句时,可以用逗号作为分隔符 22 以下关于过程及过程参数的描述中,错误的是 ( A)调用过程时可以用控件名称作为实际参数 ( B)用数组作为过程的参数时,使用的是 “传地址 ”方式 ( C)只有函数过程能够将过程中处理的信

19、息传回到调用的程序中 ( D)窗体 (Form)可以作为过程的参数 23 下面是求最大公约数的函数的首部 Function gcd(ByVal x As Integer, ByVal y As Integer)As Integer 若要输出 8、 12、 16这 3个数的最大公约数,下面正确的语句是 ( A) Print gcd(8, 12), gcd(12, 16), gcd(16, 8) ( B) Print gcd(8, 12, 16) ( C) Print gcd(8), gcd(12), gcd(16) ( D) Print gcd(8, gcd(12, 16) 24 为了通过传值方

20、式来传送过程参数,在函数声明部分应使用的关键字为 ( A) Value ( B) ByVal ( C) ByRef ( D) Reference 25 以下过程定义中正确的过程首行是 ( A) Private Sub Proc(Optional a as Integer, b as Integer) ( B) Private Sub Proc(a as Integer)as Integer ( C) Private Sub Proc(a()As Integer) ( D) Private Sub Proc(ByVal a()As Integer) 26 某人编写了下面的程序 Pfivate S

21、ub Commandl_Click() Private Sub pro(n As Integer) Dim a As Integer, b As Integer While(n 0) a=InputBox(“请输入整数 “) Print n Mod 10; n=n 10 b=InputBox(“请输入整数 “) Wend pro a: pro b Print Call pro(a+b) End Sub End Sub 此程序功能是:输入 2个正整数,反序输出这 2个数的每一位数字,再反序输出这2个数之和的每一位数字。例如:若输入 123和 234,则应该输出: 3 2 1 4 3 2 7 5

22、3但调试时发现只输出了前 2行 (即 2个数的反序 ),而未输出第 3行 (即 2个数之和的反序 ),程序需要修改。下面的修改方案中正确的是 ( A)把过程 pro的形式参数 n As Integer改为 ByVal n As Integer ( B)把 Call pro(a+b)改为 pro a+b ( C)把 n=n 10改为 n=n 10 ( D)在 pro b语句之后增加语句 c =a+b,再把 Call pro(a+b)改为 pro c 27 有下面程序代码: Pfivate Sub Commandl_Click() Private Sub proc(ByVal a As Integ

23、er) Dim x As Integer, s As Integer Static x As Integer x=1 x=x+1: a=a+x For k=1 To 3 End Sub x=x+1: proc x: s=s+x Next k Print s End Sub 程序运行后,单击命令按钮 Commandl,输出结果是 ( A) 6 ( B) 9 ( C) 15 ( D) 19 28 编写如下程序 : Pfivate Sub Commandl_Cliek()Dim x As Integer x=10 Print funl(x, 12)+x End Sub Private Functio

24、n fun1(m As Integer, n As Integer)As Integer Ifn 10 Then m=n fun1=m+n End Function 程序运行后,单击命令按钮 Commandl,输出结果为 ( A) 30 ( B) 32 ( C) 34 ( D) 36 29 在窗体上画一个名称为 Commandl的命令按钮,再画两个名称分别为 Label1、Label2的标签,然后编写如下程序代码: Private X As Integer Private Sub Commandl_Click() Private Sub proc(a As Integer, X=5: Y: 3

25、 ByVal b As Integer) Call proc(X, Y、 ) X: a*a: Y=b+b Label1 Caption=X End Sub Label2 Caption=Y End Sub 程序运行后,单击命令按钮,则两个标签中显示的内容分别是 ( A) 25和 3 ( B) 5和 3 ( C) 25和 6 ( D) 5和 6 30 设有如下通用过程: Public Function f(x As Integer) Dim y As Integer x: 20: y=2: f=x*y End Function 在窗体上画一个命令按钮,其名称为 Commandl,然后编写如下事件

26、过程: Private Sub Commandl_Click() Static x As Integer x=10: y=5: y=f(x)Print x; y End Sub 程序运行后,如果单击命令按钮,则在窗体上显示的内容是 ( A) 10 5 ( B) 20 40 ( C) 20 5 ( D) 10 40 31 命任何一个滚动条滚动框件过程如下: Private Sub Commandl_Click() Private Function f(y As Integer) x=10 Print f(x) f=y*y End Sub End Function 运行上述程序,如下叙述中正确的是

27、: ( A)程序运行出错, x变量的类型与函数参数的类型不符 ( B)在窗体上显示 100 ( C)函数定义错,函数名 f不能又作为变量名 ( D)在窗体上显示 10 32 编写如下程序: Private Sub Commandl_Click() Dim x As Integer, y As Integer x=InputBox(“输入第一个数 “): y=InputBox(“输入第二个数 “) Call f(x, y) Print x, y End Sub Sub f(a As Integer, ByVal b As Integer) a=a*: x=a+b: b=b+100 End Sub

28、 程序运行后,单击命令按钮 Commandl,并输入数值 10和 15,则输出结果为 ( A) 10 1 15 ( B) 20 11 5 ( C) 35 15 ( D) 20 15 33 现有程序如下: Option Base 1 Private Sub Form_Click() Sub f(m As Integer, n As Integer, Dim x(5, 6)As Integer, y(5)As Integer a()As Integer, b() As Integer) For i=1 To 5 For i=1 To m For j=1 To 6 b(i)=0 x(i, j)=In

29、t(Rnd*9+1) For j=1 To n Nextj b(i)=b(i)+a(i, j) Next i Nextj Call f(5, 6, x, y) Next i For i=l To 5 End Sub Print y(i); Next i End Sub 关于上述程序,以下叙述中正确的是 ( A)调用过程语句有错,参数不匹配 ( B)程序有错,数组下标越界 ( C) y数组中保存的是 x数组每行数据之和 ( D) x数组中数据的取值范围是 1 10 34 窗体上有一个名称为 Commandl的命令按钮,一个名称为 Text1的文本框。编写如下程序: Private Sub Com

30、mandl_Click() Private Function fun(ByRef n As Integer) Dim x As Integer If n MOd 3=0 Then x=Val(InputBox(“输入数据 “) n=n+n Text1=Str(x+fun(x)+fun(x) Else End Sub n=n*n End If fun=n End Function 对于上述程序,以下叙述中错误的是 ( A)语句 fun=n有错,因为 n是整型, fun没有定义类型 ( B)运行程序,输入值为 5时,文本框中 显示 655 ( C)运行程序,输入值为 6时,文本框中显示 42 (

31、D) ByRef表示参数按址传递 35 窗体上有一个名称为 Commandl的命令按钮,并有如下程序代码: Private Sub Commandl_Click() Sub f(ByVal x, ByRef Y, z) Static a x=x+1: y=y+1: z=z+1 a=1: b=2: c=3 End Sub Call f(a, b, c) Print a; b; c End Sub 运行程序,单击命令按钮,窗体上显示的是 ( A) 1 3 3 ( B) 1 3 4 ( C) 2 3 3 ( D) 2 3 4 36 窗体上有一个名称为 Commandl的命令按钮,其单击事件过程如下:

32、 Private Sub Commandl_Click() Dim x As Integer, y As Integer Static z As Integer x=3: y=5: z=y Call f(x, y, z) Print x; y; z End Sub Private Sub f(ByVal a As Integer,ByRef b As Integer,c As Integer) a=a+a: b=b+b: c=c+c End Sub 运行程序,单击命令按钮时, 3个标签中显示的内容分别是 ( A) 3 5 5 ( B) 3 5 10 ( C) 3 10 5 ( D) 3 10

33、10 37 窗体上有一个名称为 Commandl的命令按钮,其单击事件过程及相关的代码如下: Private Sub Commandl_Click() Dim x As Integer, y As Integer x=Val(InputBox(“输入整数 “) y=Val(InputBox(“输入整数 “) Print Str(fun(x, y)+x+y) End Sub Private Function fun(ByRef m As Integer,ByVal n As Integer) m=m*m: n=n+n: fun=m+n End Function 运行程序,单击命令按钮时,出现输入

34、对话框,分别输入 3、 5,则窗体上显示的是 ( A) 27 ( B) 28 ( C) 33 ( D) 38 38 设有如下程序: Private Sub Inv(ByVal xStr As String, As String) Dim tStr As String Dim L AS Integer L=Len(xStr) Do While L =1 tStr=tStr+Mid(xStr, L, 1): L=L 1 Loop yStr=tStr End Sub Private Sub Form_Click() Dim S1 As String, S2 As String S1=“abcdef“

35、Inv S1, S2 Print S2 End Sub 运行程序,单击窗体,输出结果为 ( A) abcdef ( B) afbecd ( C) fedcba ( D) defabc 39 设有如下程序: Private Sub sV(ByVal m As Integer, n As Integer) m=m*2: n=n 5: Print m; n End Sub Private Sub Form_Click() Dim x As Intege, y As Integer x=10: y=15: sV x, y Print x; y End Sub 运行程序,单击窗体,输出结果为 ( A)

36、20 10 10 10 ( B) 10 15 20 10 ( C) 20 15 10 15 ( D) 20 10 20 10 40 由高中数学可知,对于连续函数 f(x),若 f(x1)与 f(x2)值的符号相反,则在 x1和 x2之间必存在 x0,使得 f(x0)=0(该点称为 “零点 ”)。设有 VB函数: Private Function f(x As Single) As Single可以返回 f(x)的值 (函数体没有给出 )。下面程序的功能是从键盘输入 2个实数 x1、 x2,判断在 x1、 x2之间是否存在零点。 Private Sub Commandl_Click() Dim

37、x1 As Single, x2 As Single x1=InputBox(“请输入一个实数 x1“) x2=InputBox(“请再输入一个实数 x2”) If(_)Then Print“在 “; x1; “与 “; x2; “之间存在 零点 “ Else Print“不能确定在 “; x1; “与 “; x2; “之间是否存在零点 “ End If End Sub Private Function f(x As Single)As Single End Function 为使上面程序可以实现该功能,程序代码中横线处应填写的代码是 ( A) f(x1) 0 Or f(x2) 0 ( B)

38、f(x1) 0 And f(x2) 0 ( C) f(x1)*f(x2) 0 ( D) f(x1).f(x2) 0 41 编写如下程序: Private Sub Commandl_Click() Private Function fun1(ByVal m As Integer, Dim x As Integer,y As Integer n As Integer)As Integer x=10: y=20 m=m*m: n=n+n Call funl(x, y) End Function Print x; y End Sub 程序运行后,单击命令按钮 Com_mandl,输出结果为 ( A)

39、10 25 ( B) 10 40 ( C) 100 25 ( D) 100 40 42 设有以下过程: Private Sub proc(x As Integer,Optional Y As Integer) Print x, y End Sub 针对此过程,下面正确的过程调用语句是 ( A) Call proc(a!, 23) ( B) Call proc x, 12 ( C) proc b ( D) x=proc(12) 43 以下关于过程及过程参数的描述中,错误的是 ( A)过程的参数可以是控件名称 ( B)调用过程时使用的实参的个数应与过程形参的个数相同 (假定不含可变参数 ) ( C

40、)只有函数过程能够将过程中处理的信息返回到调用程序中 ( D)窗体可以作为过程的参数 国家二级 VB机试(过程)模拟试卷 6答案与解析 一、选择题 1 【正确答案】 A 【试题解析】 本题考查 Do While循环。在窗体的 Click事件代码里面,定义了变量 x和 n,分析 Do While循环可知, n保存循环次数, x是循环控制变量,如果x的值小于 28则进入循环体,因此 x和 n的变化过程是: 3和 1、 9和 2、 27和3、 81和 4,经过 4次循环后 x值变成 81,循环条件不成立,循环结束。 【知识模块】 过程 2 【正确答案】 D 【试题解析】 本题考查的考点是有关标准模块

41、的。 VB中的标准模块也称全局模块或总模块,由全局变量声明、模块层声明及通用过程等几部分组成,其扩展名为 bas,里面只有代码而没有任何控件。其中全局声明放在标准模块的首部,可以在整个工程中使用。 【知识模块】 过程 3 【正确答案】 D 【试题解析】 MsgBox()函数用于显示提示信息,并可返回一个代表用户单击了哪个按钮的 Integer类型值,当其作为函数使用时必须将参数放在括号内部,而返回值可以赋值给一个变量,也可以单独使用此函数而不将其返回值赋值给变量;MsgBox过程也用于显示提示信息,作为过程可以独立使用,也可以使用 Call关键字来进行调用,但此时参数需要加括号。 【知识模块】

42、 过程 4 【正确答案】 C 【试题解析】 Sub过程分为事件过程和通用过程,过程不允许嵌套定义,即在Sub过程中再 定义 Sub过程;函数过程必须有一个返回值,当过程的声明语句中使用了可选参数的时候,允许实参个数与形参不同。 【知识模块】 过程 5 【正确答案】 D 【试题解析】 子过程可以独立使用,也可以使用 Call关键字来进行调用,但此时参数需要加括号。本题中子程序的名字是 S,故此 B、 c选项可以排除, A选项中缺少参数的括号。 【知识模块】 过程 6 【正确答案】 D 【试题解析】 本题考查的考点是有关过程调用的。窗体加载时首先执行了 Load事件里面的代码,设置 Label1的

43、标题为 “ABCDE”, Label2的标题为 “10”;当单击命令按钮时,调用了 func过程,在这个过程中把传入的 Label1的标题设置为“1234”, Label2的标题没有发生变化。 【知识模块】 过程 7 【正确答案】 A 【试题解析】 本题中的 fun过程是一个递归调用,如果参数 x为偶数则进入递归;本题中的实参 6传入 fun过程之后,因其是偶数,所以执行 fun(6 2),也就是先输出 3,然后返回到 fun中输出 6。 【知识模块】 过程 8 【正确答案】 C 【试题解析】 本题中的子过程 subf会进行递归调用,只要在参数 sl中取出的字符不是空字符串就进行递归,直到 i

44、的值超过 s1的长度才停止,然后进行回归操作,相当于每一次向 s2中连接的字符都是最后取出的 s1中的字符,最终实现字符串的逆序操作。 【知识模块】 过程 9 【正确答案】 A 【试题解析】 本题考查的考点是有关函数过程的。函数过程可以返回一个函数值,但这个函数值的类型和参数类型没有任何关系;如果不指明参数的类型,则默认参数为变体型;数组作为丽数参数时只能通过传地址的方式来调用。 【知识模块】 过程 10 【正确答案 】 D 【试题解析】 函数过程和 Sub子过程一样,也可以有参数也可以没有参数:参数传递也可以使用地址传递也可以使用值传递;都是在代码中进行调用,只是函数过程必须有一个返回值,子

45、过程没有。 【知识模块】 过程 11 【正确答案】 B 【试题解析】 本题考查的考点是有关过程调用的。对于这种复杂的函数调用,一定要搞清楚调用的顺序以及参数传递的是值还是地址。根据过程调用的原则,首先调用最内层的 Fun1(x, x 1),其结果为 12, x的值不变仍为 10;然后调用Fun1(x, 12),其结果为 6, x的值也不变为 10;最后调用 Fun1(6, x 1),其结果为 0, x的值也不变为 10。本题中的传址调用是没有作用的,因为表达式是不能传地址的。 【知识模块】 过程 12 【正确答案】 C 【试题解析】 本题中 Search函数的参数是两个字符串,在函数内进行循环

46、,依次取出第一个参数的第 k位和第二个参数进行比较,如果相等则返回 k的值,实际上就是查找第二个参数在第一个参数中出现的位置。 【知识模块】 过程 13 【正确答案】 B 【试题解析】 本题考查的考点是有关函数调用和 If语句的。 要注意在前 4次循环中每次调用 f函数时传递的参数分别为 6、 7、 8、 9,都是小于 10的,最后一次循环传递参数 10,所以最终结果应该为 8+9+10+11+11=49。 【知识模块】 过程 14 【正确答案】 C 【试题解析】 本题共调用 Fun函数 2次,每次的函数值都是参数的平方减去 11的值,故此输出 10, 7。 【知识模块】 过程 15 【正确答案】 C 【试题解析】 函数过程有一个返回值,一般出现在表达式中组成表达式的一部分。本题的题目要求累加各个数的阶乘,而函数 s的作用是求参 数的阶乘,因此应该在每次循环中累加 f函数的值,参数为循环变量 i。 【知识

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1