
vb循环语句
舒克和贝塔下载-闸阀图例
2023年2月23日发(作者:澳大利亚whv)VB基本知识及选择、循环结构习题
⼀、VB基本知识及选择、循环结构习题
⼀、基本概念题
(1)说明下列哪些是VisualBasic合法的直接常量,并分别指出它们的类型。
100.0%1001E1123D3123,4560100
“ASDF”“1234.5”#2004/10/7#100#π
&O78&H123TrueT-1123!345.54
#(2)下列数据哪些是变量,哪些是常量?是什么类型的常量?
Name“name”Falseff“11/16/99”cj
“120”n#11/12/2004#12.345
(3)下列符号中,哪些可以是VisualBasic的合法变量名?
A123a12_3123_aa,123a123Integer
XYZFalseSin(x)变量名sinxπ
(4)把下列数学表达式写成VisualBasic表达式:
(1)5||zyx++(2)6)1(xy+(3)xyyx310+(4)aac
bb242-+-
(5)3211111rrr++(6)110ln45sin10++++yxesin(45*3.14159/180)
(5)写出下列表达式的值:
(1)123+23Mod107+Asc("A")188
(2)Int(68.555*100+0.4)/10068.55
(3)#11/22/2004#-102004/11/12
(4)"ZXY"&123&"abc"ZXY123abc
(6)设a=7,b=3,c=4,求下列表达式的值:
(1)a+3*c19(2)a^2/412.25
(3)a/2+324.5(4)aMod3+b^3/c51
(7)写出下列函数的值:
(1)Int(-3.14159)-4(2)Fix(-3.14159)-3
(3)Sqr(Sqr(81))3(4)Len("VisualBasic程序设计")16
(5)Int(Abs(99-100)/2)0(6)Sgn(7*3+2)1
(7)LCase("HellowVB!")hellowvb!(8)Mid("HellowVB!",4,3)low
(9)Left("HellowVB!",3)Hel(10)Val("16个加23个")16
(11)Str(-459.55)-459.55(12)UCase("VisualBasic")VISUALBASIC
⼆、选择题
(1)可以同时删除字符串前导和尾部空格的函数是。
(2)函数Int(Rnd(1)*10)是在哪个范围产⽣随机整数。
A.(0,1)
B.[0,9]
C.(1,10)
D.(1,9)
(3)数学式⼦sin25o写成VisualBasic表达式是。
25
(25)
(25o)
(25*3.14/180)
(4)表达式16/4–2^3*8/4Mod52的值是。
A.14
B.4
C.20
D.2
(5)数学关系式103<≤x表⽰成正确的VB表达式为。
A.3<=x<10
B.x>=3Andx<10
C.x>=3Orx<10
D.3<=xAnd<10
(6)已知A=”12345678”,则表达式Val(Left(a,4)+Mid(a,4,2))的值是。
A.123456
B.123445
C.8
D.6
(7)表达式Len("123程序设计ABC")的值是。
A.10
B.14
C.20
D.17
(8)下⾯正确的赋值语句是。
A.x+y=30
B.y=3π*r*r
C.y=x+30
D.3y=x+1
(9)为了给x,y,z三个变量赋初值1,正确的赋值语句是。
A.x=1:y=1:z=1
B.x=1,y=1,z=1
C.x=y=z=1
D.x,y,z=1
(10)赋值语句g=123+Mid("123456",3,2)执⾏后,变量g中的值是。
A.“12334”
B.123
C.12334
D.157
(11)表达式Not(a+b=c-d)是_______。
A.逻辑表达式
B.字符表达式
C.算术表达式
D.关系表达式
(12)如果x是⼀个正实数,对x的第3位⼩数四舍五⼊的表达式是。
A.0.01*Int(x+0.005)
B.0.01*Int(100*(x+0.005))
C.0.01*Int(100*(x+0.05))
D.0.01*Int(x+0.05)
(13)下列哪组语句可以将变量a,b的值互换。a=1b=2
A.a=b:b=a
B.a=a+b:b=a-b:a=a-ba=3,b=1,a=2
C.a=c:c=b:b=a
D.a=(a+b)/2:b=(a-b)/2
(14)下列四个字符串进⾏⽐较,最⼩的是。
A.“9977”
B.“B123”
C.“Basic”
D.“DATA”
(15)下列逻辑表达式中,其值为True的是。
A.“b”>“ABC”
B.“THAT”>“THE”
C.9>“H”
D.“A”>“a”
(16)表达式a+b=c是。
A.赋值表达式
B.字符表达式
C.算术表达式
D.关系表达式
(17)在下列表达式中,⾮法的是。
A.a=b+c
B.a>b+c
C.a≠b>c
D.a
(18)语句PrintFormat(“HELLO”,“<”)的输出结果是。
(19)MsgBox函数的返回值的类型是。
A.整数
B.字符串
C.逻辑值
D.⽇期
(20)⽤语句DimA(-3to5)AsLong定义的数组元素个数是。
A.7
B.8
C.9
D.10
三、判断题
(1)VB6.0中&H12是8进制的数值常数。
(2)设A="123",B=123,则A+B的结果为246,A-B的结果为0。
(3)已知A$="87654321",则表达式Val(Left$(A$,4)+Mid$(A$,4,2))的值是:876554。
(4)Rnd函数产⽣的是(0,1)之间不包括0、1的随机⼩数。
(5)表⽰x是5的倍数或是9的倍数的逻辑表达式为:xMod5=0ORxMod9=0。
(6)Len("等级考试")和LenB("等级考试")的结果相同。
(7)VB6.0中字符串常量是⽤双引号或单引号括起来的字符串。
(8)PrintInStr("VisualBasic","I")的结果为0。
(9)固定数组中的数组元素个数⼀旦定义好后,在程序运⾏过程中不再会发⽣变化,并且
数组中数组元素的值也不会变化。
(10)数组元素的下标可以是常数、变量或表达式。
(11)在For…Next循环中,其中Step步长可以是正数,也可以是负数。
(12)在Do…Loop[While|Until]循环中,While关键字或Until关键字必须选择其中之
⼀。
(13)在For...Next循环中,ExitFor⼦句是可选项,它可以放置在循环体语句中的任何
位置。
(14)动态数组在定义时已被分配存储空间。
(15)在VB6.0中,OptionBase语句的参数只能是0或1。
四、程序阅读题
(2)执⾏下⾯程序段后,变量x的值为。
DimxAsInteger
x=5
Fori=1To20Step3
x=x+i5
Nexti
(3)执⾏下⾯程序后,输出的结果是。
PrivateSubForm_Click()
DimxAsInteger
Fori=1To3
Forj=1Toi
Fork=jTo3
x=x+1
Nextk
Nextj
Nexti
Printx
EndSub
(4)执⾏下⾯程序后,输出的结果是。
PrivateSubForm_Click()
DimxAsInteger
x=0
DoWhilex<50
x=(x+2)*(x+3)
n=n+1
Loop
Print"x=";x;"n=";n
EndSub
(5)执⾏下⾯程序后,输出的结果是。
PrivateSubForm_Click()
DimxAsInteger,aAsInteger
x=0
Forj=1To5
a=a+j
Nextj
x=j
Printx,a
EndSub
(6)以下程序的循环次数是。
Forj=8To35Step3
Printj;
Nextj
(7)执⾏下⾯程序输⼊4后,程序输出的结果是。
PrivateSubForm_Click()
x=InputBox(x)
Ifx^2<15Theny=1/x
Ifx^2>15Theny=x^2+1
Printy
EndSub
(8)执⾏下⾯程序后,输出的结果是。
PrivateSubForm_Click()
DimsumAsInteger
sum%=19
sum=2.23
Printsum%;sum
EndSub
(9)执⾏下⾯程序后,输出的结果是。
PrivateSubForm_Click()
a=100
Do
s=s+a
a=a+1
LoopUntila>100
Printa
EndSub
(10)执⾏下⾯程序后,输出的结果是。
PrivateSubForm_Click()
a="ABCD"
b="efgh"
c=LCase(a)
d=UCase(b)
Printc+d
EndSub
(11)执⾏下⾯程序后,输出的结果是。
PrivateSubForm_Click()
x=2:y=4:z=6
x=y:y=z:z=x
Printx;y;z
EndSub
(12)执⾏下⾯程序后,输出的结果是。
PrivateSubForm_Click()
DimcountAsInteger
count=0
Whilecount<20
count=count+1
Wend
Printcount
EndSub
(13)执⾏下⾯程序后,输出的结果是。
PrivateSubForm_Click()
a="*":
b="$"
Fork=1To3
x=Str(Len(a)+k)&b
Printx;
Nextk
EndSub
(14)执⾏下⾯程序后,输出的结果是。
PrivateSubForm_Click()
k=0:a=0
DoWhilek<70
k=k+2
k=k*k+k
a=a+k
Loop
Printa
EndSub
(15)执⾏下⾯程序后,输出的结果是。
PrivateSubForm_Click()
DimM(10)AsLong,N(10)AsLong
i=3
Fort=1To5
M(t)=t
N(i)=2*i+t
Nextt
PrintN(i);M(i)
(16)执⾏下⾯程序后,输出的结果是。
PrivateSubForm_Click()
Dima()
a=Array(1,2,3,4)
j=1
Fori=3To0Step-1
s=s+a(i)*j
j=j*10
Nexti
Prints
EndSub
(17)执⾏下⾯程序后,输出的结果是。
PrivateSubForm_Click()
DimM(10)
Fork=1To10
M(k)=11-k
Nextk
x=6
PrintM(2+M(x))
EndSub
(18)执⾏下⾯程序后,输出的结果是。
PrivateSubForm_Click()
Dima(10)AsInteger,p(3)AsInteger
k=5
Fori=1To10
a(i)=i
Nexti
Fori=1To3
p(i)=a(i*i)
Nexti
Fori=1To3
k=k+p(i)*2
Nexti
Printk
EndSub
(19)执⾏下⾯程序后,输出的结果是。
PrivateSubForm_Click()
Dima(10,10)AsInteger
Fori=2To4
Forj=4To5
a(i,j)=i*j
Nextj
Nexti
Printa(2,5)+a(3,4)+a(4,5)
EndSub
(20)以下程序运⾏的结果是_______。
OptionBase1
PrivateSubCommand1_Click()
Dima,b(3,3)
a=array(1,2,3,4,5,6,7,8,9)
Fori=1To3
Forj=1To3
b(i,j)=a(i*j)
If(j>=i)ThenPrintTab(j*3);Format(b(i,j),"###");
Nextj
Nexti
EndSub
A.123
B.1
C.147
D.123
4564524646
7897893699
五、填空题
(1)在VB中声明符号常量的关键字是_______。
(2)设a=1,b=2,c=3,则VB6.0表达式:a
(3)"a","T","Z","9",这四个字符中,_______的ASCII码值最⼤。
(4)执⾏语句B=MsgBox("XXX",,"YYY")后,在消息框中的标题信息是_______。
(5)函数Len("Hello!"+Space(2)+Mid("Shanghai",5,3))的值是_______。
(6)表达式Ucase(Mid("abcdefgh",3,4))的值是_______。
(7)表达式Int(1234.555*100+0.5)/100的结果是_______。
(8)使⽤数组声明语句Dima(3,-2TO2,5),则数组a包含元素的个数有_______。
(9)For-Next循环的循环的⼦句缺省时,循环变量每次改变的值是⼦句缺省时,循环变量每次改变的值是_______。
(10)填空,使得程序运⾏后,能在窗体上打印如图所⽰的图案。
PrivateSubForm_Click()
Fori=1To4
PrintTab(8-i);
Forj=1To8
Print"*";
()
Nexti
EndSub
(11)下⾯程序的功能是利⽤随机函数产⽣10个(1~100)之间的随机整数,打印其中能
被5整除的数并求其和,请⽤正确的内容填空。
PrivateSubForm_Click()
DimsumAsInteger,xAsInteger
Fori=1To10
x=Int(Rnd*100+1)
If()=0Then
sum=sum+x
Print"x=";x
EndIf
Nexti
Ifsum0Then
Print"sum=";sum
EndIf
EndSub
(12)⽤正确的内容填空,使得以下程序能够找出50以内所有能构成直⾓三⾓形的整数。
PrivateSubForm_Click()
DimaAsInteger,bAsInteger
DimcAsSingle
Fora=1To50
Forb=aTo50
c=Sqr(a^2+b^2)
If()ThenPrinta,b,c
Nextb
Nexta
EndSub
(13)⽤正确的内容填空,使得以下程序能够计算1+1/3+1/5+……+1/(2N+1),直到1/(2N+1)⼩于10-5。
PrivateSubForm_Click()
sum=1:n=1
Do
n=n+2
temp=1/n
sum=sum+temp
Iftemp<0.00001Then()
Loop
Print"N=";n
Print"sum=";sum
EndSub
(14)某⼤奖赛,有7位评委给参赛选⼿打分。以下程序是输⼊7位评委对某选⼿的打分后,去掉最⾼分和最低分后计算其
平均值作为该选⼿的成绩。请填空使得程序能正确运⾏。
PrivateSubForm_Click()
sum=0
Fori=1To7
cj=Val(InputBox("请输⼊第"&i&"位评委的打分","录⼊"))
Ifi=1Then
Max=cj
Min=cj
Else
IfMin>cjThen
Min=cj
ElseIfMax Max=cj EndIf EndIf sum=sum+cj Nexti aver=() Print"该选⼿的成绩为:",aver EndSub (15)以下程序⽤随机函数模拟掷骰⼦,统计掷50次骰⼦出现各点的次数,请⽤正确的内容填空。 PrivateSubForm_Click() Dima(1To6)AsInteger Randomize Fori=1To50 n=() a(n)=a(n)+1 Nexti Fori=1To6 Printi;"点出现";a(i);"次" Nexti EndSub 六、编程题 (1)编写程序将1~100⾃然数中能被3和5同时整除的数打印出来,并统计其个数。 (2)我国现有⼈⼝13亿,设年增长率为0.75%,编写程序,计算多少年后将超过16亿。 (3)编写程序输出100~200之间不能被3整除的⾃然数。 (4)设计程序,求s=1+(1+2)+(1+2+3)+……+(1+2+3+……+n)的值。 (5)编写程序计算S的近似值,直到最后⼀项的绝对值⼩于10-5为⽌。并⽤Print⽅法 输出计算结果。其中: KSk1)1(41312111+-++-+- = (6)假设某项税收的规定如下: ●收⼊在500元以内,免征; ●收⼊在500~1000元内,超过500元的部分纳税3%; ●收⼊超过1000元时,超过的部分纳税4%; ●收⼊超过2000元时,超过的部分纳税5%。 试编程实现上述操作。 (7)编写程序,⽤InputBox函数输⼊3个正整数,打印其中最⼤的数。 (8)编写程序,任意输⼊三个整数A,B,C,按由⼤到⼩顺序把它们打印出来。(9)编写程序,计算 )!12()1(!5!3sin1 2153--+++-≈--nxxxxxnn直到第n项的绝对值⼩于10-8 (10)分别编写两个程序,在窗体上分别打印出如下所⽰的图形。 (11)编写程序,输出1000之内的所有完数。“完数”是指⼀个数恰好等于它的因⼦之 和,如6的因⼦为1、2、3,⽽6=1+2+3,因⽽6是完数。 (12)⼀只⼩球从10⽶⾼度上⾃由落下,每次落地后反弹回原⾼度的40%,再落下。 编程计算⼩球在第8次落地时,共计经过了多少⽶? (13)编写程序,求出所有⼩于或等于100的⾃然数对。⾃然数对是指两个⾃然数和与 差都是平⽅数,如8和17的和为8+17=25与其差17-8=9都是平⽅数,则8和17就称为⾃然数对。 (14)编写程序,在窗体上打印下图所⽰的“数字⾦字塔”: (15)⽤⼀元纸币兑换⼀分、⼆分和五分的硬币,要求兑换硬币的总数为50枚。编程列 出所有可能的兑换⽅案。 (16)编写程序,建⽴并输出⼀个10×10的矩阵,该矩阵两条对⾓线上的元素为1,其 余元素均为0。