VB程序设计阶段练习2(专科)

更新时间:2023-11-19 08:25:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《VB程序设计(专)》第二阶段练习题

一、选择题

1.下面选项中 C 是算术运算符。

A.% B.& C.Mod D.And 2.下列选项中,把R定义为双精度型变量的是 C 。

A.r% B.r! C.r# D.r$ 3.30 Mod 4的值为 B 。

A.1 B.2 C.4 D.10 4.下列运算符中 A 的优先级最高。

A./ B.\\ C.Mod D.+ 5.Len(“程序设计”)的值是 B 。

A.0 B.4 C.8 D.不能确定 6.下面不合法的标示符是 D 。

A.Lab1 B.Print C.标号 D.Int 7.下列赋值语句中,正确的是____B____。

A.a%= ”VBP” B.a!= 100 C.1+a= 10e D.a+%= 10 8.下列赋值语句中,正确的是___B_____。

A.Text1.text%= ”VBP” B.Text2.text = 100

C.Label1.Caption!= 10e D.Label2.Caption +1= 10 9.下列语句中,不正确的是____C____。

A.x = MsgBox(\除数为零,请重新输入!\警告框\

B.x = MsgBox(\除数为零,请重新输入!\警告框\C.MsgBox (\除数为零,请重新输入!\警告框\

D.MsgBox \除数为零,请重新输入!\警告框\10.下列语句中,正确的是__A______。

A.x = MsgBox(\除数为零,请重新输入!\警告框\B.x = MsgBox(\除数为零,请重新输入!\警告框\C.MsgBox (\除数为零,请重新输入!\警告框\D.MsgBox \除数为零,请重新输入!\警告框\

11.下列语句中,不能交换变量a和b的值的是____D____。

A.t=b : b=a : a=t B.a=a+b : b=a-b : a=a-b C.t=a : a=b : b=t D.a=b : b=a

12.在一行内写多条语句时,每个语句之间用 B 符号分隔。

A. , B. : C. 、 D. ;

13.一句语句要在下一行继续写,用 C 符号作为续行符。

A.+ B.- C._ D.… 14.下面 A 是合法的变量名。

A.X_yz B.123abc C.integer D.X-Y 15.下面 D 是不合法的整常数。

A.100 B.&O100 C.&H100 D.0 16.下面 B 是合法的字符常数。

A.ABC$ B.”ABC” C.’ABC’ D.ABC

17.下面 A 是合法的单精度型变量。

A.num! B.sum% C.xinte$ D.mm# 18.下面 D 是不合法的单精度常数。

A.100! B.100.0 C.1E+2 D.100.0D+2 19.表达式16/4-2^5*8/4 MOD 5\\2的值为 B 。

A.14 B.4 C.20 D.2 20.数学关系3≤x<10表示成正确的VB表达式为 B 。

A.3<=x<10 B.3<=x AND x<10 C.x>=3 OR x<10 D.3<=x AND <10

21.下列四个算术运算符中,优先级别最低的是 C 。

A.\\ B./ C.Mod D.* 22.Rnd函数不可能为下列 B 值。

A.0 B.1 C.0.1234 D.0.0005 23.Int(198.555*100+0.5)/100的值是 C 。

A.198 B.199.6 C.198.56 D.200

24.已知A$=”12345678”,则表达式Val(Left$(A,4)+Mid$(A,4,2))的值为 B 。

A.123456 B.123445 C.8 D.6 25.表达式Len(“123程序设计ABC”)的值是 A 。

A.10 B.14 C.20 D.17

26.表达式LenB(“123程序设计ABC”)的值是 C 。

A.10 B.14 C.20 D.17 27.下面正确的赋值语句是 C 。

A.x+y=30 B.y=π*r*r C.y=x+30 D.3y=x

28.为了给变量x,y,z三个变量赋初值1,下面正确的赋值语句是 A 。

A.x=1:y=1:z=1 B.x=1,y=1,z=1 C.x=y=z=1 D.xyz=1 29.赋值语句a=123+Mid$(“123456”,3,2)执行后,a变量中的值是 D 。

A.”12334” B.123 C.12334 D.157

30.赋值语句a=123 & Mid$(“123456”,3,2)执行后,a变量中的值是 A 。

A.”12334” B.123 C.12334 D.157

31.结构化程序由三种基本结构组成,下面属于三种基本结构之一的是 B 。

A.递归结构 B.选择结构 C.过程结构 D.输入、输出结构 32.以下不正确的单行结构条件语句是 D 。

A.If x>y Then Print “x>y” B.If x Then t=t*x

C.If x Mod 3=2 Then ? x D.If x<0 Then y=2*x-1:Print x End If 33.给定程序段

Dim a%,b%,c As Integer A=1:b=2:c=3

If a=c-b Then Print “####” Else Print “*****” 以上程序 C 。

A.没有输出 B.有语法错 C.输出##### D.输出***** 34.把a,b之中的最大值存放于max,下面语句书写正确的是 D 。

A.If a>b Then max=a else max=b End If B.If a>b Then max=a

Else max=b

End If C.If a>b Then max=a Else max=b D.If a>b Then

max=a Else

max=b End If

35.下列Case 语句中正确的是 C 。

A. Select Case x B. Select Case x

Case 1 Or 3 Or 5 Case 1 Or 3 Or 5 y=x*x-1 y=2*x-1 Case Is>10 Case Is<=1 y=x+1 y=2-x+1 End Select End Select C. Select Case x D. Select Case x

Case Is <=0 Case x>=1 And x<=5 y=x-1 y=x-1 Case Is>0 Case Is>10 y=sqr(x)+1 y=x*x+1

End Select End Select 36.下列多分支选择结构的Case语句,写法错误的是 C 。

A. Case 1,5,7,9 B. Case 8 To 12 C. Case 5 To 2 D. Case Is < “Man”

37.VB提供了结构化程序设计的三种基本结构,三种基本结构是 D 。

A.递归结构、选择结构、循环结构 B.选择结构、过程结构、顺序结构

C.过程结构、输入、输出结构、转向结构 D.选择结构、循环结构、顺序结构 38.下面程序段运行后,显示的结果是 A 。

Dim x

If x Then Print x Else Print x + 1 A.1 B.0 C.(1 D.显示出错信息 39.语句If x = 1 Then y = 1,下列说法正确的是 C 。

A.x = 1和y = 1均为赋值语句 B.x = 1和y = 1均为关系表达式 C.x = 1为关系表达式,y = 1为赋值语句 D.x = 1为赋值语句,y = 1为关系表达式 40.下面程序段,显示的结果是 A 。 Dim x

x = Int(Rnd) + 5 Select Case x Case 5

Print \优秀\ Case 4

Print \良好\ Case 3

Print \通过\ Case Else

Print \不通过\

End Select

A.优秀 B.良好 C.通过 D.不通过 41.以下 B 是正确的For…Next结构。 A. For x=1 To Step 10

… Nex x C. For x=1 To Step 10

l1: … Nex x If i=10 Then Goto l1

42.设有程序段

B. For x=3 To –3 Step –3 … Next x

D. For x=3 To –3 Step –3 … Next y

Dim k% K=5

Do Until k=0

K=k-1 Loop

则下面对循环语句描述正确的是 C 。 A. 循环体1次也不执行 B. 循环体执行1次 C. 循环体执行5次 D. 循环体执行无限次 43.执行下列程序段的结果为 C 。

Dim i,Sum as Integer While i>1 Sum=Sum+i i=i-1 Wend

Print Sum A. 无显示 B. 10 C. 0 D. 55

44.下面描述中错误的是 A 。

A.执行条件Do Until <条件>…Loop语句中,当循环<条件>为False时,结束循环体的执行。

B.执行While <条件>…Wend语句时,循环体可能一次也不执行。 C.Do…Loop While <条件>语句的循环体可能一次也不执行。 D.执行Do…Loop Until <条件>语句中,当循环条件为True时,结束循环体的执行。 45.下面程序段中循环语句的循环次数是 B 。

For x=0 To Step –3

Print x Next x

A. 0 B. 4 C. 5 D. 10

46.执行语句For i=1 To 3:i=i+1:Next i后,变量i的值是 B 。 A. 3 B. 4 C. 5 D. 6

47.For-Next循环结构中,若循环控制变量的步长为0,则 A 。

A. 形成无限循环 B. 循环体执行一次后结束循环 C. 语法错误 D. 循环体不执行即结束循环 48.下列循环语句能正常结束循环的是 C 。 A.i = 5 B.i = 1 Do

i = i + 1

Loop Until i < 0 C.i = 10

Do

i = i + 2

Loop Until i = 10 D.i = 6

Do Do i = i - 1 i = i - 2 Loop Until i < 0 Loop Until i = 1 49.执行以下程序段后,x的值为 C 。 Dim x As Integer, i As Integer x = 0

For i = 20 To 1 Step -2 x = x + i \\ 5 Next i A.16 B.17 C.18 D.19 50.执行以下程序段后,输出结果为 A 。 Dim i As Integer, x As Integer For i = 1 To 6

If i = 1 Then x = i If i <= 4 Then x = x + 1 Else

x = x + 2 End If Next i

Print x

A.9 B.6 C.12 D.15

二、填空题

1.VB常用 标识符 来标记用户自定义的常量、类型、变量、控件、过程、函数等名字。

2.要从字符串”Made In China”中截取子字符串”In”可使用函数 Mid(”Made In China”,6,2) 。

3.产生从整数a到整数b之间的随机整数或使用表达式 Int(Rnd*(b-a+1)+a 。

4.若一个整数变量说明了之后没有给它赋值,则它的值为 0 。 5.把3421.79的小数部分四舍五入转换为整数,可使用函数 Cint(3421.79) 。

6.在VB中可以把类型说明符放在变量名的 未尾 来说明变量的类型。 7. 浮点数除法 算术运算符与乘法运算符具有相同的优先级。 8.默认情况下,Integer变量初始化为 0 。

9.对含有多种运算的表达式,各种运算之间的顺序为 函数运算 → 算术运算 → 关系运算

→ 逻辑运算 。

10.当声明变量时,如果没有显式说明给定变量的数据类型,则默认为 变体类型或Variant类型 。

11.在VB中,1234、123456&、1.2346E+5、1.2346D+5四个常数分别表示 整型 、长整型 、 单精度型 、 双精度型 类型。

12.整型变量x中存放了一个两位数,要将两位数交换位置,例如,13变成31,实现的表达式是 (x Mod 10)*10+x\\10 。

13.表示x是5的倍数或是9的倍数的逻辑表达式为 x Mod 5=0 OR x Mod 9=0 。 14.已知a=3.5,b=5.0,c=2.5,d=True,则表达式:a>=0 AND a+c>b+3 OR NOT d的值是 False 。

15.表达式UCase(Mid(\的值是 CDEF 。

16.判别变量I是否为偶数,若为偶数就把它显示出来。使用单行结构条件语句 为 If i Mod 2=0 Print i 。

17.判别变量x是否大于0,若大于0,则累加到变量s1中,否则,累加到变量s2中,使用单行结构条件语句为 If x>0 Then s1=s1+x Else s2=s2+x 。 18.在循环语句中,反复执行的程序段称为 循环体 。

19.While~Wend语句是先判断 条件表达式 的值,再决定是否执行循环体。 20.如果For~Next循环中含有Exit For语句,当执行到这条语句时,将 跳出循环 ,执行Next后面的语句。

21.把循环体内含有循环语句的循环称为 多重循环 。

22.若是下列For语句循环执行20次,循环变量的初值应当是: 14 。

For k = To -5 Step -1 To -5 Step -1 (To -5 Step -1) 23.下面的程序段显示 10 个\。 For i = 1 To 5 For j = 2 To i Print “*”; Next Next

三、程序填空题

1.如下程序的功能为,利用InputBox函数从键盘上输入三个数据,然后在窗体上显示该三个数据的和与它们的平均值,请填空。

Private Sub Form_Click()

a1 = Val(InputBox(\请输入第1个数:\ a2 = Val(InputBox(\请输入第2个数:\ a3 = Val(InputBox(\请输入第3个数:\

Sum = a1 + a2 + a3 Aver = Sum / 3

Print \输入的三个数分别为:\ a1;a2;a3 Print \三个数和为:\ Sum Print \三个数平均值为:\ Aver

End Sub

2.求解鸡兔同笼问题。下面程序可以计算鸡兔各有多少只,鸡兔总头数和总脚数从键盘输入,请填空。

Private Sub Form_Click()

h = Val(InputBox(\鸡兔总头数:\ f = Val(InputBox(\鸡兔总脚数:\ y = (f - 2 * h) / 2 x = (4 * h - f) / 2 Print \鸡总头数为:\ Print \兔总头数为:\

End Sub

3.输入文本框中若干个字符,统计有多少个元音字母、有多少个其他字母,直到按Enter键结束,并显示结果,大小写不区分。其中CountY中放元音字母个数,CountC中放其他字符数。

Dim CountY%, CountC%

Private Sub Text1_KeyPress(KeyAscii As Integer) Dim C$

C = UCase(Chr(KeyAscii)) If \ Select Case C

Case \ CountY = CountY + 1 Case Else CountC = CountC + 1 End Select End If

If KeyAscii = 13 Then Print \元音字母有\个\ Print \其他字母有\个\

End If End Sub

4.输入任意长度的字符串,要求将字符顺序到置,例如,将输入的“ABCDEFG”变换成

“GFEDCBA”。

Private Sub Command1_Click() Dim a$, i%, c$, d$

a = InputBox(\输入字符串\

n = Len(a) For i = n To 1 Step -1

c = Mid(a, i, 1) d = d + c Next i Print d End Sub

5.由键盘输入一个正整数,找出大于或等于该数的第一个质数。 Private Sub Command1_Click() Dim m%, x%, Tag As Boolean Tag = False

x = Val(InputBox(\输入正整数\

Do While Not Tag

m = 2: Tag = True Do While Tag And (m < (x \\ 2))

If x Mod m = 0 Then Tag = False Else m = m + 1

Loop

If Not Tag Then x = x + 1 Loop Print x End Sub

6.下列程序功能:在窗体的3个文本框(Text1、Text2、Text3)中输入三个数,将它们从大到小排序,并在文本框(Text4)中输出排序结果。请填写程序空白处使程序完整。 Private Sub Command1_Click() a = Val(Text1.Text) b = Val(Text2.Text)

c = Val(Text3.Text) If a < b Then

t = a: a = b: b = t End If

If a <= c Then

t = a: a = c: c = t End If

If b <= c Then

t = b: b = c: c = t End If

Text4.Text = a & \

End Sub

7.下列程序功能:通过输入对话框输入三个数,将它们分别显示在窗体的三个标签框内,并求出其中最大数在输出对话框内输出结果。请填写程序空白处使程序完整。

Private Sub Command1_Click() Dim a As Integer, b As Integer Dim c As Integer, m As Integer

a = Val(InputBox(\请输入第一个数\输入对话框\

b = Val(InputBox(\请输入第二个数\输入对话框\ c = Val(InputBox(\请输入第三个数\输入对话框\ Label1 = \ Label2 = \ Label3 = \ If a > b Then m = a Else

m = b End If

If c > m Then m = c

MsgBox \最大的数为: \信息框\

End Sub

8.下列程序功能:通过输入对话框输入一个字符,首先将该字符显示在文本框1(Text1)内,再判别该字符,若它是大写字母,则把它变成小写字母;若它是小写字母,则把它变成大写 字母;若它是其他字母,则其值不变。最后再将该字符显示在文本框2(Text2)中。请填写程序空白处使程序完整。

Private Sub Command1_Click() Dim ch As String * 1

ch = InputBox(\请输入一个字符:\

Text1.Text = ch

If ch >= \ Then ch = LCase(ch)

ElseIf ch >= \ ch = UCase(ch) Else Print End If

Text2.Text = ch End Sub

9.下列程序功能:求S=1+2+3+……+100的和,将求和结果显示在窗体的第10列位置处,显示内容为S=5050。请填写程序空白处使程序完整。 Private Sub Command1_Click() Dim k As Integer, s As Long

s = 0 For k = 1 To 100 s = s + k Next Print

Print Tab(10); \ End Sub

10.下列程序功能:在窗体上输出10~30之间不能被3整除的数(要求每一个数都在同一行上输出)。请填写程序空白处使程序完整。 Private Sub Command1_Click() Cls

Dim x As Integer x = 10 Print Do

If x Mod 3 <> 0 Then

Print x End If x = x + 1

Loop While x < 30或 Until x>30 End Sub

四、程序阅读题

1.下列程序段运行后,输出结果为 7 。 x = Int(Rnd) + 3

If x ^ 2 > 8 Then y = x ^ 2 + 1 If x ^ 2 = 9 Then y = x ^ 2 - 2 If x ^ 2 < 8 Then y = x ^ 3 Print y

2.下列程序段运行后,输出结果为 a=15 。 a = 0

For i = 1 To 5 For j = i To 5 a = a + 1 Next j Next i

Print \

3.下列程序段运行后,输出结果为 42 。 c = 1

Do While c < 40 c = c * (c + 1) Loop Print c

4.下列命令按钮事件过程执行后,输出结果为 10 。 Private Sub Command1_Click() For i = 1 To 10 Step 2 A = 10

For j = 1 To 10 Step 2 B = 20 Next j Next i Print A End Sub

5.下列程序段运行后,输出结果为 ***** *** * 。

For i = 3 To 1 Step -1 Print Spc(5 - i);

For j = 1 To 2 * i - 1 Print \ Next j Print Next i

6.下面程序运行后输出的结果是 2 20 3 21 4 22 5 23 。

Private Sub Command1_Click() For i = 0 To 3

Print Tab(5 * i + 1); \ Next i End Sub

7.下面程序运行后输出的结果是 **$$$****$$$$$ 。

Private Sub Command1_Click() a = \ For i = 1 To 4

If i Mod 2 = 0 Then

x = String(Len(a) + i, B)

Else

x = String(Len(a) + i, a) End If Print x; Next i End Sub

8.执行下面程序,打印结果是 13 6 。 Option Explicit

Private Sub Form_Click()

Dim i As Integer, j As Integer j = 10

For i = 1 To j Step 2 i = i + 1 j = j - 1 Next i Print i, j End Sub

五、编程题

1.编写程序:随机产生三个数,求出其中最小的那个数。

Private Sub Command1_Click() a = Int(Rnd * 100) b = Int(Rnd * 100) c = Int(Rnd * 100) If (a < b) Then Min = a Else

Min = b End If

If Min > c Then Min = c End If

Print a; b; c

Print \End Sub

2.判断某一年是否闰年(提示:年号(y)能被4整除,但不能被100整除;或者能被400整除)。Private Sub Command1_Click() y = Val(InputBox(\请输入年份\

If y Mod 4 = 0 And y Mod 100 <> 0 Or y Mod 400 = 0 Then Print y & \年是闰年\ Else

Print y & \年不是闰年\

End If End Sub

3.输入一个学生成绩,若成绩在85分以上,则输出“Very good”;若成绩在65分到84分之间,则输出“Good”;若成绩低于60分,则输出“No good”。 Private Sub Command1_Click()

y = Val(InputBox(\请输入学生成绩\

If y >= 85 Then

Print \

ElseIf y >= 65 And y < 85 Then Print \ ElseIf y < 60 Then Print \ End If End Sub

4.输入三角形的三条边a,b,c的值,根据其数值,判断能否构成三角形。如可构成,则计算并输出三角形的面积,否则要求重新输入三角形的三条边。当输入的三个值都为0时结束程序。Private Sub Command1_Click() t = True Do While t

a = Val(InputBox(\请输入第1条边的值:\ b = Val(InputBox(\请输入第2条边的值:\ c = Val(InputBox(\请输入第3条边的值:\ If a = 0 And b = 0 And c = 0 Then End End If

If a + b > c And b + c > a And a + c > b Then L = (a + b + c) / 2

s = Sqr(L * (L - a) * (L - b) * (L - c)) Print \三角形面积为: \

Else

MsgBox \输入的三条边的值不能构成三角形,请重新输入\

End If Loop End Sub

5.从键盘上输入两个正整数M和N,求最大公因子。Private Sub Command1_Click() x = Val(InputBox(\请输入正整数M\ y = Val(InputBox(\请输入正整数N\ m = x: n = y r = m Mod n

Do While r <> 0 m = n n = r

r = m Mod n Loop

Print \ Print \

Print \两数的最大公因子为: \

End Sub 6.求T=9!=1×2×3×…×9的乘积(提示:t-t*n)。Private Sub Command1_Click() t = 1

For n = 1 To 9 t = t * n Next

Print \End Sub

7.在100~200之间的数中找出同时满足除3余2,除5余3和除7余2的所有整数。Private Sub Command1_Click() For i = 100 To 200

If i Mod 3 = 2 And i Mod 5 = 3 And i Mod 7 = 2 Then Print i End If Next End Sub

8.求100~999中的水仙花数。所谓水仙花数,是指一个三位,它的各位数字的立方之和等于该数。例如,因为153=13+53+33,所以153是水仙花数。Private Sub Command1_Click() For i = 100 To 999 X1 = i Mod 10

X2 = i \\ 10 Mod 10 x3 = i \\ 100

If X1 ^ 3 + X2 ^ 3 + x3 ^ 3 = i Then Print i End If Next End Sub

本文来源:https://www.bwwdw.com/article/qixv.html

Top