习题及参考答案
1 单项选择题:
(1)下列哪个符号是合法的变量名? ( )
A.VB123 B.Abs C.99Ji D.x\\y 答案:
选择A。其他的:Abs是Visual Basic的关键字,99Ji以数字开头,x\\y使用了整除运算符”\\”,都是非法的。
(2)Visual Basic中的数据也可以以十六进制或八进制表示,十六进制数据以( )符号开头,八进制数据以( )符号开头。
A.$E B.$H C.&O D.&H 答案:D C
(3)如果X是一个正实数,对X的第三位小数四舍五入的表达式是 ( )
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) 答案:
选择B。x是一个正实数,要保留n位小数,第n+1位四舍五入的数字公式是: Int(x*10+0.5)/10
因此,本题应该选择B。
(4)数学式子10sin25°写成Visual Basic表达式是 ( )
A.10Sin25 B.10* Sin(25) C.10*Sin(25°) D.10*Sin(25*3.14/180) 答案:
选择D。其他的选项:A、C属于语法错误,B中Sin(25)计算的是25弧度的正弦值,而不是sin25°的值,要将度数转换为弧度的公式是:弧度=度数*?/180。
(5)下列哪组语句可以将变量A、B的值互换? ( )
A.A=B:B=A B. A=A+B:B=A-B:A=A-B C. A=C:C=B:B=A D. A=(A+B)/2:B=(A-B)/2 答案:
选择B。应该对每个选项内的赋值语句进行分析,判断其运行结果。 下面仅对B选项的三条语句的作用分析如下:
? A=A+B ‘将变量A和变量B相加后赋给变量A,此时A中存放的是和数
? B=A-B ‘由于A 中存放的是和数,A-B的值就是原先A中的值,赋给变量B,B的
值就是原先A中的值
? A=A-B ‘由于A中存放的是和数,B的值就是原先A中的值,A-B 的值就是原先B
中的值 ,赋给变量A,A的值就是原先B中的值。 这样达到了交换目的。
实际上,在引用第三个变量的情况下,将变量A、B的值互换常用如下的语句: T=A:A=B:B=T
(6)Visual Basic中不存在下列哪一种数据类型? ( )
A 字符串类型 B 日期类型 C 逻辑类型 D 指针类型 答案:
选择D。在Visual Basic中不存在指针(地址)类型,而在C++等语言中有指针类型。 (7)把数值型转换为字符串型需要使用下列哪一个函数? ( )
A Val B Str C Asc D Chr
nn答案:
选择 B。
(8)模拟方形骰子投掷的表达式是 ( )
A Int(6*Rnd) B Int(1+6*Rnd) C Int(6*Rnd-1) D Int(7*Rnd-1) 答案:
选择B。产生1~6 间的随机整数。请分析A、C、D 各产生什么样的随机整数。 (9)表达式Right(“asdf”,2)+UCase(“as”)的值为 ( )
A asas B asAS C dfas D dfAS 答案:
选择D。
(10)关于语句行,下列说法正确的是 ( )
A 一行只能写一个语句 B 一个语句可以分多行书写 C 每行的首字符必须大写 D长度不能超过255个字符 答案:
选择D。
在不使用续行符的情况下一条语句不可以分多行书写。如果一条语句太长了,超过编辑窗口的宽度,你以不想使用滚动条时,可以将一条语句分多行书写,但是前行的行末必须使用续行符” _” (空格和下划线)。例如下面这条语句,就分两行书写:
Form1.Print “如果一条语句太长了,超过编辑窗口宽度,”& _ “你以不想使用水平滚动条时,可以将一条语句多行书写。”
(11)如果希望用变量X来存放数据1234.5678912应将X定义为什么类型? ( )
A.单精度实型 B. 双精度实型 C.长整型 D.字符型 答案:
选择B。因为实型数1234.5678912 的有效数字超过7位,应该使用双精度实型。 (12)设Str1,Str2是字符型变量,Str1=\,Str2=\,则下面表达式中结果为True的是 ( )
A. Mid (Str1,5,1) = Str2 B. Len(Str1)>2*Instr(Str1, \
C.Right(Str1,3)=\ 答案:
选择A。
(13)表达式6+10 Mod 4*2+1的值是 ( )
A 9 B 11 C 1 D 3 答案:
选择A。要注意表达式中运算符的优先级别,运算顺序是: ①先算“*”:4*2=8;
②再算”Mod”:10 Mod 8=2;
③最后从左到右算两个 “+” :6+2+1=9 结果是9
(14)在窗体上使用方法 Print Format(12.3456,”00000.00%”)将输出什么结果? ( )
A.01234.56% B.1234.56% C.12.34% D.12.3400% 答案:
选择A。
格式串”00000.00%”表示以百分数输出,整数部分4个字符,不足补零,小数部分两位,不足补零。若使用格式串”####.00%“,则输出的是B。
(15)用于截去字符串左右空格的函数是: ( )
A.Trim() B.Rtrim() C.Instr() D.Mid() 答案:
选择A 。
(16)Variant是一种特殊的数据类型,除了( )和( )类型外,可以包含任何种类的数据。
A.固定长度字符串 B.字节 C.实型 D.单精度 E.可变长度字符串 F.整型 G.货币 H.自定义 答案:A H
(17)设有以下定义语句:
Dim max, min As Single, d1,d2 As Double, abc As String*5 则变量 max 的类型是( ),变量 min 的类型是( ) , 变量d1的类型是( ),变量d2的类型是( ), 变量abc 的类型是( )
A. 可变类型 B. 单精度型 C. 双精度型 D.字符串型 答案:A B A C D
(18)下列( )是日期型常量。
A.”2/1/02” B.2/1/02 C.#2/1/02# D.{2/1/02} 答案:C
(19)表达式”12”+”34”的值是( )。表达式”12”&”34”的值是( )。表达式12&34的值是( )。表达式12+34的值是( )。
A.”1234” B.”12””34” C.”46” D.46 答案:A A A D
(20)表达式 Int(Rnd(0)+1) + Int(Rnd(1)-1)的值是 ( )
A.1 B.0 C.-1 D.2 答案:B
(21) Option Explicit语句不可以放在 ( ) A. 窗体模块的声明段中 B. 标准模块的声明段中 C. 类模块的声明段中 D. 任何事件过程中 答案:D
(22)表达式”12”+”34”的值是( )。表达式”12”&”34”的值是( )。表达式12&34的值是( )。表达式12+34的值是( )。 A.”1234” B.”12””34” C.”46” D.46 答案:A A A D
2 下列数据中,哪些是变量?哪些是常量?
A.Sum B.”ToTal” C.#10/10/99# D.Ture E.PI F.456.89 G.1E1 H.vbCrLf 答案:
变量有:A. Sum、E.PI; 常量有:B. ”ToTal”(字符常量)、C.#10/10/99#(日期常量)、