3章语言基础练习答案.docx
《3章语言基础练习答案.docx》由会员分享,可在线阅读,更多相关《3章语言基础练习答案.docx(17页珍藏版)》请在冰点文库上搜索。
3章语言基础练习答案
第三章VisualBasic语言基础
本章重点:
1.语言基础(编程规范、数据类型)
2.赋值语句
3.运算符和表达式的优先级、运算及表述
4.常用内部函数的运算与应用;被某数整除——Mod函数;产生某范围的随机整数——Rnd函数;输入对话框——InputBox函数;输出消息对话框——MsgBox函数。
理论知识
一、选择题
1.下列[C]字符不属于VisualBasic字符集。
(A)A(B)#(C)ξ(D)@
2.VisualBasic允许的常量有[BFH]。
(多选)
(A)E7(B)4.8E2(C)2.5*10(D)E-5
(E)1/2(F)1.1e-2(G)π(H)False
3.以下[CDE]不是合法的常量。
[A]是逻辑常量,[B]是字符串常量,[F]是日期常量。
(多选)
(A)true(B)”100.0”(C)11-03-99(D)F(E)’AN’(F)#11/05/1998#
4.常量-0.00013579的科学记数法是[CD]。
(多选)
(A)-1,3579E+0.4(B)1.3579E-4(C)–13.579E-5(D)-1.3579E-04
5.系统符号常量的定义可以通过[A]
(A)对象浏览器(B)代码窗口(C)属性窗口(D)工具箱
6.\、/、Mod、*四个算术运算符中,优先级最低的是[C]。
(A)\(B)/(C)Mod(D)*
7.下列VB布尔运算符中,级别最低的是[C]。
(A)Xor(B)Or(C)Eqv(D)And
8.以下[C]是字符串常量,[A]可以作为字符串变量。
(A)m(B)#01/01/99#(C)“m”(D)true
9.下列[C]为日期型常量。
(A)”2/1/02”(B)2/1/02(C)#2/1/02#(D){2/1/02}
10.Variant是一种特殊的数据类型,除了[A]和[H]类型外,可以包含任何种类的数据。
(A)固定长度字符串(B)字节(C)实型(D)单精度
(E)可变长度字符串(F)整型(G)货币(H)自定义
11.下列符号常量的声明中,[C]是不合法的。
(A)ConstaAsSingle=1.1(B)ConstaAsInteger=”12”
(C)ConstaAsDouble=Sin
(1)(D)Consta=”OK”
12.下列[C]语句不能用于变量说明。
(A)Dim(B)Public(C)Const(D)Private
13.以下不能作为VisualBasic变量名的是[CDEFG](多选)
(A)E_12(B)E12(C)E12(D)E-12(E)12-E(F)12_EG)2*e
14.下列变体数据类型的叙述正确的是[C]。
(A)变体是一种没有类型的数据
(B)变体是赋给某一种类型数值后,就不能再赋给它另一种类型数值
(C)一个变量没有定义就赋值,该变量即为变体类型
(D)变体的空值就表示该变量值为0
15.设有以下定义语句:
Dimmax,minAsSingle,d1,d2AsDouble,abcAsString*5
则变量max的类型是[A],变量min的类型是[B],变量d1类型是[A],变量d2的类型是[C],变量abc的类型是[F]。
(A)变体型(B)单精度型(C)双精度型(D)变长字符串(F)定长字符串
16.单精度、双精度浮点数存储时占的字节数分别是[D];其类型声明符分别是[C]。
(A)1,2 (B)2,4 (C)3,6 (D)4,8
(A)#,% (B)!
,% (C)!
,# (D)%,!
17.要强制显式声明变量,可在窗体模块或标准模块的声明段中加入语句[B]。
(A)OptionBase0(B)OptionExplicit(C)OptionBase1(D)OptionCompare
18.下列对变量的定义中,不能定义a为变体变量的是[A]
(A)DimaAsDouble(B)DimaAsVariant
(C)Dima(D)a=24
19.PrivateSubForm_Click()
DimaAsInteger
StaticbAsInteger
a=b+1
b=a+b
Printa,b
EndSub
当鼠标单击了窗体4次时窗体显示的结果为[D]。
(A)1,2 (B)4,5 (C)4,8 (D)8,15
PrivateSubForm_Click()
DimaAsInteger
StaticbAsInteger
b=a+1
a=a+b
Printa,b
EndSub
当鼠标单击了窗体4次时窗体显示的结果为[A]。
(A)1,1 (B)4,4 (C)4,8 (D)8,15
20.Rnd函数不可能产生[B]
(A)0(B)1(C)0.1234(D)0.0005
21.Int(100*Rnd
(1))产生的随机整数的闭区间是[A]。
(A)[0,99](B)[1,100](C)[0,100](D)[1,99]
22.求一个三位正整数N的十位数的正确方法是[A]。
(A)Int(N/10)-Int(N/100)*10(B)Int(N/10)-Int(N/100)
(C)N-Int(N/100)*100(D)Int(N-Int(N/100)*100)
23.”x是小于100的非负数”,用VB表达式表示正确的是[C]。
(A)0≤x<100 (B)0<=x<100 (C)x>=0 And x<100 (D)x≥0 Or x<100
24.如果X是一个正实数,对X的第3位小数四舍五入的表达式是[B]。
(A)0.01*Int(X+0.005) (B)0.01*Int(100*(X+0.005))
(C)0.01*Int(100*X+0.005) (D)0.01*Int(X+0.05)
25.数学关系3≤x<10表示成正确的VB表达式为[B]。
(A)3<=x<10(B)3<=xAndx<10
(C)x>=3Orx<10(D)3<=xAnd<10
26.表达式”12”+”ab”的值是[A];表达式”12”&”ab”的值是[A];表达式12&34的值是[B];表达式12&”34”的值是[B];12&“ab”的值是[A];表达式12+34的值是[E];表达式12+”34”的值是[E];12+“ab”的值是[F]。
(A)”12ab” (B)”1234” (C)1234 (D)”46”(E)46(F)出错
27.与数学表达式
对应,VB的表达式不正确的是[D]
(A)a*b/(3*c*d)(B)a/3*b/c/d(C)a*b/3/c/d(D)a*b/3*c*d
28.已知a=”ABCDEFGHIJK”,则执行语句Print Mid$(a,3,4)后的结果是[D]。
(A)ABCD (B)BCDE (C)BCD (D)CDEF
29.a#=12.34
print len(a#),len(Str(a#))
最后输出结果为[D]。
(A)4,4 (B)5,5 (C)5,6 (D)8,6
30.执行以下程序段后,变量C$的值为[D]。
a$=“Visual Basic Programming”
b$=“Quick”
c$=b$ & Ucase(Mid(a$,7,6)) & Right(a$,12)
(A)Visual BASIC Programming (B)Quick Basic Programming
(C)QUICK Basic Programming (D)Quick BASIC Programming
31.以下程序段的输出结果是[D]。
a=sqr(3)
b=sqr
(2)
c=a>b
print c
(A)-1 (B)0 (C)False (D)True
32. 语句Print Sgn(-6^2)+Abs(-6^2)+Int(-6^2)的输出结果是[C]。
(A)-36 (B)1 (C)-1 (D)-72
33.以下语句的输出第一个结果是[B];第二个结果是[D]
a=sqr(3)
print format(a,”$####.##”)
print format(a,”$0000.##”)
(A)$1.732 (B)$1.73 (C)$1732 (D)$0001.73
34.函数InStr(”VB程序,visualBasic,Vb”,”vb”)的值为[A]。
(A)0(B)1(C)18(D)Vb
35.把小写字母转换为大写字母的函数是[B]。
(A)Lcase$ (B)Ucase$ (C)Instr (D)Len
36.在默认情况下InputBox$函数返回值的类型为[B]
(A)数值 (B)字符串
(C)变体 (D)数值或字符串(视输入的数据而定)
37.MsgBox函数中有4个参数,其中必须写明的参数是[C]。
(A)指定对话框中显示按钮的数目(B)对话框标题
(C)提示信息(D)所有参数都是可选的
38.求下列表达式的值:
(1)5^2Mod25\2^2的值是[A]。
(A)1(B)0(C)6(D)4
(2)Int(8*Sqr(36)*10^(-2)*10+0.5)/10的值是[C]。
(A).48(B).048(C).5(D).05
注:
0.48可省略小数点前的0,直接用.48表示
(3)5^-2+Val(Mid(“20.01”,3))的值是[C]。
(A).25(B).5(C).05(D)24.9
(4)Val(”.123E2CD”)的值是[B]。
(A)123(B)12.3(C)0(D)123E2CD
(5)Int(-17.8)+Sgn(17.8)的值是[B]。
(A)-16(B)-17(C)-18(D)0
(6)Int(-17.8)+Abs(17.8)的值是[C]。
(A)0(B)0.8(C)-0.2(D)-34.8
(7)Int(105.678*100+0.5)\100的运算结果为[D]。
(A)105.678 (B)105.7 (C)105.68 (D)105
(8)Asc(”BCDEF”)的值为[A].
(A)66 (B)67 (C)68 (D)70
39.设A、B、C表示三角形的三条边,表示条件“任意两边之和大于第三边”的逻辑表达式可以用[BD]表示。
(多选)
(A)A+B>=COrA+C>=BOrB+C>=A
(B)Not(A+B<=COrA+C<=BOrB+C<=A)
(C)A+B(D)A+B>CAndA+C>BAndB+C>A
40.下列代数式对应的表达式:
(1)x1-|a|+ln10+sin(x2+2∏)/cos(57o)对应的VisualBasic表达式是[A]。
(A)X1-Abs(A)+Log(10)+Sin(X2+2*3.14)/cos(57*3.14/180)
(B)X1-Abs(A)+Log(10)+Sin(X2+2*π)/cos(57*3.14/180)
(C)X1-Abs(A)+Log(10)+Sin(X2+2*3.14)/cos(57)
(D)X1-Abs(A)+Log(10)+Sin(X2+2*π)/cos(57)
(2)|e3+lgy1+arctgy2|对应的VisualBasic表达式是[A]。
(A)abs(exp(3)+log(y1)/log(10)+atn(y2))
(B)abs(e^3+log(y1)+1/tg(y2))
(C)abs(exp(3)+log(y1)+1/atn(y2))
(D)abs(exp(3)+log(y1)+1/atn(x))
41.下列叙述中不正确的是[C]。
(A)变量名的第一个字符必须是字母或汉字。
(B)变量名的长度不超过255个字符。
(C)变量名可以包含小数点或者内嵌的类型声明字符。
(D)变量名不能使用关键字。
42.VB中每个语句结束的标志是[D]。
(A)分号 (B)句号 (C)换行符 (D)回车键
43.赋值语句的作用是[C]。
(A)赋值语句用于将表达式的值赋给变量
(B)赋值语句用于将表达式的值赋给属性
(C)赋值语句用于将表达式的值赋给变量或属性
(D)赋值语句用于将表达式的值赋给变量和属性
44.在VB中,赋值语句兼有的双重功能是[C]
(A)计算与等于 (B)计算与比较 (C)计算与赋值 (D)比较与赋值
45.VB中的注释语句是[B]。
(A)执行语句 (B)非执行语句 (C)命令语句 (D)结构化语句
46.长度为0的字符串称为[C]。
(A)零字符串 (B)特殊字符串 (C)空字符串 (D)无意义
47.VB中的语句通常按”一行一句,一句一行”的规则书写,但也充许多个语句放在同一行中。
在这种情况下,用来隔开各语句的符号是[A];一句语句要在下一行继续写,用[C]符号作为续行符。
(A)冒号 (B)分号 (C)逗号 (D)感叹号
(A)+(B)-(C)_(D)…
48.下列程序段的运行结果为[B]。
A=3:
B=A–4
IfNotA+B>0Thenx=AElsex=B
Printx–a
(A)0(B)-4(C)-3(D)-1
49.运行以下程序中变量Var3的结果是[B]。
DimVar1,Var2,Var3
Var1=”Hello”
Var2=”World!
”
Var3=Var1&““&Var2
Var1=10
Var2=20
Var3=Var1+var2
(A)”HelloWorld!
”(B)30(C)1020(D)出错
50.在窗体上画一个命令按钮,然后编写如下事件过程,程序运行后,单击命令按钮,先后在两个输入对话框中分别输入456和123,则输出结果分别是[D]和[A]
(1) Private Sub Command1_click()
a=InputBox(“Enter the first Integer”)
b=InputBox(“Enter the Second Integer”)
Print b+a
End Sub
(2) Private Sub Command1_click()
Dim a,b As Integer
a=InputBox(“Enter the first Integer”)
b=InputBox(“Enter the Second Integer”)
Print b+a
End Sub
(A)579 (B)123 (C)456 (D)123456
二、填空题
1.语句“DimCAs(String)”定义的变量C,可以用于存放控件的Caption的值。
2.长整型变量(Long类型)占用(4)个字节;VB的数值型数据主要分为(整型数)和(浮点数)两类。
3.在数值常数后加符号“(!
)”,隐含表示单精度浮点数。
4.求下列表达式的结果:
1)2*4^3+4*6/3+3^2=(145)
2)16/2-2^3*7Mod9=(6)
3)81\7Mod2^2=(3)
5.语句PrintNot10>15And8<5+2的输出结果为(False)。
6.设x为一个两位数,将其个位和十位数交换后所得两位数的VB表达式是((xMod10)*10+x\10)。
7.求a与b的积除以c的余数,用VB表达式可表示为(a*bModc)。
8.表示x是5的倍数或是9的倍数的逻辑表达式为(xMod5=0OrxMod9=0或x/5=x\5Orx/9=x\9)。
9.用随机函数产生一个200至300之间(含200和300)的整数(Int(200+101*Rnd)或200+Int(101*Rnd))。
10.假设当前日期为2003年11月10日,星期一,则执行以下语句
Printday(now),month(now),year(now),weekday(now)
程序输出结果分别是(2003-11-10)、(11)、(2003)、
(2)
11.在VB中,字符串常量要用("")括起来,日期/时间型常量要用(#)括起来。
12.浮点数也称实型数或实数,是带有小数部分的数值,它由3个部分组成:
(符号)、(指数)及(尾数)。
13.运行程序有两个目的,一是(输出结果),二是(发现错误)。
14.Val(“123ab”+”2345”)的结果为(123);Val(“234.5”+”456.8”)的结果为(234.5456);
Val(“a123b”)=(0)。
15.以下语句的输出结果是(25+32=57)。
A=2:
B=9
Print “25+32=”;25+32
16.以下语句的输出结果是(Beijing)。
S$=“China”
S$=“Beijing”
Print S$
17.把下列各数学表达式,改写为等价的VB算术表达式。
1)
2)
3)
4)
算术表达式为:
1)表达式为:
((1+y/x)/(1-y/x))
2)表达式为:
(x^2+3*x*y/(2-y))
3)表达式为:
(sqr(s*(s-a)*(s-b)*(s-c)))
4)表达式为:
(sqr(abs(a*b-c^3)))
18.设a=2,b=3,c=4,d=5,求下列表达式的值,并写出在题后的括号处。
1)a>b and cc (False)
2)3>2*b or a=c and b<>c or c3)Not a<=c or 4*c=b^2 and b<>a+c (False)
4)(a>b xor b19.根据所给条件,引出逻辑表达式:
1)闰年的条件是:
年号(year)能被4整除,但不能被100整除;或者能被400整除。
逻辑表达式为:
((year mod 4=0)and (year mod 100<>0)Or (year mod 400=0))
2)一元二次方程
有实根的条件为:
,且
。
逻辑表达式为:
(a<>0andb^2-4*a*c>=0)
3)征兵的条件是:
男性(sex)年龄(age)在18~20岁之间,身高(size)在1.65米以上;或女性(sex)年龄(age)在16~18岁之间,身高(size)在1.60米以上。
逻辑表达式为:
((sex=”男” And (age>=18 And age<=20) And size>=1.65) Or
(sex=”女” And (age>=16 And age<=18) And size>=1.60))
4)分房的条件为:
已婚(marrigerat),年龄(age)在26岁以上,工作年限(workingage)在5年以上。
设婚否Marrigerat值为True代表已婚,False代表未婚
逻辑表达式为:
(Marrigerat and age>=26 and workingage>=5)
20.”name”为(字符型)常数;False为(逻辑型/布尔型)常数;”11/16/99”为(字符型)常量;#11/16/1999#为(日期型)常量;12.345为(数值型)常量。
21.根据图例所示,写出相应表达式:
1)显示如图所示的输入对话框的语句是(InputBox(“请输入”&vbCrlf&“正整数”,”应用示例”,1))
2)显示以下消息输出对话框的语句是(MsgBox(“在这里书写消息内容”,VbYerNoCancel,”注意”)或MsgBox(“在这里书写消息内容”,3,”注意”))
3)显示以下消息输出对话框的语句是(MsgBox("在这里书写"&Chr(13)&"消息内容",VbYesNo,"注意")附:
13是“回车”键的ASCII码值)
4)显示以下消息输出对话框的语句是(MsgBox("在这里书写"&Chr(13)&"消息内容",VbDefaultButton2+VbCritical+VbOkCancel,"注意")或MsgBox("在这里书写"&Chr(13)&"消息内容",256+16+1,"注意"))
5)写出下面Format函数的值:
Format(5459.4,”##,##0.00”)值为:
(5,459.40)
Format(334.9,”$####”)值为:
($335)
Format(#5/1/2004#,"mm/dd/yy")值为:
(05-01-04)
Format(#13:
05:
42#,"hh:
mm:
ssAM/PM”)值为:
(01:
05:
42PM)
Format(“HELLO”,”<”)值为:
(hello)
Format(“Thisisit“,”>”)值为:
(THISISIT)
上机练习
实验目的:
利用VB系统(窗体的Click事件/立即窗口)验证表达式/函数运算的结果。
示例一已知W=10,X=9,Y=8,Z=7,试设计一个应用程序求出下列表达式的结果并在窗体上输出。
(1)X>XAndY<=ZOrX>Y
(2)X>ZOrW=YAndY(3)Not(W>YAndX=Z)
(4)Not(