VB.net习题集

更新时间:2024-05-04 03:37:01 阅读量: 综合文库 文档下载

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

第一章 VB.NET环境和程序设计初步

一.选择题

1.在Visual Studio.NET的集成开发的环境中,下面不属于该环境编程语言的是()。

A.VB B.C++ C. Pascal D. J#

2.在集成开发环境中有两类窗口,浮动窗口和固定窗口,下面不属于浮动窗口的是()。

A.工具箱窗口 B.属性窗口 C.立即窗口 D.窗体窗口 3.在VB.NET中,在窗体上显示控件的文本,用( )属性设置。

A. Text B. Name C. Caption D. Image 4.不论何种控件,共同具有的是什么属性( )。

A. Text B. Name C.ForeColor D.Text 5.对于窗体,可改变窗体的边框性质的属性是()。

A. MaxButton B. FormBorderStyle C. Name D. Left

6.若要使标签控件显示时不要覆盖窗体的背景图案,要对()属性进行设置。

A.BackColor B. BorderStyle C.ForeColor D.BackStyle 7.若要使命令按钮不可操作,要对()属性进行设置。

A. Enabled B.Visible C. BackColor D. Text 8.要使文本框中的文字不能被修改,应对()属性进行设置。

A. Locked B. Visible C. Enabled D. ReadOnly 9.要使当前Form1 窗体的标题栏显示“欢迎使用VB.NET”,以下()语句是正确的。

A. Form1.Text=“欢迎使用VB.NET” B. Me. Text=“欢迎使用VB.NET” C. Form1.Name=“欢迎使用VB.NET” D. Me. Name=“欢迎使用VB.NET”

10.当运行程序时,系统自动执行启动窗体的()事件过程。

A. Load B. Click C. UnLoad D. GotFocus 11.当文本框的ScrollBars属性设置了非None值,却没有效果,原因是()。

A. 文本框没有内容

B. 文本框的MulitLine属性为False C. 文本框的MulitLine属性为True D. 文本框的Locked属性True

12.要判断在文本框中是否按了Enter键,应在文本框的()事件中判断。

A. Change B. KeyDown C. Click D. KeyPress

13.在VB.NE集成环境中创建VB.NET应用程序时,除了工具箱窗口、窗体窗口和属性窗口外,必不可少的窗口是()。

A. 窗体布局窗口 B. 立即窗口 C. 代码窗口 D. 监视窗口

14.当创建一个项目名为“引例”的项目时,该项目的所有代码文件将保存在()文件夹下。

A.My Documents B.VB.NET C.\\引例 D.Windows

15.将调试通过后生成的.exe 可执行文件放到其他机器上不能运行的主要原因是()。 A .运行的机器上面无VB.NET系统 B .缺少. frm 窗体文件 C. 该可执行文件有病毒 D. 以上原因都不对

16.对初学者而言,调试程序方便,有效的手段是 ( )。 A. 在可疑的代码处设置断点,逐语句跟踪

B. 查看资料

C. 通过”立即”窗口显示变量的值 D. 找老师问原因

17. 当需要上下文帮助时,选择要帮助的 “难题”,然后按住( )键,就可出现MSDN 窗口及显示所需 “难题”的帮助信息。

A .Help B .F10 C .Esc D. F1 18. 在代码窗口,代码下方有蓝色波浪线表示( ) 。

A .对代码设置了格式 B. 编译错误 C. 逻辑错误 D. 运行时错误

二.填空题

1.VB.NET 是完全面向对象的程序设计语言,其最大的特点是____________。 2.____________技术能让编程人员不必编写代码就可以创建GUI(图形用户界面)。 3.__________________ 是由一个或几个项目组成VB.NET程序。 4.当___________特性设置后,浮动窗口将自动隐藏。

5.当进入VB.NET集成环境,发现没有显示 “工具箱”窗口,应选择____________菜单的____________选项,使 “工具箱”窗口显示,并最好将其窗口的属性设置为___________。 6.新建项目时,要改变默认Option设置,应对__________菜单的__________的___________文件夹进行相应选项的选择。 7.对象属性是指_________。

8.对象的方法是指_______________。

9.在刚建立项目时,使窗体上的所有控件具有相同的字体格式,应对_______的_________属性进行设置。

10.属性窗口的属性可以按照___________和__________顺序排列。

11.当对命令按钮的Image属性装入.bmp图形文件后,按钮上并没有显示所需的图形,原因是对__________属性设置为_________。

12.若已建立了Form1,Form2两个窗体,默认启动窗体为Form1。通过_______菜单的_________的________选项卡,可将启动对象设置为Form2。

13.在文本框中,通过__________属性能获得当前插入点所在的位置。

14.要对文本框中已有的内容进行编辑,按下键盘上的按钮,就是不起作用,原因是设置了________的属性为True。

15.在窗体上已建立多个控件,如TextBox1,Label1,Button1,若要使程序一运行焦点就定位在Button1控件上,应对Button1控件设置_________属性的值为__________。

16.要同时保存解决方案中的每个文件,最方便的方法是单击工具栏的_________按钮。

第二章 VB.NET语言基础和顺序结构

一.选择题

1. 在一个语句内写多条语句时,每个语句之间用()符号分隔。

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

2. 一语句要在下一行继续写,用()符号作为续行符。

A . + B . - C. _ D . ? 3. 下面属于合法的变量名的是( )。

A .X_yz B. 123abc C .Integer D.X-Y 4.下面属于不合法的整常数的是( ).

A .100 B. &O100 C. &H100 D. 0 5.下面属于合法的字符常数的是( ) 。

A.ABC$ B. “ABC” C. ‘ABC’ D.ABC 6. 下面属于合法的单精度型变量的是()。

A. mun! B. sum% D. xinte$ D. mm# 7.下面属于不合法的双精度常数的是()。

A.100# B.100.0 C.1E+2 D.100.0D+2 8. 表达式16/4-2^5 * 8/4 Mod 5\\2 的值为()。

A.14 B.4 C.20 D.2

9.数学关系表达式3≤x<10表示成正确的VB.NET表达式为( )。

A.3<=x<10 B. 3<=x AND x<10 C. x>=3 OR x<10 D.3<=x AND <10 10.\\、/、Mod、* 四个算术运算符中,优先级别最低的是()。

A.\\ B. / C. Mod D.*

11.与数学表达式ab/(3cd)对应,VB.NET的不正确表达式是()。

A. a*b/(3*c*d) B.a/3*b/c/d C. a*b/3/c/d D. a*b/3*c*d 12.Rnd函数不可能为下列()值。

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

A. 198 B.199.6 C.198.56 D.200 14.已知A$=“12345678”,则表达式Val(Mid(A,1,4)+Mid(A,4,2))的值为()。

A.123456 B.123445 C.8 D.6

15.MsgBox(DateAdd(“m”,2,#1/28/2005#))语句显示结果是()。

A. 2005-3-28 B.2005-1-30 C. 2007-1-28 D. 2003-1-28 16.表达式DateDiff(“y”,#12/30/1999#,#1/13/2000#)的结果是()。

A. 1 B. 11 C.14 D.99

17.表达式Len(“123程序设计ABC”)的值是()。

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

A.x+y=30 B .y=∏*r*r; C. y=x+30 D. 3y=x 19. 为了给x、y、z三个变量赋初值1,下面正确的赋值语句是()。

A.x=1:y=1:z=1 B.x=1,y=1,z=1 C. x=y=z=1 D.xyz=1

20.赋值语句“a=123+MID(“123456”,3,2)”执行后,a变量中的值是()。

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

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

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

22.已知a=12,b=20,复合赋值语句“a*=b+10”执行后,a变量中的值是()。 A.50 B.250 C.30 D.360 二.填空题

1. 在VB.NET中,1234,123456&,1.2346E+1.2346D四个常数分别表示_________,_______,

________,__________类型。

2. 整型变量x中存放了一个两位数,要将两位数交换位置,例如,13变成31,实现表达

式是_________。

3. 表示x是5的倍数或是9的倍数的逻辑表达式为_________。 4. 已知a=3.5,b=5.0,c=2.5,d=True,则表达式a>=0 AND a+c>b+3 OR NOT d的值是_______。 5. Int(-3.5)、Int(3.5)、Fix(-3.5)、Fix(3.5)、Round(3.5)的值分别是____、____、___、

___、___、___。 6. 表达式UCase(Mid(“abcdefgh”,3,4))的值是_________。

7. 在直角坐标系中,x、y是坐标系中任意点的位置,用x和y表示在第一象限或第三象

限的表达是__________。

10. 要显示当前机器内日期,函数为_________。

11. 计算离你毕业(假定2008年6月30日毕业)还有多少个星期的函数表达式是__________。

12. 表示s字符变量是字母字符(大小写字母不区分)的逻辑表达式为___________。 13.下面程序随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。例如,产生246,输出是642。

Sub Button1_Click(......) Handles Button1.Click Dim x, y As Integer

x=Int (_________) y=(x Mod 10)*100+________+x\\100 MsgBox(“x=”& x & x “y=” &y) End Sub

第三章 选择结构

一.选择题

1. VB.NET提供了结构化程序设计的三种基本结构,三种基本结构是()。

A. 递归结构,选择结构,循环结构 B. 选择结构,过程结构,顺序结构 C. 过程结构,输入输出结构,转向结构 D. 选择结构,循环结构,顺序结构

2. 按照结构化程序设计的要求,下面()语句是非结构化程序设计语句。

A.if语句 B. For语句 C. GoTo语句 D. Select Case语句 3.下面程序段运行后,显示的结果是()。 Dim x%

If x Then MsgBox(x) Else MsgBox(x+1)

A.1 B.0 C.-1 D.显示出错信息 4.语句“If x=1 Then y=1” 下列说法正确的是()。

A. “x=1” 和“y=1” 均为赋值语句 B.“x=1” 和“y=1” 均为关系表达式

C.“x=1” 为关系表达式“y=1” 为赋值语句 D.“x=1” 为赋值语句“y=1” 为关系表达式

5.下面程序段显示的结果是()。

Dim x%

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

MsgBox(“优秀”) Case 4

MsgBox(“良好”)

Case 3

MsgBox(“通过”) Case Else

MsgBox(“不通过”) End Select

A. 优秀 B. 良好 C. 通过 D. 不通过

6.下面If 语句统计满足性别(sex)男、职称(duty)为副教授以上、年龄(age)小于40岁条件的人数,正确的语句是()。

A. If sex= “男” And age<40 And InStr(duty, “教授”)>0 Then n=n+1

B. If sex= “男” And age<40 And duty=“教授” or duty= “副教授” Then n=n+1 C. If sex= “男” And age<40 And Right(duty,2)= “教授 Then n=n+1

D. If sex= “男” And age<40 And duty= “教授”And duty= “副教授” Then n=n+1 7.下面程序段求两个数中的大数,()不正确。

A. Max1=IIf(x>y, x, y) B. If x>y Then Max1=x Else Max1=y C. Max1=Math.Max(x, y) C. If y>=x Then Max1=y Max=x

8.下面三个程序设计段计算学生外语附加分:外语6级(lang6)为“优秀”加15分,“通过” 加10分;外语4级(lang4)为“优秀”加8分,“通过”加4分。外语附加分只能计一次最高的分数。()能正确计算。

A. If lang6=“优秀” Then langf=15

ElseIf lang6=“合格” Then langf=10

ElseIf lang4= “优秀” Then langf=8

ElseIf lang4=“合格”Then langf=4

End if

B If lang4= “合格” Then langf=4

ElseIf lang4=“优秀” Then langf=8

ElseIf lang6=“合格” Then langf=10

ElseIf lang6=“优秀” Then

langf=15 End if

C. If lang6=“优秀”Then langf=15

If lang6=“合格” Then langf=10 If lang4=“优秀” Then langf=8

If lang4= “合格” Then langf=4 langf=0

D. If lang4= “合格” Then langf=4

If lang4=“优秀” Then langf=8

If lang6=“合格” Then langf=10

If lang6=“优秀” Then

langf=15

Else

langf=0

End if

9.下面语句执行后,变量w中的值是()。

w= Choose (Weekday(“2005,5,1”), “Red”, “Green” , “Blue”, “Yellow”) A. Nothing B. “Red” C. “Green” D. “Yellow”

二.填空题

1.当C字符串变量中第三个字符是“C”时,利用MsgBox显示“Yes”,否则显示“No”。 If_________Then MsgBox(“yas”) Else MsgBox(“No”) 2. 程序运行后输出的结果是___________。

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 MsgBox(y)

3. 下面程序的功能是()。

Dim n%, m%

Sub TextBox1_KeyPress(......)Handles TextBox1.Keypress

If Asc(e.KeyChar)=13 Then

If IsNumeric(TextBox1.Text) Then

Select Case Val(TextBox1.Text) Mod 2 Case 0 n=n+Val(TextBox1.Text) Case 1 m=m+Val(TextBox1.Text) End Select End If

TextBox1.Text=”” TextBox1.Focus( ) End If

End Sub

4.下面的程序段是检查输入的算术表达式中圆括号是否配对,并显示相应的结果。本程序在文本框中输入表达式,边输入边统计,以输入回车符作为表达式输入结束,然后显示结果,如下图所示。

Dim count1 %

Sub TextBox1_KeyPress( ?????)Handles TextBox1.KeyPress If__________=“(”Then

count1+1

ElseIf ________=“)” Then count1=_________ End If

If Asc(e.KeyChar)=13 Then If_________ Then

MsgBox(“左右括号配对”) ElseIf count1>0 Then MsgBox(__________) Else

MsgBox(“右括号多于左括号”&count1& “个”) End If Exit Sub End If

End Sub <注意>

该题中统计括号个数的变量count1若在过程内声明,程序会产生什么结果?

5.输入若干个字符,统计有多少个元音字母,有多少个其他字母,直到按Enter键结束,显示结果,大、小写不区分。其中Count Y中放元音字母个数,Count C中放其他字符数。 Dim CountY% , CountC%

Sub TextBox1_KeyPress (?????) Handles TextBox1.KeyPress Dim c As Char

c=________

If “A”<=c And c<= “Z”Then Select Case_________ Case_________

CountY=CountY+1 Case Else

CountC=CountC+1

End Select End If

If ______ __ Then

MsgBox(“元音字母有”& CountY & “个”) MsgBox(“其他字母有” & CountC & “个”) End If End Sub

6. 用If语句,Select Case语句两种计算方法计算分段函数

x^2+3x+2 当x>20

y= sqrt(3x)-2 当10<=x<=20 1/2+|x| 当x<10

Sub Button1_Click(....) Handles Button1.Click Dim x! , y!

x=Val(TextBox1.Text) If________ Then

y=x*x+3*x+2

ElseIf_________ Then y=1/2+Math.Abs(x) Else

y=Math.Sqrt(3*x)-2 End If

MsgBox(“y=”& y) End Sub

Sub Button1_Click(....) Handles Button1.Click x=Val(TextBox1.Text)

Select Case x Case__________

y=x*x+3*x+2 Case__________

y=1/2+Math.Abs(x) Case Else

y=Math.Sqrt(3*x)-2 End Select

MsgBox(“y=”& y) End Sub

7. 输入三角形的三边a、b、c的值,根据其数值,判断能否构成三角形。若能,还要显示

三角形的性质:等边三角形、等腰三角形、直角三角形、任意三角形。 Sub Button1_Click(....) Handles Button3.Click Dim x%, y%, z%

x= Val(InputBox(“input x”)) y= Val(InputBox(“input x”)) z= Val(InputBox(“input x”)) If__________ Then Msg(“能构成三角形”) If_________ Then

Msg(“是等边三角形” ElseIf ________ Then

Msg(“是等腰三角形”)

ElseIf Math.Sqrt(x*x+y*y)=z Or Math.Sqrt(y*y+z*z)=x Or Math.Sqrt(x*x+z*z)=y Then

Msg(“是直角三角形”) Else

_________

End If Else

MsgBox (“不能构成三角形”) End If End Sub

8.输入一个年份,判断它是否为闰年,并显示是否是闰年的有关信息。判断闰年的条件是:年份能被4整除但不能被100整除,或能被400整除。同时请用日期型变量的IsLeepYear成员来验证。

Sub Button1_Click(....) Handles Button3.Click Dim d As Date d=Now

If_________ Or d.year Mod 400=0 Then MsgBox(d.Year & “是闰年”) Else

MsgBox(d.Year & “是平年”) End If

If d.IsLeepYear(________) Then MsgBox(d.Year & “是闰年”) Else

MsgBox(D.Year & “是平年”) End If End Sub

第四章 循环结构

一.选择题

1. 以下()是正确的For...Next结构。

A. For x=1 To Step 10 ...

Next x

B. For x=3 To -3 Step -3 ... Next x

C. For x=1 To 10 re:... Next x

7.如下程序,运行的结果是()。 Dim a%, b%, c%

Public Sub p1(ByRef x%, ByRef y%) Dim c%

x=2*x: y=y+2: c=x+y End Sub

Public Sub p2(ByRef x%, ByVal y%) Dim c%

x=2*x: y=y+2:c=x+y End Sub

Sub Button1_Click(... ...) Handles Button1.Click a=2: b=4: c=6 Call p1=(a, b)

MsgBox (“a= “ & a &“b=” & b &“c=”& c) Call p2(a, b)

MsgBox (“a= “ & a &“b=” & b &“c=”& c) End Sub

A. a=2 b=4 c=6 B. a=4 b=6 c=10 a=4 b=6 c=10 a=8 b=8 c=16 C. a=4 b=6 c=6 D. a=4 b=6 c=14 a=8 b=6 c=6 a=8 b=8 c=6 8.如下程序,运行后各变量的值依次为()。 Public Sub Proc (ByRef a%()) Static i% Do

a(i)=a(i)+a(i+1) i=i+1

Loop While i<2 End Sub

Sub Button1_Click(.....) Handles Button1.Click Dim m%, i%, x%(10) For i=0 To 4

x(i)=i+1 Next i

For i=1 To 2

Call Proc(x) Next i

For i=0 To 4

MsgBox(x(i)) Next i

End Sub

A. 3 4 7 5 6 B.3 5 7 4 5 C. 2 3 4 4 5 D.4 5 6 7 8 二.填空题

1.如下程序,运行显示的值是___________,函数过程的功能是_________ Public Function f(ByVal n%, ByVal r%) If n<>0 Then f=f(n\\r, r) MsgBox(n Mod r) End If End Function

Sub Button1_Click(......) Handles Button1.Click MsgBoxf(f(100,8)) End Sub

2.如下程序,运行显示的值是_________,函数过程的功能是__________。 Public Function f(ByVal m%, ByVal n%) Do While m<>n If m>n Then m=m-n Else

n=n-m End If Loop f=m

End Function

Sub Button1_Click(.....) Handles Button1_Click MsgBox(f(24,18)) End Sub

3.两个质数的差为2,称此对质数为质数对,下列程序是找出100以内的质数对,并成对显示结果。其中,函数IsP判断参数m是否为质数。 Public Function IsP (ByVal m) As Boolean Dim i%

_______________

For i=2 To Int(Math.Sqrt(m)) If_________Then IsP=False Next i

End Function

Sub Button1_Click(.....) Handles Button1.Click Dim i%, p1, pa As Boolean p1=IsP(3)

For i=5 To 100 Step 2 p2=IsP(i)

If _________Then Label1.Text &=i-2 & “ ”& i p1 _________ Next i End Sub

4.子过程MoveStr()是把字符数组移动m个位置。当Tag为True,左移,则前m个字符移到字符数组尾,例如,“abcdefghij”左移三个位置后,结果为“defghijabc”;当Tag为False,右移,则后m个字符移到字符数组前,如“abcdefghij”右移三个位置后,结果为“hijabcdefg”。 子过程如下:

Public Sub MoveStr(ByRef a$(),ByVal m%, ByVal Tag As Boolean) Dim i%, j%, t$

If ____________ Then For i=1 To m

____________

For j=0 To ____________ a(j)=a(j+1) Next j

____________ Next i Else

For i=1 To m

_____________

For j=UBound(A) __________ a(j)=a(j-1) Next j

___________ Next i End If End Sub

5.子过程CountN用来统计字符串中各数字字符(“0”~“9”)出现的个数;主调程序实现在TextBox1框输入的文本,每次单击“统计”按钮,调用该子过程,在Label1框中显示结果,运行界面如图所示

Sub Button1_Click(.....) Handles Button1.Click Dim n(9) As Integer ,i%

Call CountN(n,TextBox1.Text) Label2.Text= “” For i=0 To 9 If n(i) Then

Label2.Text &=_________ & vbCrLf End If Next i End Sub

Sub CountN(_________________) Dim c As Char, i%, m%, j%

For i=0 To 9

num(i)=0 Next i m=Len(s) For i=1 To m

c=_____________

If c>= “0” And c<=”9” Then j=Val(c)

Num(j)=_________ End If Next i End Sub

6.子过程F(n,m,t)对一个四位数的整数n进行判断:已知该整数n,逆向排列获得另一个四位数,m是它自身的倍数(2倍以上),则t为True表示满足上述条件。主调程序调用该函数,显示1000~9999中所有满足该条件的数。

提示:根据一个数n,逐一分离得到它的反序数m,然后判断m是否为n的倍数。 Sub Button1_Clink(... ...) Handles Button1.Click Dim t As Boolean, i%, k% TextBox1.Text= “” TextBox2.Text= “” For i=1000 To 9999 Call f( ________) If t Then

TextBox1.Text &=i& vbCrLf

TextBox2. Text &=k & “=”& i & “*”& k\\i & vbCrLf End If Next End Sub

Sub f(ByVal n%, ByRef m%, ByRef tag As Boolean) Dim i% tag = False m=0 i=n

Do While i>0

m=_________ ‘求的n的逆序列 i=_________ Loop

If m Mod n=0 And m\\n>1 Then ‘是否是倍数 tag=_________ End If End Sub

7.下列程序中的子过程Mysplit(s,sAarry(),n)用于实现函数Split( )的功能(字符分离到数组),即将数字字符串s按分隔符“,”分离到sArray 数组中,分离的个数为n,主调程序将文本框输入的数字字符串进行分离,结果在TextBox2控件显示,如图所示。

Sub Button1_Clink(......) Handles Button1.Click Dim str1 As String ,num(100) As Integer,n%,i% Str1=Tim(TextBox1.Text) Call MySplit(Str1,num,n) TextBox2.Text= “” For i=0 To n

TextBox2.Text &=num(i) & vbCrLf Next End Sub Sub MySplit(ByVal str1 As String, ByRef sn() As Integer, ByRef n As Integer) Dim i%,j%,ch$ i=0

j=InStr(str1,”,”) Do While j>0

sn(i)=Val____________ str1=Mid(str1,j+1) i=i+1

j=__________ Loop

sn(i)=Val(str1) n=___________ End Sub

8.以下过程将一个有序数组中重复出现的数进行删除,删得只剩一个。主调程序运行后结果如图所示。解题思想是从数组最右边往左边两两比较,若相同,右边的数依次往左移,数组上界元素减1,实现删除。

Sub Button1_Clink(......) Handles Button1.Click Dim b( ) As Integer={23,45,45,60,70,70,70,90},i%, n% Label1.Text= “” Call p(b, n) For i=0 To n Label1.Text &=b(i) & “ ” Next i End Sub

Sub p(________) Dim m%,k% n=UBound(a) m=n Do While(__________) ‘从右往左比较,压缩 If a(m)=a(m-1) Then For k=_________ a(k-1)=a(k) Next k n=__________

End If m=___________ Loop ReDim Preserve a(n) End Sub

9.在教材中介绍的选择法、冒泡法排序都是在欲排序的数组元素全输入后,再进行排序。而插入排序是每输入一个数,马上插入到数组中,数组在输入过程中总是有序,界面如图6.11所示。在插入排序中,涉及到查找、数组内数的移动和元素插入等算法。

<提示>

此例关键编一个插入排序过程,插入排序法的思路是: 数组中已有n个有序数,当输入某数x时: (1) 找x应在数组中的位置j;

(2) n-j在数依次往后移,使位置为j的数让出;

(3) 将数x放入数组中应有的位置j,一个数插入完成。 对于若干个数输入,只要调用插入排序过程即可。

Dim n As Integer

Sub TextBox1_KeyPress (???) Handles TextBox1.KeyPrss Static bb!(20) Dim i%

If n>20 Then

MsgBox(“数据太多!,1,“”警告“) End End If

If e.KeyChar =Chr(13) Then n=n+1

insert(________)

Label4.Text & =TextBox1.Text & vbCrLf ‘显示刚输入的数

For i=1 To n ‘显示插入后的有序数 Label5.Text &=bb(i) & “ ” Next i

Label5.Text & = ______________ TextBox1.Text= “” End If End Sub

Sub insert(ByRef a( ) As Single ,ByVal x!) Dim i%, j%

j=1 ‘查找x应插入的位置j Do While__________ j=j+1 Loop

For i=n-1 To j Step -1 ‘n-j个元素往又移 _________________ Next i

a(j)=x ‘x插入数组中的第j个位置 End Sub

第七章 用户界面设计

一.选择题

1. 下列控件中,没有Text属性的是()。

A.框架 B.列表框 C.复选框 D.定时器

2.复选框的CheckState属性为CheckState.Indeterminate时,表示( )。 A.复选框未被选定 B.复选框被选中

C.复选框被选定并有灰色的勾 D.复选框不可以操作 3.在下列关于单选按钮和复选框的说法中,错误的是()。 A.某个单选按钮被单击一定会触发它的CheckedChanged

B.一个单选按钮状态发生变化,同一组中必有另一个单选按钮的状态也发生变化 C.某个复选框被单击一定会触发它的CheckedChanged

D.一个复选框的状态发生变化,不会影响其他复选框的状态 4.在设计状态,列表框中的选项可以通过( )属性设置。

A.List B.Items.Count C.Text D.Items 5.在下面对列表框(ListBox1)的操作中,正确的语句是()。 A.Listbox1.Items.Cls

B.ListBox1.Items.Remove(4)

C.ListBox1.Items.Remove(“计算机”)

D.ListBox1.Items.Add(1,“打印机”)

6.引用列表框(ListBox1)最后一个数据项应使用( )。 A.ListBox1. Items (ListBox1.Items.Count) B.ListBox1. Items (ListBox1.Items.Count -1)

C.ListBox1.Text

D.ListBox1. Items (ListBox1.SelectedIndex) 7.在下列说法中,正确的是()。

A.在程序运行期间,可以通过恰当的设置让时钟控件显示在窗体上

B.若单击某个单选按钮,则该单击按钮的CheckedChanged事件一定被触发 C.在列表框中能够将项目按字母排序大到小排列 D.框架也有Click和DoubleClick事件

8.在下列属性和事件中,属于滚动条和进度条共有的是()。

A.Scroll B.ValueChanged C.LargeChange D.Maximum 9.下列关于定时器的说法中,正确的是()。

A.当Enabled属性为False时,不产生Tick事件

B.在程序运行时不可见,这是因为Visible属性为False C.当Interval属性为0,则Tick事件不会发生

D.通过恰当的设置可以将Interval属性的单位改为秒 10.以下正确的语句是()。

A.OpenFileDialog1.Filter=All Files| *.*|Pictures(*.Bmp)|*.Bmp B.OPenFileDialog1.Filter= “All Files”|”*.* “|”Pictures(*.Bemp)”|”*.Bmp

C.OPenFileDialog1.Filter= “AllFiles|*.*|Pictures(*.Bmp)|*.Bmp” D.OpenFileDialog1.Filter={All Files|*.*|Pictures(*.Bmp)|*.Bmp} 11.在下列关于通用对话框的说法中错误的是()。

A.可以用ShowDialog方法打开 B.可以用Show方法打开

C.当选择了“取消“按钮后,ShowDialog方法的返回值是DialogResult.Cancel D.通用对话框是非用户界面控件

12.在下列关于菜单的说法中,错误的是()。

A.每个菜单项都是一个对象,也有自己的属性、事件和方法 B.除了Click事件之外,菜单项还能响应DoubleClick等事件 C.菜单中的分隔符也是一个对象

D.在程序执行时,如果菜单项的Enabled属性为False,则该菜单项变成灰色,不能被用户选择。

13.假定有一个窗体类Form2,则将它实例化并显示的正确语句为()。 A. Form2.show B. Form2.showDialog C. Dim f2 as Form2 D. Dim f2 as New Form2 f2.Show f2.Show 14.假定Form2中有一个文件框(TextBox1),则另一个窗体访问用户在该文本框中输入的数据的正确代码段是()。(假定s为字符串变量) A.TextBox1.Text B.Form2.TextBox1.Text C. Dim f2 as New Form2 D. Dim f2 as New Form2 f2.Show f2. ShowDialog s=f2.TextBox.Text s=f2.TextBox1.Text 15.下列关于键盘事件的说法中,正确的是()。

A.按下键盘上的任意一个键都会引发KeyPress事件

B.按下大键盘上的“1“键和数字键盘的 “1”键的e.KeyCode的值相同 C.KeyDown/KeyUp事件过程中可使用e.KeyChar

D.大键盘上“4”键的上档字符是 “$”,当同时按下Shift和大键盘上的 “4”键时,Keypress事件过程中的e.KeyChar为“$”

16. 在KeyDown/KeyUp 的事件过程中,能用来检查Ctrl和F3是否同时按下的表达式为()。

A. e.KeyCode=Keys.F3 And e. Control B. e.KeyChar=Keys.F3 And e. Control

C. e.KeyChar=Keys.F3 And e.KeyCode=Keys.Control D. e.KeyCode=Keys.F3 And e.Ctrl 填空题

1. 复选框__________属性设置为Indeterminate,则变成灰色,并显示一个选中标记。

2. 在程序运行时,如果将框架的_______属性设置为False,则框架呈灰色,

表示框架内的所有对象均被屏蔽,不允许用户对它们操作。 3. 列表框中选项的序号是从________开始的。 4. _______表示列表框中最后一项的序号。 5. _______方法可清除列表框中的所有选项。

6. 组合框是组合了文本框和列表框的特性而形成的一种控件。____风格的组合框

不允许用户输入列表框中没有的项。

7. 滚动条响应的重要事件有______和ValueChanged。

8. 当用户单击滚动条中的空白时,滑块移动的增量值由______属性决定。 9. 滚动条产生ValueChanged事件是因为______值改变了。

10.如果要每隔15秒产生一个计时器事件,则Interval属性应设置为_____。 11.使用______方法可打开指定的网页。

12.在LinkLabel控件中,通过______属性可以设置超级链接。

13.若菜单项中的某个字符之前加一个_______,则该字符成为热键。 14.在菜单项中Text中,若输入______,则菜单项成了分隔符。 15.弹出菜单是通过________控件创建的。

16.可通过设置控件的________属性将控件与一个弹出菜单建立关联。 17.隐藏窗体的方法是________。

18.在多重窗体中,除了可以指定某个窗体作为启动对象外,还可以指定______作为启动对象。

19.当用户单击鼠标又键时,在MouseDown、MouseUp、MouseMove事件过程中e.Button的值为_____。

20.若同时按下Shift键和其他键,则KeyDown/KeyUp事件过程中________为True。

21.下面程序段是将列表框ListBox1中重复的项目删除,只保留一项。 Dim i,j As Integer

For i=0 To ListBox1.Items.Count-1

For j=ListBox1.Items.Count-1 To _______Step -1 If ListBox1.Items(i)=ListBox1.Items(j) Then _______ End If Next j Next i

22.下面是一个学生成绩录入程序。它具有如下的功能: (1)文本框中能输入0~9之间的数字字符。

(2)当焦点离开文本框时,能检查录入的成绩是否有效。若成绩不在0~100之间,则清除原数据,并且要求重新输入。

(3)若文本框左边的复选框未被选定,则文本框不可以输入成绩并且不参加计算总分和平均成绩。

<程序>

Sub Form1_Load(.....) Handles MyBase.Load Me.KeyPreview=_____ End Sub

Sub Form1_KeyPress(....) Handles MyBase.KeyPress If E.KeyChar < “0” Or e.KeyChar > “9” Then ____________ End If End Sub

‘CheckBox2和CheckBox3的CheckedChanged事件过程略

Sub CheckBox1_CheckedChanged(.......)Handles Checkbox1.CheckedChanged

TextBox1.Enabled=_______ End Sub

Sub TextBox1_LostFocus(......)Handles TextBox1.LostFocus If(Val(TextBox1.Text)<0 Or Val(TextBox1.Text)>100) Then TextBox1.Text= “” __________ End If End Sub

Sub Button1_Click( .....) Handles Button1.Click Dim Total As Integer=0,Count As Integer=0 If CheckBox1.Checked Then

Total=Total+(Val(TextBox1.Text)) Count=Count+1 End If

If CheckBox2.Checked Then

Total=Total+(Val(TextBox2.Text))

Count=Count+1 End If

If CheckBox3.Checked Then

Total=Total+(Val(TextBox3.Text)) Count=Count+1 End If

_________

TextBox5.Text=Total/Count End Sub

23.图7.8是一个定时程序。用户在两个文本框(TextBox1和TextBox2)中设置定时时间,然后单击“定时”(Button1)按钮开始定时,当系统时间 与定时时间相等时弹出信息框“时间到!”。两个文本框的MaxLength属性为2,定时器名称为Timer1,系统当前时间显示在label1标签中。

<程序>

Sub Botton1_Click(.....)Handles Button1.Click _______ End Sub

Sub Timer1_Tick(......)Handles Timer1.Tick Dim h , m As Integer label1.text=TimeOfDay h=Hour(TimeOfDay) ________ If _____Then

Timer1.Enabled=False MsgBox(“时间到!”) End If End Sub

第八章 文 件

一.选择题

1. 在下面关于顺序文件的描述中,正确的是( )。 A.每条记录的长度必须相同 B. 可通过编程方式随机地修改文件中的某条记录

C.数据是以ASCII码字符的形式放在顺序文件中,所以可通过Windows的 程序编辑 D.文件的组织结果复杂

2.在下面关于随机文件的描述中,不正确的是( )。

A.面条记录的长度必须相同 B.一个文件中记录号不必唯一 C.可通过编程对文件中的某条记录方便地修改 D.文件的组织结构比顺序文件复杂 3.文件按组织方式可分为( )。

A.顺序文件和随机文件 B.ASCII文件和二进制文件 C.程序文件和数据文件 C.磁盘文件和打印文件 4.顺序文件之所以称为顺序文件是因为()。

A.文件中记录按记号从小到大的排序 B.文件中记录按记录长度从小到大排序

C.文件中记录按关键数据项的值从大到小的顺序

D.记录是按进入的先后顺序存放的,读出也是按原写入的先后顺序读出的 5.随机文件之所以称为随机文件,是因为()。

A.文件中的内容是通过随机数产生的 B.文件中的记录号是通过随机数产生的

C.可对文件中的记录根据记录号随机地读/写 D.文件的每条记录的长度是随机的

6.为了建立一个随机文件,其中每一个记录由多个不同的数据类型的数据项组成,应使用()。

A.记录类型 B.数组 C.字符串类型 D.对象类型

7.若要从磁盘上读一个文件名为“C:\\T1.txt”的顺序文件,则应使用下列( )程序段打开文件。

A. Dim F As String B. Dim F As String F=“C:\\T1.txt” F=“C:\\T1.txt” FileOpen(1,F,OpenMode.Input) FileOpen(1,”F”,OpenMode.Input) C .FileOpen(1, “C:\\T1.txt”,OpenMode.Output) D. FileOpen(1, “C:\\T1.txt”,OpenMode.Input)

8.若要在磁盘上新建一个文件名为“C:\\T1.txt”顺序文件,则应用下列( )程序段打开文件。

A.Dim F As String F=“C:\\T1.txt” FileOpen(2,F,OpenMode.Append) B. Dim F As String F=“C:\\T1.txt”

FileOpen(2,“F”,OpenMode.Output)

C. FileOpen(2, “C:\\T1.txt”,OpenMode.Output) D. FileOpen(2, “C:\\T1.txt”,OpenMode.Outpt) 9.全局记录类型定义语句应出现在( )。

A.窗体类中 B.标准模块 C. 窗体类以外的窗体代码窗口中 D.以上都不对

10.随机文件中记录类型的字符串成员应该是定长的,下列( )语句可以在结构类型中定义一个定长的字符串Str。

A. Dim Str as String B. Dim Str as String *10

C.Dim Str(10) as String D.Dim Str as String 11. 假定建立一个学生成绩的随机文件需要定义由学号、姓名、课程成绩(百分制)组成的记录类型,则以下正确的定义是()。

A. Structure Stud B. Structure Stud Dim no As Integer Dim no As Integer Dim name As String Dim name As String Dim mark As Single Dim mark As Single End Structure End Structure

C. Structure Stud D. Type Stud

Dim no As Iteger Dim no As Integer

Dim name As String*4 Dim name As String *4 Dim mark As Single Dim mark As Single End Structure End Structure

12.为了使用上述定义的记录类型,对一个学生的各数据项通过赋值语句获得,其值分别为9801、“李平”、78,如下程序正确的是( )。

A. Dim s As stud B. Dim s As stud stud.no=9801 s.no=9801

stud.name= “李平” s.name= “李平” stud.mark=78 s.mark=78

C. Dim s As stud D. stud.no=9801

no=9801 stud.name= “李平” name= “李平” stud.mark=78 mark=78 Dim s As stud 13.要建立一个学生成绩的随机文件,文件名“Stud.dat”,该文件由以上12题赋了的值的一条记录组成,如下程序正确的是()。

A. FileOpen(1,”stud.dat”,OpenMode.Random) FilePut(1,s,1) FileClose(1)

B. FileOpen(1,“stud.dat”,OpenMode.Random) FilePut(1,1,s) FileClose(1)

C. FileOpen(1,“stud.dat”,OpenMode.Random,,,Len(s)) FilePut(1,s,1) FileClose(1)

D. FileOpen(1,“stud.dat”,OpenMode.Random,,,Len(Stud)) FilePut(1,s,1) FileClose(1) 二.填空题

1.顺序文件的建立。建立顺序文件C:\\Stud.txt,内容来自文本框,每按一次Enter键写入一条记录,然后清除文本框的内容,直到文本框内输入“END“字符串。 Sub Form1Load(.....) Handles MyBase.Load ______

TextBox1.Text=””

End Sub

Sub TextBox1_KeyDown()Handles TextBox1.KeyDown If _______ Then

If TextBox1.Text= “END”Then FileClose(1) End Else

_______

TextBox1.Text= “” End If End If End Sub

2.文本文件复制。将文本文件C:\\Old.dat复制成新文件C:\\New.dat 。 Sub Button1_Click(........)Handles Button1.Click Dim Str As String

FileOpen(1,”C:\\Old.dat”,_____) FileOpen(2,”C:\\New.dat”_____) Do While _____ _____

PrintLine(2,Str) Loop

________ End Sub

3.文本文件合并。将文本文件C:\\T1.txt文件中。

Sub Button1_Click(........)Handles Button1.Click Dim Str As String

FileOpen(1,”C:\\T1.txt”,_______) FileOpen(2,”C:\\T2.txt”,_______) Do While Not EOF(2) ________ PintLine(1,Str) Loop

FileClose() End Sub 4.随机文件的修改。对已建立的有若干条记录的随机文件C:\\Stud.dat的,记录类型为: Module Module1 Structure Stud

Dim no As Integer

Dim name As String Dim mark As Single End Structure End Module

下面程序记录代码是读出5号记录,用MsgBox显示记录内容,将课程成绩加5分,写入原来的位置,再读出并显示。

Sub Button1_Click(........)Handles Button1.Click Dim s As Stud

FileOpen(1, “C:\\Stud.dat”,_____, , ,Len(s)) ______

MsgBox(s.no & s.name & s.mark) _____

FilePut(1,s,5) ______

MsgBox(s.no & s.name & s.mark) FileClose(1) End Sub

5.顺序文件的修改。磁盘文本文件C:\\Zg.dat存放了职工的工资和职称情况,每条记录由工号、工资、职称组成,之间用逗号分隔。现对有职称的职工加工资,规定教授或副教授加15%,讲师加10%,助教加5%,其他人员不加工资。本程序要求根据加工资的条件修改原文本文件内各类人员的相应工资。 <分析>

由于文本文件不能直接进行修改,只能增加一个临时文件,依次从老文件读出内容,判断是否满足要修改的条件,若不修改,则将原内容写到临时文件文件中;若修改,则将新内容写入临时文件中,直到文件结束。

然后通过临时文件将内容重新依次写回到老文件;当然也可以通过VB提供的文件操作命令,删除老文件,将临时文件改名为老文件或将临时文件复制为老文件。

由此可见顺序文件修改某一条记录比较麻烦,但适合于批量数据的整体修改或处理。

Sub Button1_Click(........)Handles Button1.Click

Dim No As Integer ,Zc As String ,Gz As Single,Str As String FileOpen(1, “C:\\Zg.txt”,OpenMode.Input) FileOpen(2, ”c:\\lszg.txt”,OpenMode.Output) Do While Not EOF (1)

Input(1,No) : Input(1,Zc):Input(1,Gz) Select Case Zc

Case______ Gz=Gz*1.15

Case “讲师” ________ Case “助教” Gz=Gz*1.05 End Select

_______ Loop

FileClose()

FileOpen(1,“C:\\Zg.txt”,______) FileOpen(2, “c:\\lszg.txt”,_____) Do While Not EOF(2) str=LineInput(2)

______ Loop

FileClose() End Sub

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

Top