Visual basic 第一套模拟试题
一、填空题(每空1分,共20分) 1.对象具有属性、方法和 。 2.Len(lcase(“abcDEF”))的值是 。 3.存储一个单精度数据要占用 字节。 4. 声明PI为一个符号常量,表示3.1415,需要使用的语句为: 。 5.将变量X声明为整型变量的语句为: 。 6.设x=8,y=5,则表达式 Not (x>y) Or "ABC" >Left("ACDE",3)的值为 。 7. 设a=2,b=3,c=4,d=5,则表达式a*2>c or d mod a=c and b<>c or c<d的之值为: 。 8.产生[20,70]范围一个随机整数的表达式为: 。 9.在VB中"ASCII"、"ascii"、"Ascii"这三个字符串比较,最小的是 。 10.数据文件按访问方式分为顺序文件和随机文件两种,顺序文件以 形式存储。 二、选择题(每题2分,共10分) 1. 大部分控件都没有的属性是( )。 (A)Top (B)Name (C)Enabled (D)Interval 2.VB 6.0表达式COS(0)+ABS(-1)+INT(RND(1))的值是( ) A. 1 B.–1 C. 0 D.2 3. 表达式3^2 mod 14\2^3的值是( ) A)1 B)0 C)2 D)3 4.执行下列代码,分别输入12和89,输出结果是( )。 Private Sub Form_Click() a=InputBox("D") b=InputBox("E") Print a+b End Sub (A)101 (B)DE1289 (C)DE (D)1289
5.骰子是一个正六面体,用1~6这六个数分别代表这六面,掷一次骰子出现的数可表示为( ) A. INT(RND(6)+1) B.INT(RND*6) C. INT(RND(1)*7) D.INT(RND(1)*6+1) 三、写出程序运行结果(每小题4分,共24分) 1. 程序运行时从键盘输入5,则下面程序运行结果为: Dim x As Integer, y As Integer x = Val(InputBox("请输入变量的值")) If x <> 0 Then If x > 0 Then y = x ^ 2 + 1 Else y = x ^ 2 - 1 End If Else y = 0 End If Print "x="; x, " "; "y="; y 2. 写出下面程序运行结果。 Dim y as String, x as String y="abcd" For i%=1 TO 4 For j%=1 TO i% X=mid(y,j,1) Print x; Next j% Next i% 3. 写出下面程序运行结果。 Dim s As Integer, n As Integer, f As Integer f= -1 s = 0: n = 1 Do While n <= 10 s = s + f * n f = -f n = n + 1 Loop Print "s="; s 4.写出下面程序运行结果。 Dim m%, i%, flag As Boolean For m=2 to 10 flag = True For i = 2 To m - 1 If m / i = m \ i Then flag = False Exit For End If Next i If flag = True Then Print m; Next m 5. 写出下面程序运行结果。 Dim a(3, 3) As Integer For i = 1 To 3 For j = 1 To 3 If i = j Then a(i, j) = 1 Else a(i, j) = 0 End If Next j Next i For i = 1 To 3 For j = 1 To 3 Print a(i, j); Next j Next I 6. 写出下面程序运行结果。 Dim s As Integer Dim i As Integer s = 0 For i = 1 To 3 s = s+sum( i ) Next i Print "sum="; s End sub Function sum(n As Integer) As Integer Dim i As Integer, f As Integer f = 0 For i = 1 To n f = f + i Next i sum=f End Function
四、完善程序(每空2分,共32分) 1.输入a,b,c三个数,输出最大的数。 a= Val(InputBox("")) b= Val(InputBox("")) c= IF b>= a Then Max=a Else
End If If Then
End If
2.该程序执行后,输出一个右上三角元素(含对角线)为1,其余元素为0 的5×5的矩阵。 Private Sub Form_Click() Dim a(1 To 5, 1 To 5) As Integer Dim i As Integer, j As Integer For i = 1 To 5 For j = 1 To 5 If Then
End If Next j Next i For i = 1 To 5 For j = 1 To 5 Form1.Print " "; a(i, j); Next j
Next i End Sub 3.有5个学生,每个学生学了3门课程,已知所有学生在某次考试中各门功课的成绩,分别求每门课的平均成绩和每位学生的平均成绩。 DIM A(5,3) For I=1 TO 5 For J=1 To 3
Next J Next I For j=1 To 3
For i=1 To 5 S= Next i
Print aver Next j For I=1 To 5 T=0 For J=1 To 3
Next J
Print aver1 Next I
4.请用正确的内容填空。下面程序用“选择”法将数组a中的10个整数按升序排列。 Option Base 1 Private Sub Form_Click() Dim a a = Array(678, 45, 324, 528, 439, 387, 87, 875, 273, 823) For I=1 To 9 For j=________To 10 If ___________Then t=a(I): a(I)=a(j): a(j)=t End If Next j Next I For I=1 To 10 Print a(I); Next I End Sub
五、程序设计(共14分) 1. 编程计算分段函数(8分)。
X2 ( 0<=X<10) Y= X+3 (10<=X<30) 50-X3 (30 <= X<50) X2+4X+5 (X > 50) 2.编程计算1+3+5+……+100之和(6分) 答案: 一、填空题
二、选择题
三、运行结果
四、程序填空
五、程序设计
X=inputbox(“输入X的值“) If x<0 then Y=x Elseif x>=0 and x<10 then Y=x*x Elseif x>=10 and x<30 Y=x+3 Elseif x>=30 and x<50 Y=50-x^3 Elseif x>50 then Y=x^2+4*x+5 End if Print y Dim s%,i% For i=1 to 100 step 2 S=s+i Next i Print “s=”;s |
|