VB所有习题与解答Word文档下载推荐.docx
《VB所有习题与解答Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《VB所有习题与解答Word文档下载推荐.docx(152页珍藏版)》请在冰豆网上搜索。
它可以执行系统预定义的操作,例如窗体的Print(打印)方法、Show(显示窗体)方法;
当事件由用户或VB系统触发时,对象会感受到该事件并对该事件作出响应,响应某个事件后所执行的程序就是事件驱动程序。
事件驱动程序有时也称为事件过程。
例如,以下是命令按钮Command1在接受单击事件时驱动的程序:
PrivateSubCommand1_Click()
Print"
Helloworld!
"
EndSub
7.总结使用VisualBASIC开发一个应用程序的过程。
参见教材1.5。
8.下面程序是什么事件驱动程序?
如何执行该事件驱动程序?
执行的结果如何?
PrivateSubCommand1_Click()
欢迎你使用VB!
略。
1.4编程题
编写一个程序。
要求设置窗体的标题是“这是我的第一个练习”,且在程序执行后,单击窗体显示如下一行文字:
我可以用VisualBASIC编写程序了!
解答:
(1)用户界面设计:
设计用户界面由一个窗体构成。
(2)对用户界面上的控件对象的属性进行设置:
把窗体的Caption属性值设置为“这是我的第一个练习”。
(3)编写控件对象的事件驱动程序:
PrivateSubForm_Click()
我可以用VisualBASIC编写程序了!
第2章基本数据类型与表达式
2.1填空题
1.在程序设计语言系统中具有固定语法含义的符号串称为(关键字),它们通常用来表示系统提供的标准过程、函数、运算符、常量等。
2.(标识符)用于标记用户自定义的常量、类型、变量、控件、过程、函数等名字。
3.整型数据占
(2)字节的内存空间。
长整型数据占(4)个字节的内存空间。
单精度浮点型数据占(4)个字节的内存空间。
双精度浮点型数据占(8)个字节的内存空间。
日期型数据占(8)个字节的内存空间。
4.100%表示100为(整)型数据;
100!
表示100为(单精度浮点)型数据;
100@表示100为(货币)型数据。
6符号常量在某一过程中说明,则该符号常量只能在(该过程内)内有效。
6.若一个整型变量说明了之后没有给它赋值,则它的值为(0)。
7.在VB中可以把类型说明符放在变量名的(末尾)来说明变量的类型。
8.为使VB的编译程序自动检查变量声明,遇到未经说明的标识符发出错误警告信息,在程序中要加上(OptionExplicit)语句。
9.对含有多种运算的表达式,各种运算之间的顺序为(函数运算)→(算术运算)→(关系运算)→(逻辑运算)。
10.把1234.567的小数部分四舍五入转换为整数,可使用函数(Cint(1234.567))。
11.将x四舍五入到百位(例如,若x=23874.52应舍入成23900),可使用表达式(Int(x/100+0.5)*100)。
12.将x从十位截断(例如,x=23874.52应截成23800)可使用表达式(Fix(x/100)*100或者Int(x/100)*100或者Cint(x\100)*100)。
13.设X为数值变量,求X的常用对数可使用的表达式是(Log(X)/Log(10))。
14.要从字符串“VisualBASIC6.0”中截取子字符串“BASIC”可使用函数(Mid(“VisualBASIC6.0”,8,5))
15.设S是字符串变量,并且串长度为7,写出生成由S的偶数序号字符组成的字符串的表达式(例如,把字符串”ABCDEFG”变成“BDF”)。
答案:
Mid(s,2,1)+Mid(s,4,1)+Mid(s,6,1)
16.设S是字符串变量,并且串长度为7,写出用第2i–1个字符代替第2i个字符所得到字符串的表达式(例如,把字符串”ABCDEFG”变成“AACCEEG”)。
String(2,Mid(s,1,1))+String(2,Mid(s,3,1))+String(2,Mid(s,5,1))+Mid(s,7,1)
或:
String(2,Mid(s,1,1))+String(2,Mid(s,3,1))
+String(2,Mid(s,5,1))+Right(s,1)
17.产生从整数a到整数b之间的随机整数可使用表达式(Int((b-a+1)*Rnd+a))。
18.产生从100.01到200.99之间的随机数(包括两端点)可使用的表达式是(Int((20099-10001+1)*Rnd+10001)/100)。
2.2选择题
1.下面选项中(c)是算术运算符。
a)%b)&c)Modd)And
4下面不合法的标识符是(d)。
a)Go_Tob)Tab1c)姓名d)Int
3.下列选项中,把r定义为双精度型变量的是(c)。
a)r%b)r!
c)r#d)r$
4.下列表达式中(d)是错误的。
a)2^a/5b)–2^1/5c)2^(1/5)d)(-2)^(1/5)
5.在下列选项中,正确表达2a+5的表达式是(c)。
a)2^a+5b)2^a+2^5c)2^(a+5)d)2^a2^5
6.10Mod4的值为(b)。
a)1b)2c)4d)10
7.下列运算符中(a)优先级最高。
a)/b)\c)Modd)+
8.在VB中不能表示逻辑真的是(d)。
a)Trueb)–1c)1d)T
9.能正确表达a≤1或a≥5的逻辑表达式是(c)。
a)a<
=1或a>
=5b)a<
=1,a>
=5
c)a<
=1ora>
=5d)a<
=1Anda>
10.设X为整型变量,不能正确表达1<
X<
5的逻辑表达式是(a)。
a)1<
5b)X=2orX=3orX=4
c)1<
XAndX<
5d)Not(X<
=1)AndNot(X>
=5)
11.求COS35°
可以使用的函数是(d)。
a)Cos35b)Cos(35)c)Cos(35º
)d)Cos(35*3.14159/180)
12.Len(“中国人民”)的值是(b)。
a)0b)4c)8d)不能确定
13.设X是一个正实数,对X的第二位小数四舍五入可使用的函数是(c)。
a)Int(X+0.05)/10b)Int((X+0.05)/10)
c)Int(10*(X+0.05))/10d)Int(10*(X+0.05)/10)
14.函数Int(Rad*99+1)产生随机数的范围是(b)。
a)[1,99)b)[1,99]c)[1,100)d)[1,100]
2.3下列符号哪些是正确的变量名
1)n2)3x3)Abs4)855)print_566)名称
7)π8)a%b9)ab#10)MyName11)“年龄”12)学校$
答案:
除了以下符号外,其它符号都是正确的变量名。
错误的变量名原因
3x变量名必须以字母为开始
Abs不能和关键字同名
85变量名必须以字母开始
π不是英文字母
a%b变量名中不能用字符%
MyName变量名内不能有空格字符
2.4把下列数学表达式写成VB表达式
1)
2)x{x[x(ax+b)+c]+d}+e
3)ln(1+|
|10)4)
5)ctg
6)log10(a2+2ab+b2)
1)1/(1+(1/(1+1/(x+y))))
2)x*(x*(x*(a*x+b)+c)+d)+e
3)Log(1+Abs((a+b)/(a-b))^10)
4)Sqr(1+3.14159/2*Cos(48*3.14159/180))
5)1/Tan((1-x*x)/(1+x*x))或者Cos((1-x*x)/(1+x*x))/Sin((1-x*x)/(1+x*x))
6)Log(a*a+2*a*b+b*b)/Log(10)
2.5写出下列函数的值
1)Int(-1234.5678)2)Fix(1234.5678)
3)val(“12.34”)4)Cint(1234.5678)
5)Abs(-100)6)Sgn(-100)
7)Sqr(sqr(16))8)Left(“VisualBASIC6.0”,6)
9)Mid(“VisualBASIC6.0”,8,5)
10)InStr(1,“VisualBASIC6.0”,“BASIC”)
11)String(3,“$”)12)Int((100*Rnd)+1)
1)-12352)12343)12.344)12355)100
6)-17)28)Visual9)BASIC10)0
11)$$$12)产生从整数1到整数100之间的随机整数
2.6写出下列表达式的值
1)(3+6)`\22)18\4*4.0^2/1.6
3)25\3Mod3.2*Int(2.5)4)“xyz”+“438”
5)“abc”&
“123”&
“abc”6)349.25+“0.75”=350
7)“china”>
=“canada”8)“abc”<
=“abc”&
“123”
9)3>
4And5=510)TrueOrNot7–3<
=4
1)42)03)24)xyz4385)abc123abc
6)True7)True8)True9)False10)True
2.7设a1,a2,a3是布尔变量,其值依次为:
True,True,False,写出下列布尔表达式的值
1)Nota1AndNota22)Nota1EqvNota2
3)a1Ora2Anda34)a1Xora2Ora3
5)(Nota1Ora2)And(a2Ora3)
6)Nota1Anda2Impa3
1)False2)True3)True4)False5)True6)True
2.8用关系表达式或逻辑表达式表示下列条件
1)i整除j2)n是小于正整数k的偶数
3)1<
=x<
104)x,y其中有一个小于z
5)y
[–100,–10],并且y
[10,100]
6)坐标点(x,y)落在以(10,20)为圆心,以35为半径的圆内
7)三条边a,b和c构成三角形
8)年份Year能被4整除,但不能被100整除或者能被400整除
1)iModj=02)n<
kAndnMod2=0
=xAndx<
104)x<
zOry<
z
5)Not(y>
=-100Andy<
=-10)AndNot(y>
=10Andy<
=100)
6)Sqr((x-10)^2+(y-15)^2)<
35
7)a+b>
cAndb+c>
aAndc+a>
b
8)YearMod4=0AndyearMod400<
>
0OrYearMod400=0
2.9问答题
1.标识符的选取必须遵循什么规则?
参见教材2.1.2。
2.各种基本数据类型的取值范围如何?
参见教材2.2表2-1。
3.空串与空格有什么不同?
参见教材2.1.1。
4.什么是符号常量?
使用符号常量有什么好处?
参见教材2.3.1。
5.自动变量与静态变量如何定义?
它们之间有什么不同?
参见教材2.3.2。
6.两个字符串如何进行比较(关系)运算,如何确定运算结果?
试举例说明。
参见教材2.4.3。
第3章程序流程控制
3.1填空题
1.设变量r表示圆的半径,则计算圆的面积并赋给变量s使用的赋值语句为(s=3.14159*r*r)。
2.给命令按钮Command2的Caption属性赋予字符串“退出”使用的赋值语句为(Command2.Caption="退出")。
3.为了求n的阶乘,要求用户输入n的值。
程序使用InputBox函数输入,要求对话框提示信息为“请输入一个求阶乘的数:
”,标题为“求数的阶乘”,并且正确地把输入的信息转换为数值存放到变量n中,则使用的赋值语句为(n=val(InputBox("请输入一个求阶乘的数:
","求数的阶乘"))。
4.如果使用MsgBox对话框显示提示信息“退出本系统?
”,并显示“是(Yes)”和“否(No)”两个按钮,显示图标“?
”号,指定第一个按钮为默认值以及标题为“提示信息”,则调用MsgBox函数的形式为(MsgBox("退出本系统?
",4+32+0,"提示信息"))。
5.如果使用MsgBox对话框显示提示信息“文件未找到!
”,并显示“确定”按钮、图标“!
”号和标题“文件查找”,则使用的MsgBox语句为(MsgBox"文件未找到",0+48+0,"文件查找" )。
6.要在当前窗体Form和立即窗口输出字符串“VisualBASIC6.0”使用的Print方法分别是(Print“VisualBASIC6.0”)和(Debug.Print“VisualBASIC6.0”)。
7.使用Print方法时,若用逗号分隔,则按(标准)格式输出各表达式的值,若用分号分隔,则按(紧凑)格式输出各表达式的值。
8.注释语句是一个(非执行)语句,VB不对它们进行编译,对程序的执行结果没有任何影响。
9.判别变量i是否为偶数,若为偶数就把它显示出来。
使用单行结构条件语句为(IfiMod2=0Thenprintx)。
10.判别变量x是否大于0,若大于0,则累加到变量s1中,否则,累加到变量s2中,使用的单行结构条件语句为(Ifx>
0Thens1=s1+xElses2=s2+x)。
11.给定分段函数
,求y的值,使用的单行结构条件语句为(Ifx>
0Theny=2*x+1ElseIfx=0Theny=0Elsey=2*x-1)。
12.判别a是否等于b,若a=b,则输出字符串“aisequaltob”的块结构条件语句为()。
Ifa=bThen
Print“aisequaltob”
End
13.判别ch是否为小写字母,若是,输出“yes”;
否则,输出“No”的块结构条件语句为()。
IfAsc(ch)>
=97AndAsc(ch)<
=122Then
Print“Yes”
Else
Print“No”
EndIf
14.若一个case子句中的表达式表由逗号分隔的若干个常数组成,则它的含义是:
当测试表达式的值等于(这些常数中的某一个)时,执行该case子句相应的程序块。
15.若case子句中的表达式表列具有形式:
<
表达式1>
To<
表达式2>
,则它的含义是:
当测试表达式的值等于(这个范围内的值)时,执行该case子句相应的程序块。
16.若case子句中的表达式表列具有形式:
Is<
关系运算符>
<
表达式>
当测试表达式的值满足(Is后的关系)时,执行该case子句相应的程序块。
17.在循环语句中,反复执行的程序段称为(循环体);
进入循环体的条件称为(循环条件);
中止循环体执行的条件称为(结束循环条件)。
3.2选择题
1.下列赋值语句中,(d)是正确的。
a)x!
="abc"b)a%="10e"c)x+1=5d)s$=100
2.下列选项中,(d)不能交换变量a和b的值。
a)t=b:
b=a:
a=tb)a=a+b:
b=a-b:
a=a-b
c)t=a:
a=b:
b=td)a=b:
b=a
3.若在消息框MsgBox中显示“确定(Ok)”和“取消(Cancel)”两个按钮,则buttons参数的设置值是(b)。
a)0b)1c)2d)3
4.若在消息框MsgBox中选择第二个按钮为默认值,则buttons参数的设置值是(b)。
a)0b)256c)512d)768
5.若单击了“终止(Abort)”按钮,则MsgBox函数的返回值是(c)。
a)1b)2c)3d)4
6.以下不正确的单行结构条件语句是(d)。
a)Ifx>
yThenPrint“x>
y”b)IfxThent=t*x
c)IfxMod3=2Then?
xd)Ifx<
0Theny=2*x-1:
PrintxEndIf
7.给定程序段
DimaAsInteger,bAsInteger,cAsInteger
a=1:
b=2:
c=3
Ifa=c-bThenPrint"
#####"
ElsePrint"
*****"
以上程序(c)。
a)没有输出b)有语法错
c)输出#####d)输出*****
8.把a,b之中的最大值存放于max,下面语句书写正确的是(d)。
a)Ifa>
bThenmax=aElsemax=bEndIf
b)Ifa>
bThenmax=a
Elsemax=b
c)Ifa>
bThen
max=a
max=b
d)Ifa>
bThen
max=a
Else
max=b
9.下列Case语句中正确的是(c)。
a)SelectCasex
Case1Or3Or5
y=x*x-1
CaseIs>
10
y=x+1
EndSelect
b)SelectCasex
Case1,3,5
y=2*x-1
CaseIsx<
=1
Y=2*x+1
EndSelect
c)SelectCasex
CaseIs<
=0
y=x-1
CaseIs>
0
y=Sqr(x)+1
EndSelect
d)SelectCasex
Casex>
=1Andx<
=5
y=x-1
10
y=x*x+1
EndSelect10.执行下列程序段后屏幕上(c)。
i%=10:
Sum=0
Whilei>
1
Sum=Sum+i
i=i-1
Wend
PrintSum
a)无显示b)显示10c)显示54d)显示55
11.执行下列程序段输出结果是(c)。
x%=2
Dowhilex<
8
Print“*”;
x=x+2
Loop
a)*b)**c)***d)****
12.设有程序段
Dimk%
k=5
Dountilk=0
k=k-1
则下面对循环语句描述正确的是(c)。
a)循环体1次也不执行b)循环体执行1次
c)循环体执行5次d)循环体执行无限次
13.下面描述中错误的是(a,c)。
a)执行Dountil<
条件>
…loop语句中,当循环<
为false时,结束循环体的执行。
b)执行While<
…Wend语句时,循环体可能一次也不执行。
c)Do…loopWhile<
语句的循环体可能一次也不执行。
d)执行Do…loopUntil<
语句中,当循环条件为true时,结束循环体的执行。
14.下面程序段中循环语句的循环次数是( b)。
Forx=10To1Step-3
Printx
Nextx
a)0b)4c)5d)10
15.执行语句Fori=1to3:
i=i+1:
Nexti后变