下载此文档

VB习题基本的控制结构.pdf


文档分类:IT计算机 | 页数:约10页 举报非法文档有奖
1/10
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/10 下载此文档
文档列表 文档介绍
该【VB习题基本的控制结构 】是由【秋江孤影】上传分享,文档一共【10】页,该文档可以免费在线阅读,需要了解更多关于【VB习题基本的控制结构 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。第四章基本的控制结构****题
一、选择题
(c)。
(A)x+y=30(B)y=π*r*r(C)y=x+30(D)3y=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
:a=123+Mid("123456”,3,2)执行后,a变量中的值是(157)。
:a=123&Mid("123456”,3,2)执行后,a变量中的值是(”12334”)。
(字符串)。
,然后编写如下事件过程:
PrivateSubCommand1_Click()
a=InputBox(“请输入第一个数”)
b=InputBox(“请输入第二个数”)
Printb+a
EndSob
程序运行后,单击命令按钮,先后在两个输入框中分别输入456和123,则
输出结果是(123546)。
,然后编写如下事件过程:
PrivateSubCommand1_Click()
Dimaasinteger,basinteger
a=InputBox(“请输入第一个数”)
b=InputBox(“请输入第二个数”)
Printb+a
EndSob
程序运行后,单击命令按钮,先后在两个输入框中分别输入456和123,则
输出结果是(579)。
=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
、循环结构、顺序结构
,语句ifxthenPrintxelseprintx+1执行后的结果
是(1)。
=1theny=1,下列说法正确的是(c)。
(A)x=1和y=1均为赋值语句(B)x=1和y=1均为关系表达式
(C)x=1为关系表达式,y=1为赋值语句
(D)x=1为赋值语句,y=1为关系表达式
,(b)不正确。
(A)max=iif(x>y,x,y)(B)ifx>ythenmax=xelsemax=y
(C)max=x(D)ify>=xthenmax=y
ify>=xthenmax=ymax=x
------Loop循环结构中,正确的描述是(b)。
(A)如果“条件”是一个为0的常数,则一次循环体也不执行
(B)如果“条件”是一个为0的常数,则至少执行一次循环体
(C)如果“条件”是一个不为0的常数,则至少执行一次循环体
(D)不论“条件”是否为“真”,至少要执行一次循环体
=6,则执行x=IIf(a>5,-1,0)后,x的值为(-1)。
分析程序的运行结果
2..阅读程序段:
:fori=1to3
x=1forj=1toi
y=4fork=jto3
dountily>4a=a+1
x=x*ynextk
y=y+1nextj
loopnexti
printxprinta
执行此段程序后的结果是:4执行此段程序后的结果是:14
,然
,然后编写
后编写如下事件过程:
如下事件过程:
PrivateSubCommand1_click()
PrivateSubCommand1_click()
Fori=1to4
X=0
X=4
Dountilx=-1
Forj=1to3
a=Val(InputBox(“请输入a的值”))
X=3
b=Val(InputBox(“请输入b的值”))
Fork=1to2
X=Val(InputBox(“请输入X的值”))
X=x+6
a=a+b+x
Nextk
Loop
Nextj
Printa
Nexti
EndSub
Printx
程序运行后,单击命令按钮,依次在输入
Endsub
对话框中输入5、4、3、2、1、-1,则输
程序运行后,单击命令按钮,输出
出结果是:2
结果是:15
,、
编写如下事件过程:text2和一个命令按钮command1,然
PrivateSubForm_Load()后编写如下事件过程:
=””Privatesubcommand1_click()
TX=0
Fori=1to10Dowhilex<50
Sum=Sum+iX=(x+2)*(x+3)
NextiN=n+1
=sumLoop
=str(n)
程序运行后,=str(x)
是:55Endsub
程序运行后,单击命令按钮,在两个
文本框中显示的值分别是:
272
::
PrivateSubForm_click()PrivateSubForm_click()
Dimk%,n%,m%A=0
n=10Fori=1to2
m=1Forj=1to4
k=1Ifjmod2<>0then
Dowhilek<=na=a+1
m=m*2Endif
k=k+1a=a+1
LoopNextj
PrintmNexti
EndsubPrinta
程序运行后,单击窗体,输出结Endsub
果为:1024程序运行后,单击窗体,输出结果为:
12
:
Privatesubform_click()command1,然后编写如下事件过程:
S$=InputBox(“输入一个数据privateSubcommand1_click()
串”)dimxasinteger,nasinteger
Fori=1toLen(s)x=1:n=0
IfMid(s,i,1)=”;”thenk=k+1dowhilex<20
Nextix=x*3
Ifright(s,1)<>”;”thenk=k+1n=n+1
Printkloop
Endsubprintx,n
运行程序时,从键盘输入数据串endsub
“;;;;;;”,程序运行时,单击命令按钮,结果为:
5676422456587
输出的结果是:727
::
Privatesubcommand1_click()Privatesubcommand1_click()
X=7s$=inputbox(“请输入一个字符
Fori=1to4串:”)
K=val(inputbox(“pleasefori=1tolen(s)
input:”))t=mid(s,i,1)
Ifkmod5=0thenift>=”a”andt<=”z”then
Y=y+kn=n+1
X=kelseift>=”A”andt<=”Z”then
Elsem=m+1
Y=y+xelseift>=”0”andt<=”9”then
Endifk=k+1
Printyendif
Nextinexti
Endsubprint“k=”;k;”m=”,m;”n=”;n
程序运行时,从键盘输入2、5、7、endsub
10,输出的结果为:3程序运行时,从键盘输入字符
串”*35Abc46GHks,erw345’?/3”,输
出的结果为:k=8m=3n=7
:
:
privatesubcommand1_click()
privatesubcommand1_click()
dimcrasstring*2
dimcrasstring*2
cr=chr(13)+chr(10)‘回车换行字
cr=chr(13)+chr(10)‘回车换行字符
符串

fori=1to5
fori=1to5
forj=Ito5
forj=ito5
s=s&space(1)&“*”
s=s&space(1)“&*”
nextj
nextj
s=s&cr
s=s&cr&space(i)
nexti
nexti
prints
prints
endsub
endsub
程序运行时,结果为:
程序运行时,结果为:
:
:
privatesubcommand1_click()
privatesubcommand1_click()
a=val(inputbox(“inputa:”))
s$=”*123456abcdef**54*#eee”
b=val(inputbox(“inputb:”))
do
x=a*(a+b)
i=i+2
ifb>athenx=b*(b+a)
loopuntilmid(s,I,1)=”*”
printx
printI,left(s,i)
endsub
endsub
程序运行时,从键盘输入5、4,
程序运行时,输出的结果为:
输出的结果为:
14*123456abcdef*
::
privatesubcommand1_click()privatesubcommand1_click()
a$=”123456789”a$=”123456789”
b$=”ABCDEFGHIJ”b$=”ABCDEFGHIJ”
text1=””text1=””
fori=1to5fori=1to5
s$=mid(a$,9-i,1)+mid(b$,i,1)s$=mid(a$,9-i,2)+mid(b$,i,1)
text1=text1+s$text1=s$+text1
nextinexti
endsubendsub
程序运行后,文本框text1中的内容程序运行后,文本框text1中的内
是:8a7b*6c5d4e容是:45e56d67c78b89a

Command1的命令按钮,一个名称为
:
privatesubcommand1_click()Label1的标签,然后编写如下事件过
a$=”0123456789”程:
c=6PrivateSubCommand1_Click()
d=5s=0
dowhiled>0Fori=1To15
d=val(mid(a,10-i,1))x=2*i-1
i=i+1IfxMod3=0Thens=s+1
ifd>cthenc=c+1Nexti
=s
printc+dEndSub
endsub程序运行后,单击命令按钮,则标签
中显示的内容是5
程序运行后,输出的结果为:8
二、简答题
(包括运行时产生的错误)。
(1)10x=sin(x)+y(2)c=3+sqr(-3)
(3)c+x+y=c*y(4)x=sin(x)/(20mod2)
?各自获得的是什么值?
:IF表达式Then中的表达式可以是算术、字符、关系、逻辑表达式
中的哪些?

(1)Ifx≥yThenprintx
(2)If10<x<20Thenx=x+20
(3)Ifc>=”A”andc<=”Z”Then
Print“大写字母”
ElseIfc>=”a”andc<=”z”Then
Print“小写字母”
EndIf
,写出相应的条件语句。
(1)当C字符变量中第三个字符是”C”时,利用Msgbox显示”yes”,否则显
示”No”。
(2)利用If语句、SelectCase语句两种方法计算分段函数:

3x2当x>20

y3x2当10≤x≤20
1
|x|当x<10
x
(3)利用If语句和IIf函数两种方法求三个数x、y、z中的最大值,并将其
放入Max变量中。
:
(3)I=--(4)I=--3To20step0
~90为语句标号,分别标记该语句,第40句共执行了几次?第50句
共执行了几次?第90句语句显示的结果是多少?
30forj=1to12step3
40fork=6to2step-2
50mk=k
60printj,k
70nextk
80nextj
90printj,k,mk
,如何用For…Next结构来实现?
,实现如下功能:
10
(1)s(i1)(2i1)
i1
(2)分别统计1~100中,满足3的倍数、7的倍数的数各为多少个?
(3)将输入的字符串以反序显示。例如,输入”ASDFGHJKL”,显
示”LKJHGFDSA”。
?该程序的功能是什么?
(1)PrivateSub(2)PrivateSub
Command1_Click()Command1_Click()
Dimx$,n%Dimx%,y%,z%
n=20x=242
x=””y=44
DoWhilen<>0z=x*y
n=nmod2DoUntilx=y
n=n\2Ifx>yThenx=x-yelse
x=chr(48+a)&xy=y-x
LoopLoop
PrintxPrintx,z/x
EndSubEndSub
~100范围内的随机数,显示它们的最大值、最小
值和平均值。
四、将下列程序补充完整
,要求
、5、7除,余数为1的
将字符顺序倒置,例如,将输入的
最小的5个正整数。
“ABCDEFG”变换成
Privatesubcommand1_click()
“GFEDCBA”。
Dimcount%,n%
Privatesubcommand1_click()
count=0
Dima$,i%,c$,d$
n=1
a=inputbox$(“输入字符串:”)
do
n=(len(a))
n=n+1
fori=tostep-1
if()then
c=mid(a,i,1)
printn
d=(c)
count=count+1
printd
endif
nexti
loop()
endsub
endsub
3****题五某次大奖赛,有七个评委打分,P123
如下程序对一名参赛者,输入七个
评委的打分分数,、:生成20个200到
一个最低分,求出平均分为该参赛300之间的随机整数,输出其中能被5整除
者的得分。参考答案:的数并求出它们的和。
Privatesubcommand1_click()PrivateSubCommand1_Click()
!,aver!,i%,max!,min!中,数组的下界默认为0,用什么语句可以重新定义数组的默认下界?Dimx!,i!,s!
Aver=0答:OptionBase语句,如:OptionBasenS=0
Fori=1to7Fori=1To20
=inputbox(12个元素的整型数组,下列数组声明(下界若无,按默认规定)哪些符合要“输入第”&ix=int(rnd()*100+200)
“位评委的打分求?”)If(xmod5)=0Then
(1If)i=1n=then12Printx
DimMax1=marka(1Ton)AsIntegerS=(s+x)
(2)DimMin1=(a%())Endif
Elsen=11Nexti
ReDimIfmark<min1a(n)thenPrint"Sum=";S
(3)Dim(a%[2,3])EndSub
(4)Dimelseifa(1,mark>max11,2)AsIntegerthen
(5)Dima%(10)
ReDima(1To12)
(6)Dima!()
ReDima(3,2)AsInteger
(7)Dima%(2,3)
(8)Dima(1To3,1To4)AsInteger
答:(2),(4),(7),(8)符合要求。
(1)静态数组在声明数组时的下标必须是常数,不能出现变量
(3)不能使用方括号
(5)已声明了的静态数组,不能再用重定义语句来重定义静态数组的大小
(6)可以反复地改变数组的元素以及维数的数目,但是不能将一个数组定义为某种数据类
型之后,再使用ReDim将该数组改为其他数据类型。
“下标越界”可能产生的错误有哪几种情况?
答:引用了不存在的数组元素.
下标比可能下标范围大或小,或是在应用程序中这一边的数组没有指定范围。检查数组
的声明以确认其上界和下界。若使用的是重新指定范围的数组,应使用UBound和LBound
函数来决定数组访问。如果索引指定为变量,应检查变量名的拼写。
声明数组时没有指定元素的数目
例如:Dima%()
a(8)=5
VisualBasic并不会将没有指定范围的数组自动设为0–8,相反必须使用Dim或
ReDim来指定数组中元素的数目。
,写出它的数组名、数组类型、维数、各维的上下界、数组的大小、
并按行的顺序列出各元素。
Dima(-1To2,3)AsSingle
答:数组名为a、数组类型为单精度、二维、各维的下界分别为-1和0、上界分别为2和3、
数组的大小4x4共16个元素,各元素排列顺序见表:
a(-1,0)a(-1,1)a(-1,2)a(-1,3)
a(0,0)a(0,1)a(0,2)a(0,3)
a(1,0)a(1,1,)a(1,2)a(1,3)
a(2,0)a(2,1)a(2,2,)a(2,3)
(数据不一定相同,前者30~70范围、后者101~135)。
35675250103115125101
33476639133127132135
AB
475666411**********

30695538123109113130
要求:
(1)将两个矩阵相加结果放入C矩阵中。
(2)将A矩阵转置。
(3)统计C矩阵中最大值和下标。
(4)以下三角形式显示A矩阵、上三角形式显示B矩阵。
(5)将A矩阵的第一行与第三行对应元素交换位置,即第一行元素放到第三行;第三行元
素放到第一行。
(6)求A矩阵两条对角线元素之和。
(7)将A矩阵按列的次序把各元素放入一维数组D中,显示结果。
,有20个元素,每个元素最多放10个字符,要求:
(1)由随机数形成小写字母构成的数组,每个元素的字符个数由随机数产生,范围1~10.
(2)要求将生成的数组分4行显示,规定每个元素宽度为10。
(3)显示生成的字符数组中字符最多的元素。
答:(1)
Dima(1To20)AsString*10,i%,j%,k%,n%,s$,max%
Randomize
Fori=1To20
n=Int(Rnd*10+1)
s=""
Forj=1Ton
s=s&Chr(Int(Rnd*26+97))
Nextj
a(i)=s
Nexti
(2)
k=0
Fori=1to20
k=k+1
PrintTab((k-1)*10+1);a(i);
Ifk=5Thenk=0:Print
Nexti
(3)
max=Len(Trim(a(1)))
Fori=2To20
IfLen(Trim(a(i)))>maxThenmax=Len(Trim(a(i)))
Nexti
Printmax
Fori=1To20
IfLen(Trim(a(i)))=maxThen
Printa(i);Spc(3);
EndIf
Nexti

答:相同处都是可存放字符串;不同处在于组合框是文本框和列表框的组合,可以输入内容,
但要通过AddItem方法添加;列表框只能选择项目,不能直接输入内容。
、总项目数的属性分别是什么?
答:表示选中的内容的属性是Text;总项目数的属性为ListCounts。

VB习题基本的控制结构 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数10
  • 收藏数0 收藏
  • 顶次数0
  • 上传人秋江孤影
  • 文件大小395 KB
  • 时间2023-03-18