第 4 章 VB程序设计基础
一、叙述题
1.VB提供了哪些标准数据类型?其类型关键字分别是什么?其类型符又是什么? 解答:VB提供的标准数据类型、类型关键字、类型符见表4-1。
表4-1 标准数据类型、关键字及类型符
数据类型 关键字 占用存储空间 类型符
字节型 Byte 1 Byte
整型 整型 Integer 2 Byte % 长整型 Long 4 Byte &
单精度型 Single 4 Byte !
实型 双精度型 Double 8 Byte #
货币型 Currency 8 Byte @
日期型 Date 8 Byte
逻辑型 Boolean 2 Byte 其它
类型 字符型 String 字符串长 $ 变体型 Variant 根据需要分配
2.哪种数据类型所需的内存空间最小?存储数值3.237需要用哪种数据类型? 解答:字节型所需的内存空间最小。存储数值3.237需要用双精度数据类型。 3.进行数据类型转换时,数值类型与逻辑类型是如何转换的?试举例说明。 解答:(1)数值类型间的转换
运算中如果遇到不同数值类型的操作数,系统一般是将占用存储空间小的类型转换为占用存储空间大的类型。
例如Byte向Integer转换,Integer向Long转换等。但在将整型(Integer和Long)转换为实型时是转换为Double型;将实型转换为整型时是转换为Long型。
(2)数值类型与字符串类型的转换
数值类型向字符串类型转换时保持字面形式,不再有数值的含义。字符串类型只有当其字符具有数值形式时才能转换为数值型,而且不论数值形式是整型还是实型都转换为Double型。
例如,字符串\367.28\可转换为数值367.28;而字符串\45s6\则不能转换为数值型数据。 (3)数值类型与逻辑类型的转换
当数值型数据的值为非O时转换为逻辑型的True,为0时转换为逻辑型的False;当逻辑数据转换成整型数据时True转换为-1,False转换为O。
(4)字符串类型与逻辑类型的转换
只有具有数值形式的字符串才能转换为逻辑型,转换规则按照第3条处理;逻辑型数据在转换为字符串时是将True转换为\True\, 将False转换为\False\,且不再有逻辑意义。
4.VB中表示常量有哪几种?试举例说明。 解答:有下列几种:
184
直接常量:
(1)数值常量:34、-546、&O12、&H3F2D。
(2)字符串常量:\Visual Basic\、\11.46\、\02/01/2010\。 (3)逻辑型常量:True、False。
(4)日期常量:#11/10/2010#、#Jan 1,2010#。
符号常量:
Const PI=3.14159 '定义常量PI,单精度类型 Const MAX As Integer=215 '定义常量MAX,整型 系统常量:
vbBlack、vbRed、vbcrlf
5.VB中的“四舍五入”是如何实现的?试举例说明。
解答:四舍五入遵循“奇进偶不进”的原则,即当小数点前为奇数时,小数点后的数按四舍五入方式进行;当小数点前为偶数时,小数点后的数小于等于五时舍去,大于五时进位。例如:3.5四舍五入的结果为4,4.5四舍五入的结果为4,而4.51四舍五入的结果为5。 二、单选题
1.A 2.A
3.B A为Integer型变量,而3277el的值32770超出了Integer类型的最大值32767。 4.B
5.C 虽然变量A为长整型,但是计算16384*2时已经出错。 6.B
7.A 表达式-32000-769的值为-32769,超出了Integer类型的最小值-32768。 8.B
9.C 表达式1&*a*b*c是转换成长整型数值的计算,其余三个在计算a*b*c时出错。 10.A 11.A 12.C
13.B 不能直接使用π作为常数。 14.C 15.A 16.C 17.A 18.B
19.B 使用公式Int(Rnd*(上界-下界+1)+下界)。 20.D
21.C 由于a为长整型变量,则Len(a)的值为4,将数值型转换为字符串时,Str函数
的长度比CStr函数的长度大1。
22.C
23.B 除法运算的结果类型为Double,Fix函数返回值的类型为Double,\转换为
数值时类型为Double。
24.B 25.B 26.B
27.A Cint(-4.51) 的值为-5,Int(-4.51)的值为-5,Fix(-4.51) 的值为-4。 28.B
185
29.A CInt(-3.5) 的值为-4,Fix(-3.81) 的值为-3,Int(-4.1) 的值为-5,5 Mod 3的值为
2。
30.B
31.B 表达式CInt(5.6) * 5461 + 2运算时会产生溢出。因为CInt(5.6)的值为整型6,与
5461相乘结果为整型32766,再与2相加和为32768,超出整型的最大数32767。
32.D
33.D Mid(s,m[,n])=s1语句的含义是,用字符串s1替换字符串s中,从m开始的
与字符串s1等长的一串字符。若使用参数n,则用字符串s1左起n个字符,替换字符串s中从m开始的n个字符。所以B和C均是错的,A的起始位置不对。
34.D 35.C 36.B
37.C Xor运算的含义是:两个操作数不同时结果为True。 38.A 39.D 40.A 41.A 42.C 43.C 44.C 45.A 46.C
三、编程及上机调试
1.随机产生一个4位正整数,求出该数的倒序数,输出该数及倒序数。如产生的数为1234,则倒序数为4321。通过上机调试来完成下列程序代码。
【分析】随机产生一个4位正整数,可以使用公式Int(Rnd*(上界-下界+1)+下界),数值转换为字符串应使用CStr函数,然后使用字符串函数进行拼接即可。
【程序代码】
Private Sub Form_Load()
Dim x As Integer, s As String, d As String Randomize
x = Int(Rnd * 9000 + 1000) s = CStr(x)
d = Right(s, 1) + Mid(s, 3, 1) + Mid(s, 2, 1) + Left(s, 1) Show
Print \产生的数:\倒序数:\End Sub
2.设计程序,设球半径为r、球体积为v、球表面积为f,球体积和球表面积的计算公式如下:
4v??r3、f?4?r2
3根据图4.13设计程序界面,输入半径,分别计算球体积和球表面积。 【程序代码】
Private Sub Command1_Click()
Dim r As Single, v As Single, s As Single Const pi = 3.14159 r = Text1.Text
v = 4 * pi * r ^ 3 / 3 s = 4 * pi * r ^ 2
186
Text2.Text = v Text3.Text = s End Sub
Private Sub Command2_Click() Text1.Text = \ Text2.Text = \ Text3.Text = \ Text1.SetFocus End Sub
Private Sub Command3_Click() End End Sub
3.根据如图4.14所示的消息框,写出相应的实现语句。
图4.14 信息输出对话框
【程序代码】
Private Sub Form_Click() MsgBox \在这里显示提示\提示信息\请确认\
End Sub 或
Private Sub Form_Click()
MsgBox \在这里显示提示\提示信息\
+ vbCritical, \请确认\
End Sub
第 5 章 程序控制结构
一、叙述题
1.算法有哪几种描述方法?
解答:算法的表示可以有多种形式,如文字表示、流程图表示、伪代码(一种介于自然语言和程序设计语言之间的文字和符号表达工具)和程序设计语言表示等。
2.VB是如何执行语句x = y = 5的?
解答:首先判断变量y是否等于5,然后将判断结果送给变量x。 3.结构化程序设计的三种基本结构是什么?
解答:结构化程序设计的三种基本结构是顺序结构、选择结构(又称分支结构)、循环结构。
4.条件语句格式中的“条件表达式”可以是哪些表达式? 解答:关系表达式、逻辑表达式、变量或算术表达式。
5.在事先不知道循环次数的情况下,如何使用For循环结构?
解答:通常在事先不知道循环次数的情况下,使用For循环结构时将循环的终值设置为某一个特殊值或循环变量可取的最大值。如32767、9999等。然后循环中配合If语句,满
187
相关推荐: