一、VB 基本知识及选择、循环结构习题一、基本概念题(1) 说明下列哪些是Visual Basic 合法的直接常量,并分别指出它们的类型。
100.0 %100 1E1 123D3 123,456 0100 “ASDF” “1234.5” #2004/10/7# 100# π&O78 &H123 True T -1123! 345.54# (2)下列数据哪些是变量,哪些是常量?是什么类型的常量?Name “name” False ff “11/16/99” cj “120” n #11/12/2004# 12.345(3) 下列符号中,哪些可以是Visual Basic 的合法变量名?A123 a12_3 123_a a,123 a 123 Integer XYZ False Sin(x) 变量名 sinx π (4)把下列数学表达式写成Visual Basic 表达式:(1)5||z y x ++ (2)6)1(xy +(3)xy y x 310+ (4)a acb b 242-+- (5)3211111r r r ++ (6)110ln 45sin 10++++y x e ο(5)写出下列表达式的值:(1)123 + 23 Mod 10 \ 7 + Asc("A") (2)Int(68.555 * 100 + 0.4) / 100 (3)#11/22/2004# - 10 (4)"ZXY" & 123 & "abc"(6)设a=7,b=3,c=4,求下列表达式的值:(1)a + 3 * c (2)a ^ 2 / 4(3)a / 2 + 3 \ 2 (4)a Mod 3 + b ^ 3 / c \ 5 (7)写出下列函数的值:(1)Int(-3.14159) (2)Fix(-3.14159)(3)Sqr(Sqr(81)) (4)Len("Visual Basic 程序设计") (5)Int(Abs(99 - 100) / 2) (6)Sgn(7 * 3 + 2)(7)LCase("Hellow VB!") (8)Mid("Hellow VB!", 4, 3) (9)Left("Hellow VB!", 3) (10)Val("16个加23个") (11)Str(-459.55) (12)UCase("Visual Basic") 二、 选择题(1)可以同时删除字符串前导和尾部空格的函数是 。
A. Ltrim B. Rtrim C. Trim D. Mid(2)函数Int(Rnd(1) * 10)是在哪个范围产生随机整数 。
A. (0,1) B. (0,9) C. (1,10) D. (1,9) (3)数学式子sin25º写成Visual Basic 表达式是 。
A.Sin25B. Sin(25)C. Sin(25º)D. Sin(25*3.14/180) (4)表达式16/4 – 2^3 * 8/4 Mod 5\2的值是 。
A. 14B. 4C. 20D. 2(5)数学关系式103<≤x 表示成正确的VB 表达式为 。
A. 3<= x <10 B. x >= 3 And x<10 C. x>=3 Or x<10 D. 3<= x And <10(6)已知A=”12345678”,则表达式Val(Left(a, 4) + Mid(a, 4, 2))的值是 。
A. 123456B. 123445C. 8D. 6(7)表达式Len("123程序设计ABC")的值是。
A. 10B. 14C. 20D. 17(8)下面正确的赋值语句是。
A. x+y=30B. y=3π*r*rC. y=x+30D. 3y=x+1(9)为了给x,y,z三个变量赋初值1,正确的赋值语句是。
A. x=1: y=1: z=1B. x=1, y=1, z=1C. x=y=z=1D. x,y,z=1(10)赋值语句g = 123 + Mid("123456", 3, 2)执行后,变量g中的值是。
A. “12334”B. 123C. 12334D. 157(11)表达式Not(a+b=c-d)是_______。
A. 逻辑表达式B. 字符表达式C. 算术表达式D. 关系表达式(12)如果x是一个正实数,对x的第3位小数四舍五入的表达式是。
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)(13)下列哪组语句可以将变量a,b的值互换。
A. a=b: b=aB. a=a+b: b=a-b: a=a-bC. a=c: c=b: b=aD. a=(a+b)/2: b=(a-b)/2(14)下列四个字符串进行比较,最小的是。
A. “9977”B. “B123”C. “Basic”D. “DATA”(15)下列逻辑表达式中,其值为True的是。
A. “b” > “ABC”B. “THA T” > “THE”C. 9 > “H”D. “A” > “a”(16)表达式a+b=c是。
A. 赋值表达式B. 字符表达式C. 算术表达式D. 关系表达式(17)在下列表达式中,非法的是。
A. a=b+cB. a>b+cC. a≠b>cD. a<b+c(18)语句Print Format (“HELLO”, “<”) 的输出结果是。
A. HELLOB. helloC. HeD. he(19)MsgBox函数的返回值的类型是。
A. 整数B. 字符串C. 逻辑值D. 日期(20)用语句Dim A(-3 to 5) As Long定义的数组元素个数是。
A. 7B. 8C. 9D.10三、判断题(1) VB6.0中&H12是8进制的数值常数。
(2) 设A="123",B=123,则A+B的结果为246,A-B的结果为0。
(3) 已知A$="87654321",则表达式Val(Left$(A$,4)+Mid$(A$,4,2))的值是:876554。
(4) Rnd函数产生的是(0,1)之间不包括0、1的随机小数。
(5) 表示x是5的倍数或是9的倍数的逻辑表达式为:x Mod 5=0 OR x Mod 9=0。
(6) Len("等级考试")和LenB("等级考试")的结果相同。
(7) VB6.0中字符串常量是用双引号或单引号括起来的字符串。
(8) Print InStr("Visual Basic", "I")的结果为0。
(9) 固定数组中的数组元素个数一旦定义好后,在程序运行过程中不再会发生变化,并且数组中数组元素的值也不会变化。
(10)数组元素的下标可以是常数、变量或表达式。
(11)在For…Next循环中,其中Step步长可以是正数,也可以是负数。
(12)在Do…Loop[While|Until]循环中,While关键字或Until关键字必须选择其中之一。
(13)在For...Next循环中,Exit For子句是可选项,它可以放置在循环体语句中的任何位置。
(14)动态数组在定义时已被分配存储空间。
(15) 在VB6.0中,Option Base语句的参数只能是0或1。
四、程序阅读题(2)执行下面程序段后,变量x的值为。
Dim x As Integerx = 5For i = 1 To 20 Step 3x = x + i \ 5Next i(3)执行下面程序后,输出的结果是。
Private Sub Form_Click()Dim x As IntegerFor i = 1 To 3For j = 1 To iFor k = j To 3x = x + 1Next kNext jNext iPrint xEnd Sub(4)执行下面程序后,输出的结果是。
Private Sub Form_Click()Dim x As Integerx = 0Do While x < 50x = (x + 2) * (x + 3)n = n + 1LoopPrint "x="; x; "n="; nEnd Sub(5)执行下面程序后,输出的结果是。
Private Sub Form_Click()Dim x As Integer, a As Integerx = 0For j = 1 To 5a = a + jNext jx = jPrint x, aEnd Sub(6)以下程序的循环次数是。
For j = 8 To 35 Step 3Print j;Next j(7)执行下面程序输入4后,程序输出的结果是。
Private Sub Form_Click()x = InputBox(x)If x ^ 2 < 15 Then y = 1 / xIf x ^ 2 > 15 Then y = x ^ 2 + 1Print yEnd Sub(8)执行下面程序后,输出的结果是。
Private Sub Form_Click()Dim sum As Integersum% = 19sum = 2.23Print sum%; sumEnd Sub(9)执行下面程序后,输出的结果是。
Private Sub Form_Click()a = 100Dos = s + aa = a + 1Loop Until a > 100Print aEnd Sub(10) 执行下面程序后,输出的结果是。
Private Sub Form_Click()a = "ABCD"b = "efgh"c = LCase(a)d = UCase(b)Print c + dEnd Sub(11)执行下面程序后,输出的结果是。
Private Sub Form_Click()x = 2: y = 4: z = 6x = y: y = z: z = xPrint x; y; zEnd Sub(12)执行下面程序后,输出的结果是。