第四章 VB控制结构.docx
《第四章 VB控制结构.docx》由会员分享,可在线阅读,更多相关《第四章 VB控制结构.docx(14页珍藏版)》请在冰豆网上搜索。
第四章VB控制结构
第四章VB控制结构
班级学号姓名批阅
一、选择题
**顺序结构部分**
1.下面程序运行时,若输入395,则输出结果是_____B____。
PrivateSubCommand1_Click()
Dimx%
x=InputBox("请输入一个3位整数")
PrintxMod10,x\100,(xMod100)\10
EndSub
A)395B)539C)593D)359
2.设程序中有如下语句:
X=inputbox("输入","数据",100)
PrintX
运行程序,执行上述语句,输入5并单击输入对话框上的“取消“按钮,则窗体上输出____D_____。
A)0B)5C)100D)空白
3.在窗体上画一个名称为Commandl的命令按钮。
单击命令按钮时执行如下事件过程:
PrivateSubCommand1_Click()
a$="softwareandhardware"
b$=Right(a$,8)
c$=Mid(a$,1,8)
MsgBoxa$,,b$,c$,1
EndSub
则在弹出的信息框标题栏中显示的标题是___A______。
A)softwareandhardwareB)hardware
C)softwareD)1
4.在窗体上画一个命令按钮,然后编写如下事件过程:
PrivateSubCommand1_Click()
MsgBoxStr(123+321)
EndSub
程序运行后,单击命令按钮,则在信息框中显示的提示信息为___B______。
A)字符串“123+321”B)字符串“444”C)数值“444”D)空白
5.设x=5,执行语句Printx=x+10,窗体上显示的是_____D____。
A)15B)5C)TrueD)False
6.设窗体文件中有下面的事件过程:
PrivateSubCommand1_Click()
Dims
a%=100
Printa
EndSub
其中变量a和s的数据类型分别是__C_______。
A)整型,整型B)变体型,变体型C)整型,变体型D)变体型,整型
**选择结构部分**
7.设x是整型变量,与函数IIf(x>0,-x,x)有相同结果的代数式是_B________。
A)|x|B)-|x|C)xD)-x
8.与ifOption1.value=truethen这条语句不等价的是___B______。
A)ifoption1.valuethenB)ifoption1=true
C)ifvalue=truethenD)ifoption1then
9.设窗体上有一个名为Text1的文本框和一个名为Comamand1的命令按钮,并有以下事件过程:
PrivateSubCommand1_Click()
x!
=Val(text1.text)
SelectCasex
CaseIs<-10,Is>=20
Print"输入错误"
CaseIs<0
Print20-x
CaseIs<10
print20
CaseIs<=20
Printx+10
EndSelect
EndSub
程序运行时,如果在文本框中输入-5,则单击命令按钮后输出结果是___C______。
A)5B)20C)25D)输入错误
10.设有分段函数:
5x<0
Y=
x*22*x0≤x≤5
x*x+1x>5
以下表示上述分段函数的语句序列中错误的是_A________。
A)SelectCasexB)Ifx<0Then
CaseIs<0y=5
Y=5elseifx<=5then
CaseIs<=5,Is>0y=2*x
Y=2*xelse
Caseelsey=x*x+1
Y=x*x+1endif
endselect
C)y=IIf(x<0,5,IIf(x<=5,2*x,x*x+1))D)Ifx<0Theny=5
Ifx<=5andx>=0theny=2*x
Ifx>5theny=x*x+1
**For循环结构部分**
11.设有如下程序:
PrivateSubForm_Click()
DimsAsLong,fAsLong
DimnAsInteger,iAsInteger
f=1
n=4
Fori=1Ton
f=f*i
s=s+f
Nexti
Prints
EndSub
程序运行后,单击窗体,输出结果是_B________。
A)32B)33C)34D)35
12.下面程序的执行结果是___D______。
PrivateSubCommand1_Click()
a=10
Fork=1To5Step-1
a=a-k
Nextk
Printa;k
EndSub
A)-56B)-5-5C)100D)101
13.在窗体上画1个命令按钮,并编写如下事件过程:
A
运行程序,单击命令按钮,窗体上显示的内容为:
PrivateSubCommand1_Click()
Fori=5To1Step-0.8
PrintInt(i);
Nexti
EndSub
A)543211B)54321
C)43211D)443211
14.设有如下程序:
PrivateSubForm_Click()
DimiAsInteger,xAsString,yAsString
x="ABCDEFG"
Fori=4To1Step-1
y=Mid(x,i,i)+y
Nexti
Printy
EndSub
程序运行后,单击窗体,输出结果是__A_______。
A)ABCCDEDEFGB)AABBCDEFG
C)ABCDEFGD)AABBCCDDEEFFGG
15.在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:
PrivateSubCommand1_Click()
DimiAsInteger,nAsInteger
Fori=0To50
i=i+3
n=n+1
Ifi>10ThenExitFor
Nexti
Text1.Text=Str(n)
EndSub
程序运行后,单击命令按钮,在文本框中显示的值是____B_____。
A)2B)3C)4D)5
16.设有如下程序:
PrivateSubForm_Click()
Cls
a$=""
Fori=1To6
PrintTab(12-i);[空]
Nexti
EndSub
程序运行后,单击窗体,要求结果如图所示,则在[空]处应填入的内容为____A_____。
A)Left(a$,i)B)Mid(a$,8-i,i)
C)Right(a$,i)D)Mid(a$,7,i)
**Do循环结构部分**
17.以下程序:
PrivateSubForm_Click()
a=1:
b=a
DoUntila>=5
x=a*b
Printb;x
a=a+b
b=b+a
Loop
EndSub
程序运行后,单击窗体,输出结果是____D_____。
A)11B)11C)11D)11
23243836
18.以下程序段的输出结果是_____B____。
x=1
y=4
DoUntily>4
x=x*y
y=y+1
Loop
Printx
A)1 B)4 C)8 D)20
19.有一个数列,它的前3个数为0,1,1,此后的每个数都是其前面3个数之和,即0,1,1,2,4,7,13,24,……
要求编写程序输出该数列中所有不超过1000的数。
某人编写程序如下:
PrivateSubForm_Click()
DimiAsInteger,aAsInteger,bAsInteger
DimcAsInteger,dAsInteger
a=0:
b=1:
c=1
d=a+b+c
i=5
Whiled<=1000
Printd;
a=b:
b=c:
c=d
d=a+b+c
i=i+1
Wend
EndSub
运行上面的程序,发现输出的数列不完整,应进行修改。
以下正确的修改是____D_____。
A)把Whiled<=1000改为Whiled>1000
B)把i=5改为i=4
C)把i=i+1移到Whiled<=1000的下面
D)在i=5的上面增加一个语句:
Printa;b;c;
20.有人编写了如下的程序:
PrivateSubForm_Click()
DimsAsInteger,xAsInteger
s=0
x=0
DoWhiles=10000
x=x+1
s=s+x^2
Loop
Prints
EndSub
上述程序的功能是:
计算s=1+22+32+…+n2+…,直到s>10000为止。
程序运行后,发现得不到正确的结果,必须进行修改。
下列修改中正确的是____B_____。
A)把x=0改为x=1
B)把DoWhiles=10000改为DoWhiles<=10000
C)把DoWhiles=10000改为DoWhiles>10000
D)交换x=x+1和s=s+x^2的位置
**循环嵌套部分**
21.假定有以下程序段:
Fori=1To3
Forj=5To1Step-1
Printi*j
Next
Next
则语句Printi*j的执行次数是____A_____。
A)15 B)16 C)17 D)18
22.请阅读程序:
PrivateSubForm_Click()
m=1
Fori=4To1Step-1
PrintStr(m);
m=m+1
Forj=1Toi
Print"*";
Nextj
Print
Nexti
EndSub
程序运行后,单击窗体,则输出结果是____A_____。
A)1****B)4****C)****D)*
2***3****** **
3** 2** ** ***
4* 1* * ****
23.有如下事件过程:
PrivateSubFormClick()
DimnasInteger
x=0
n=InputBox("请输入一个整数")
Fori=1Ton
Forj=1Toi
x=x+1
Nextj
Nexti
Printx
EndSub
程序运行后,单击窗体,如果在输入对话框中输入5,则在窗体上显示的内容是___C______。
A)13 B)14 C)15 D)16
24.设有如下程序
PrivateSubCommand1_Click()
x=10:
y=0
Fori=1to5
Do
x=x-2
y=y+2
LoopUntily>5Orx<-1
Next
EndSub
运行程序,其中Do循环执行的次数是____C_____。
A)15B)10C)7D)3
二、填空题
1.在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程:
PrivateSubCommand1_Click()
DimnAsInteger
n=Val(InputBox("请输入一个整数:
"))
IfnMod3=0AndnMod2=0AndnMod5=0Then
Printn+10
EndIf
EndSub
程序运行后,单击命令按钮,在输入对话框中输入60,则输出结果是_________。
2.在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程:
PrivateSubCommand1_Click()
x=1
Result=1
Whilex<=10
Result=__________________
x=x+1
Wend
PrintResult
EndSub
上述事件过程用来计算10的阶乘,请填空。
3.在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程:
PrivateSubCommand1_Click()
t=0:
m=1:
Sum=0
Do
t=t+__________________
Sum=Sum+__________________
m=m+2
LoopWhile__________________
PrintSum
EndSub
该程序的功能是,单击命令按钮,则计算并输出以下表达式的值:
1+(1+3)+(1+3+5)+...+(1+3+5+...+39)请填空。
三、程序设计题
1.编写程序求下面函数的值。
2-xx≤0
Y=x+20X2225-xx>5
2.编写程序,计算1+3+5+99的值。
3.从键盘输入一个字符串,统计其中出现"a"和"c"的个数,如输入"abcaabbc",则"a"的个数为3,"c"的个数为2。
4.从键盘输入一个整数,并在窗体上显示此整数的所有不同因子和因子个数。
如:
8的所有因子为1、2、4,因子个数为3个。
5.编写程序,求一字符串的反序串(如abcd的反序串为dcba)。
6.输入一个正整数,判断其是否为素数(只能被1和自身整除的正整数)。
7.实现对分数约分的功能。
输入m、n,求
约分后的分子和分母分别为多少。
8.输入一个(0~255)之间的十进制正整数,将其转换为二进制,如:
输入7转换为。