单击命令按钮时,下列程序的运行结果为Private Sub Command1_Click( ) Print MyBM(23,18)End SubPublic Function MyBM(m As Integer,n As Integer)As Integer Do While m n Do While m > n:m=m - n:Loop Do While m < n:n=n - m:Loop Loop MyBM=mEnd FunctionA.0B.1C.3D.5

题目

单击命令按钮时,下列程序的运行结果为Private Sub Command1_Click( ) Print MyBM(23,18)End SubPublic Function MyBM(m As Integer,n As Integer)As Integer Do While m< >n Do While m > n:m=m - n:Loop Do While m < n:n=n - m:Loop Loop MyBM=mEnd Function

A.0

B.1

C.3

D.5

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

单击命令按钮时,下列程序的运行结果为 Private Sub Command1_Click() Print Fun(23,18) End Sub Public Function Fun(m As Integer,n As Integer)As Integer Do While m<>n Do While m>n:m=m-n:Loop Do While m<n:n=n-m:Loop Loop Fun=m End Function

A.0

B.1

C.3

D.5


正确答案:B
解析:此题程序代码中,被调过程采用了Do While…Loop的嵌套语句结构,主调过程只调用了一次被调过程,Print Fun(23,18)语句表明,程序最后输出的只是被调过程的返回值。主调过程在调用被调过程Fun时,把数值23,18分别传给形参m和n,从被调过程中的循环语句来看,因为此时m的值大于n的值,所以执行语句m=m-n,m值变为5,然后循环调用,直到m=n,而由语句Fun=m可看出,此过程的返回值就是m的值,即为1。

第2题:

(25)下列程序的运行结果是 。 Private Function myfun(m,n) Do While m>n Do While m>n:m=m-n:Loop Do While n>m:n=n-m:Loop Loop myfun=m End Function Private Sub Command1_Click() Print myfun(9,8) End SubA.2 B.1 C.4 D.3


正确答案:B
【解析】求解本题的关键在于理解好3个Do While循环的执行顺序,第2个和第3个Do While循环嵌套在第1个Do While循环内,先执行第2个循环,然后是第3个循环,最后是外层循环即第1个Do While循环。程序执行过程是:m=9,n=8;第1个Do While循环内,执行第2个Do While循环,m=m-n=1;退出第2个Do While循环;执行第3个Do While循环,n=n-m,最后n的值为1;退出第3个Do While循环;退出第1个Do While循环。程序执行结果是1。

第3题:

( 35 )在窗体中添加一个名称为 Commandl 的命令按钮,然后编写如下事件代码:

Private Sub Commandl Click ()

MsgBox f ( 24,18 )

End Sub

Public Function f ( m As Integer,n As Integer ) As Integer

Do While m<>n

Do While m>n

m=m-n

Loop

Do While m<n

n=n-m

Loop

Loop

f=m

End Function

窗体打开运行后,单击命令按钮,则消息框的输出结果是

A ) 2

B ) 4

C ) 6

D ) 8


正确答案:C

第4题:

阅读下面的程序: 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 While n<>0 remin=m 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


正确答案:B
解析:本题捉供的是用“辗转相除法”求两个整数最大公约数的程序。一般来说,假定有两个整数m和n(m>n),将m作为被除数,n作为除数,相除后余数为r。如果r不等于0,则令m=n,n=r,再进行一次除法运算(以新的m作为被除数,n作为除数),得到新的r。如果r仍不等于0,则重复上述过程,直到r=0为止,此时的n就是两个数的最大公约数。在本题的DoWhile-Loop循环中,通过辗转相除求最大公约数,循环结束的条件是相除后余数为0,如果不为0,则一直“除”下去。这里用Mod运算符求余数,较大的整数作为被除数或者较小的整数作为被除数都可以得到正确结果,但整除的次数可能会不一样。在本题的输入中,先输入16,再输入24,求出的最大公约数仍为8。

第5题:

有如下程序,该程序的执行结果为______。 Dim k As Integer n=5 m=1 k=1 Do While k <= n m=m*2 k=k+1 Loop Print m

A.1

B.5

C.32

D.40


正确答案:C

第6题:

下列程序段的执行结果为 m=2 n=3 Do m=m+n n=n+1 Loop While m<10 Print m;n

A.1 5

B.14 6

C.a b

D.10 25


正确答案:B

第7题:

在窗体中添加—个名称为Command1的命令按钮,然后编写如下事件代码: Private Sub Command1_Click() MsgBox f(24,18) End Sub Public Function f(m As Integer,n As Integer)As Integer Do while m<>n Do while m>n m=m-n Loop Do While m<n n=n-m Loop Loop f=m End Function 窗体打开并运行后,单击命令按扭,则消息框的输出结果是______。

A.2

B.4

C.6

D.8


正确答案:C
解析:本程序中包含有两个内循环,下面来介绍一下该程序的运行过程:程序刚开始运行时,初始值:m=24,n=18。首先判断外层循环条件表达式m>n,值为真,再判断m>n,由于24>18,所以循环继续执行,m=m-n=24-18=6,此时mn,条件不成立,退出第一个内循环。接着执行第二个内循环:首先判断mn,条件符合,循环继续执行,n=n-m=18-6=12,此时n>m,第二个内循环的条件仍然符合,再次执行,n=n-m=12-6=6,此时,m=6,n=6,条件表达式的值为假,退出第二个内循环,再判断外层循环的条件m>n,此时,条件表达式m>n的值为假,退出外层循环,循环结束。函数的返回值为6,所以单击命令按扭,则消息框的输出结果是:6。

第8题:

单击命令按钮时,下列程序的运行结果为

Private Sub Command1_Click()

Print Fun(23,18)

End Sub

Public Function Fun(m As Integer,n As Integer) As Integer

DO While m<>n

DO While m>n:m=m-n:Loop

DO While m<n:n=n-m:Loop

Loop

Fun=m

End Function

A.0

B.1

C.3

D.5


正确答案:B
解析:此题程序代码中,被调过程采用了Do While…Loop的嵌套语句结构,主调过程只调用了一次被调过程,PrintFun(23,18) 语句表明,程序最后输出的只是被调过程的返回值。主调过程在调用被调过程Fun时,把数值23,18分别传给形参m和n,从被调过程中的循环语句来看,因为此时m的值大于n的值,所以执行语句m=m-n,m值变为5,然后循环调用,直到m=n,而由语句Fun=m可看出,此过程的返回值就是m的值,即为1。

第9题:

下列程序的运行结果是( )。 Private Function myfun(m,n) Do while m>n Do While m>n:m=m-n:Loop Do Wllile n>m:n=n-m:Loop Loop myfun=m End Function Private Sub Command1_Click( ) print myfun(9,8) End Sub

A.2

B.1

C.4

D.3


正确答案:B
B。【解析】求解本题的关键在于理解好3个DoWhile循环的执行顺序,第2个和第3个DoWhile循环嵌套在第l个DoWhile循环内,先执行第2个循环,然后是第3个循环,最后是外层循环即第1个DoWhile循环。程序执行过程是:m=9,n=8;第1个DoWhile循环完,执行第2个DoWhile循环,m=m-n=1;退出第2个DoWhile循环;执行第3个DoWhile循环,n=n-m,最后n的值为1;退出第3个DoWhile循环;退出第1个DoWhile循环。程序执行结果是l。

第10题:

下列程序的运行结果是 Private Sub Form_Click() Dim k As Integer n=5 m=1 k=1 Do m=m+2 k=k+1 Loop Until k>n Print m End Sub

A.1

B.12

C.11

D.32


正确答案:C
解析:本题主要是对Do...Loop Until循环语句的考查。当Loop Until后的条件不成立时,即退出循环。该题在k为1、2、3、 4、5时,都执行了循环语句,故一共执行了五次,同时m=m+2也执行了五次,最后m的值增加了10,故运行结果为11。

更多相关问题