VB习题 基本的控制结构

更新时间:2023-11-14 18:28:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第四章 基本的控制结构习题

一、选择题

1. 下面正确的赋值语句是( c )。

(A)x+y=30 (B)y=π*r*r (C)y=x+30 (D)3y=x 2. 为了给x,y,z三个变量赋初值1,下面正确的赋值语句是( a )。

(A)x=1:y=1:z=1 (B)x=1,y=1,z=1 (C)x=y=z=1 (D)xyz=1 3. 赋值语句:a=123+Mid(\”,3,2)执行后,a变量中的值是( 157 )。 4. 赋值语句:a=123 & Mid(\”,3,2)执行后,a变量中的值是(”12334” )。 5. InputBox函数返回值的类型为( 字符串 )。 6. 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() a=InputBox(“请输入第一个数”) b=InputBox(“请输入第二个数”) Print b+a End Sob

程序运行后,单击命令按钮,先后在两个输入框中分别输入456和123,则

输出结果是( 123546 )。

7. 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim a as integer, b as integer a=InputBox(“请输入第一个数”) b=InputBox(“请输入第二个数”) Print b+a End Sob

程序运行后,单击命令按钮,先后在两个输入框中分别输入456和123,则

输出结果是( 579 )。

8. 设a=10,b=20,则不能实现变量a, b交换的是( a )。

(A)c:=a : b:=a : a:=c (B)c:=a : a:=b : b:=c

(C)c:=b : b:=a : a:=c (D)c:=a : d:=b : b:=c : a:=d 9. VB提供了结构化程序设计的三种基本结构是选择结构、循环结构、顺序结构 11. 设x为未赋值的整型变量,语句if x then Print x else print x+1 执行后的结果是( 1 )。

12. 语句if x=1 then y=1,下列说法正确的是( c )。

(A)x=1和y=1均为赋值语句 (B)x=1和y=1均为关系表达式

(C)x=1为关系表达式,y=1为赋值语句 (D)x=1为赋值语句,y=1为关系表达式

13. 下面程序段求两个数中的大数,( b )不正确。

(A)max=iif(x>y, x, y ) (B)if x>y then max=x else max=y

(C)max=x (D)if y>=x then max=y if y>=x then max=y max=x

14. 在Do Until 条件 ------Loop循环结构中,正确的描述是( b )。

(A)如果“条件”是一个为0的常数,则一次循环体也不执行 (B)如果“条件”是一个为0的常数,则至少执行一次循环体 (C)如果“条件”是一个不为0的常数,则至少执行一次循环体 (D)不论“条件”是否为“真”,至少要执行一次循环体 15. 设a=6,则执行x=IIf(a>5,-1,0)后,x的值为( -1 )。 分析程序的运行结果 1.阅读程序段: x=1 y=4

do until y>4

x=x*y y=y+1 loop print x

执行此段程序后的结果是:4

2. .阅读程序段: for i=1 to 3 for j=1 to i for k=j to 3 a=a+1 next k next j next i print a

执行此段程序后的结果是:14

3. 在窗体上画一个命令按钮,然后编写如下事件过程:

Private Sub Command1_click() For i=1 to 4 X=4

For j=1 to 3 X=3

For k=1 to 2 X=x+6 Next k Next j Next i Print x End sub

程序运行后,单击命令按钮,输出结果是:15

4. 在窗体上画一个命令按钮,然后编写如下事件过程:

Private Sub Command1_click() X=0

Do until x=-1

a=Val(InputBox(“请输入a的值”)) b= Val(InputBox(“请输入b的值”)) X=Val(InputBox(“请输入X的值”)) a=a+b+x Loop Print a End Sub

程序运行后,单击命令按钮,依次在输入对话框中输入5、4、3、2、1、-1,则输出结果是:2

6. 在窗体上画两个文本框text1、 text2和一个命令按钮command1,然后编写如下事件过程:

Private sub command1_click() X=0

Do while x<50 X=(x+2)*(x+3) N=n+1 Loop

Text1.text=str(n) Text2.text=str(x) End sub

程序运行后,单击命令按钮,在两个文本框中显示的值分别是:2 72

8. 阅读程序:

Private Sub Form_click() A=0

For i=1 to 2 For j=1 to 4

If j mod 2<>0 then a=a+1 End if a=a+1 Next j Next i Print a End sub

程序运行后,单击窗体,输出结果为: 12

5. 在窗体上画一个文本框text1,然后编写如下事件过程:

Private Sub Form_Load() Text1.text=”” Text1.setfocus For i=1 to 10 Sum=Sum+i

Next i

Text1.text=sum End sub

程序运行后,在文本框中显示的结果是:55

7. 阅读程序:

Private Sub Form_click() Dim k%,n%,m% n=10 m=1 k=1

Do while k<=n m=m*2 k=k+1 Loop Print m End sub

程序运行后,单击窗体,输出结果为:1024

9. 阅读程序:

Private sub form_click()

S$=InputBox(“输入一个数据串”)

For i=1 to Len(s)

If Mid(s,i,1)=”;” then k=k+1 Next i

If right(s,1)<>”;” then k=k+1 Print k End sub

运行程序时,从键盘输入数据串“56;76;4;22;45;65;87”,输出的结果是:7

11. 阅读程序:

Private sub command1_click() X=7

For i=1 to 4

K=val(inputbox(“please input:”))

If k mod 5=0 then Y=y+k X=k Else

Y=y+x Endif Print y Next i End sub

程序运行时,从键盘输入2、5、7、10,输出的结果为:3

10. 在窗体上一个命令按钮command1,然后编写如下事件过程: private Sub command1_click() dim x as integer, n as integer x=1 : n=0 do while x<20 x=x*3 n=n+1 loop print x, n end sub

程序运行时,单击命令按钮,结果为:27

12. 阅读程序:

Private sub command1_click()

s$=inputbox(“请输入一个字符串:”)

for i=1 to len(s) t=mid(s,i,1)

if t>=”a” and t<=”z” then n=n+1

elseif t>=”A” and t<=”Z” then m=m+1

elseif t>=”0” and t<=”9” then k=k+1 endif next i

print “k=”;k;”m=”,m;”n=”;n end sub

程序运行时,从键盘输入字符串”*35Abc46GHks,erw345??/3”,输出的结果为:k=8 m=3 n=7 14. 阅读程序:

private sub command1_click() dim cr as string*2

cr=chr(13)+chr(10) ?回车换行字符串

for i=1 to 5 for j=i to 5

s=s & space(1) & “*” next j

s=s & cr & space(i) next i print s end sub

程序运行时,结果为:

13. 阅读程序:

private sub command1_click() dim cr as string*2

cr=chr(13)+chr(10) ?回车换行字符串

for i=1 to 5 for j=I to 5

s=s & space(1) & “*” next j s=s & cr next i print s end sub

程序运行时,结果为:

15. 阅读程序:

private sub command1_click() a=val(inputbox(“input a:”)) b=val(inputbox(“input b:”)) x=a*(a+b)

if b>a then x=b*(b+a) print x

end sub

程序运行时,从键盘输入5、4,

输出的结果为:

17. 阅读程序:

private sub command1_click() a$=”123456789” b$=”ABCDEFGHIJ”

text1=”” for i=1 to 5

s$=mid(a$,9-i,1)+mid(b$,i,1) text1=text1+s$ next i

end sub

程序运行后,文本框text1中的内容

是:8a7b*6c5d4e

19. 阅读程序:

private sub command1_click() a$=”0123456789” c=6 d=5

do while d>0

d=val(mid(a,10-i,1)) i=i+1

if d>c then c=c+1 loop print c+d

end sub

程序运行后,输出的结果为:8 二、简答题

16. 阅读程序:

private sub command1_click() s$=”*123456abcdef**54*#eee” do i=i+2

loop until mid(s,I,1)=”*” print I,left(s,i) end sub

程序运行时,输出的结果为:14*123456abcdef*

18. 阅读程序:

private sub command1_click() a$=”123456789” b$=”ABCDEFGHIJ” text1=”” for i=1 to 5

s$=mid(a$,9-i,2)+mid(b$,i,1) text1= s$ + text1 next i end sub

程序运行后,文本框text1中的内容是:45e56d67c78b89a

20. 在窗体上画一个名称为Command1的命令按钮,一个名称为Label1的标签,然后编写如下事件过程:

Private Sub Command1_Click() s = 0

For i = 1 To 15 x = 2 * i - 1

If x Mod 3 = 0 Then s = s + 1 Next i

Label1.Caption = s End Sub

程序运行后,单击命令按钮,则标签中显示的内容是 5

1. 指出下列赋值语句中的错误(包括运行时产生的错误)。 (1)10x=sin(x)+y (2)c=3+sqr(-3) (3)c+x+y=c*y (4)x=sin(x)/(20 mod 2)

2. Msgbox作为函数使用时与Inputbox的区别?各自获得的是什么值? 3. 语句:IF 表达式 Then 中的表达式可以是算术、字符、关系、逻辑表达式中的哪些?

4. 指出下列语句中的错误。 (1)If x≥y Then print x (2)If 10=”A” and c<=”Z” Then Print “大写字母”

Else If c>=”a” and c<=”z” Then Print “小写字母” End If

5. 按照条件,写出相应的条件语句。

(1)当C字符变量中第三个字符是”C”时,利用Msgbox显示”yes”,否则显示”No”。

(2)利用If语句、Select Case语句两种方法计算分段函数:

???3x?2?y??3x?2

?1??|x|?x当x>20 当10≤x≤20 当x<10

(3)利用If语句和IIf函数两种方法求三个数x、y、z中的最大值,并将其放入Max变量中。 6. 计算下列循环语句的次数:

(1)For I=-3 To 20 step 4 (2)For I=--3.5 To 5.5 step 0.5 (3)I=-3.5 To 5.5 step -0.5 (4)I=--3 To 20 step 0

7. 下列30~90为语句标号,分别标记该语句,第40句共执行了几次?第50句共执行了几次?第90句语句显示的结果是多少? 30 for j=1 to 12 step 3

40 50 60 70

for k=6 to 2 step -2 mk=k print j,k next k

80 next j 90 print j,k,mk

8. 如果事先不知道循环次数,如何用For ? Next结构来实现? 9. 利用循环结构,实现如下功能: (1)s??(i?1)(2i?1)

i?110(2)分别统计1~100中,满足3的倍数、7的倍数的数各为多少个? (3)将输入的字符串以反序显示。例如,输入”ASDFGHJKL”,显示”LKJHGFDSA”。

10. 下面程序运行后的结果是什么?该程序的功能是什么?

(1)Private

Command1_Click() Dim x$,n% n=20 x=””

Do While n<>0 n=n mod 2 n=n\\2

x=chr(48+a) & x Loop Print x End Sub

Sub

(2)Private Sub Command1_Click() Dim x%,y%,z% x=242 y=44 z=x*y

Do Until x=y

If x>y Then x=x-y else y=y-x Loop

Print x,z/x End Sub

11. 利用随机函数产生20个50~100范围内的随机数,显示它们的最大值、最小值和平均值。 四、将下列程序补充完整

1. 输入任意长度的字符串,要求将字符顺序倒置,例如,将输入的 “ABCDEFG”变换成“GFEDCBA”。

Private sub command1_click() Dim a$,i%,c$,d$

a=inputbox$(“输入字符串:”) n=( len(a) ) for i= to step -1 c=mid(a,i,1)

d= ( c )

print d next i end sub

某次大奖赛,有七个评委打分,3..

如下程序对一名参赛者,输入七个评委的打分分数,去掉一个最高分、一个最低分,求出平均分为该参赛者的得分。

Private sub command1_click() Dim mark!,aver!,i%,max!,min! Aver=0 For i=1 to 7

Mark=inputbox(“输入第” & i “位评委的打分”) If i=1 then Max1=mark

Min1=( ) Else

If markmax1 then

2. 找出被3、5、7除,余数为1的最小的5个正整数。

Private sub command1_click() Dim count%,n% count=0 n=1 do

n=n+1

if ( ) then print n

count=count+1 endif

loop ( ) end sub

4. 以下程序的功能是:生成20个200到300之间的随机整数,输出其中能被5整除的数并求出它们的和。

Private Sub Command1_Click() Dim x!,i!,s! S=0

For i=1 To 20

x=int(rnd()*100+200)

If ( x mod 5 )=0 Then Print x

S=( s+x ) End if Next i

Print\End Sub

本文来源:https://www.bwwdw.com/article/ekmv.html

Top