VB6.0程序设计实践教程习题及答案.doc_第1页
VB6.0程序设计实践教程习题及答案.doc_第2页
VB6.0程序设计实践教程习题及答案.doc_第3页
VB6.0程序设计实践教程习题及答案.doc_第4页
VB6.0程序设计实践教程习题及答案.doc_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章一、判断题1属性是Visual Basic对象性质的描述,对象的数据就保存在属性中。2控件的属性值不可以在程序运行时动态地修改。3许多属性可以直接在属性表上设置、修改,并立即在屏幕上看到效果。4所谓保存工程,是指保存正在编辑的工程的窗体。5面向对象的程序设计是一种以对象为基础,由事件驱动对象执行的设计方法。6为了使一个控件在运行时不可见,应该将该控件的Enabled属性设置为False。7保存Visual Basic文件时,若一个工程包含多个窗体或模块,则系统先保存工程文件,再分别保存各窗体或模块文件。8事件是由Visual Basic预先定义的对象能够识别的动作。9方法是Visual Basic对象可以相应的用户操作。10窗体中的控件,是使用工具箱中的工具在窗体上画出的各图形对象。11由Visual Basic语言编写的应用程序有解释和编译两种执行方式。12在打开一个Visual Basic工程进行修改后,要另存为一个版本,只需单击“工程另存为”就行,因为系统将同时保存其他文件。13当用Load命令将窗体装入内存时,一定触发窗体的load事件和Activate事件.二、选择题1要使某个控件不可操作,要对 属性进行设置。A、Enabled B、Visibale C、Caption D、Name2下列不属于对象的基本特征的是 。A、属性 B、方法 C、事件 D、函数3当运行程序时,系统自动执行启动窗体的 事件过程。A、Click B、Load C、DblClick D、Unload4Visual Basic中“程序运行”允许使用的快捷键是 。A、F2 B、F5 C、Alt+F3 D、F85改变控件在窗体中的左右位置应修改该控件的 属性。A、Top B、Left C、Width D、Right6工程文件的扩展名为 。A、.vbp B、.bas C、.frx D、.frm7在Visual Basic中,称对象的数据为 。A、属性 B、方法 C、事件 D、封装8下列选项中不属于属性的是 。A、Name B、Caption C、Show D、Text9将Visual Basic编制的程序保存在磁盘上,至少会产生何种文件 。A、.doc与.txt B、.com与.exe C、.bat与.frm D、.vbp与.frm10下列关于属性设置的叙述错误的是 。 A一个控件具有什么属性是VB预先设计好的,用户不能改变它 B一个控件具有什么属性值是VB预先设计好的,用户不能改变它 C一个控件的大多数属性既可以在属性窗口中设置,也可以用程序代码设置 D一个控件的属性在属性窗口中设置后,还可以再利用程序代码为其设置新值三、填空题1Visual Basic中可作为其它控件的容器除了窗体外,还有 和 。2在Visual Basic中,窗体和控件被称为 。 3窗体是用来存放 的容器,窗体的left和top属性是相对 对象的。4在打开某窗体时,初始化该窗体中的各控件,应选用 事件。四、程序设计题1编一程序:当用户在文本框中输入姓名,例如输入“机器猫”,单击“确定”按钮,则窗体上出现“机器猫:欢迎你!”,如果单击“结束”按钮,即结束程序运行。2在窗体上建立4个命令按钮Command1、Command2、Command3和Command4。要求:(1)命令按钮的Caption属性分别为“字体变大”、“字体变小”、“加粗”和“标准”。(2)每单击Command1按钮和Command2按钮一次,字体变大或变小3个单位。(3)单击Command3按钮时,字体变粗;单击Command4按钮时,字体又由粗体变为标准。(4)4个按钮每单击一次都在窗体上显示“青春无悔”。(5)双击窗体后可以退出。3在窗体中创建一个文本框和两个命令按钮Command1和Command2,当单击Command1时,文本框消失;当单击Command2时,文本框出现,并在文本框中显示“我学会了创建一个应用程序了!”,要求Font为楷体和三号。第1章习题答案一、 判断题15: 610: 1113:二、 选择题15:ADBBB 610:AACDB三、 填空题1、 图片框和框架2、 对象3、 控件 屏幕4、 Load四、 程序设计题1、Private Sub Command1_Click()Print Text1.TextEnd SubPrivate Sub Command2_Click()EndEnd Sub2、Private Sub Command1_Click()Form1.FontSize = Form1.FontSize + 3Print 青春无悔End SubPrivate Sub Command2_Click()FontSize = FontSize - 3Print 青春无悔End SubPrivate Sub Command3_Click()Form1.FontBold = TruePrint 青春无悔End SubPrivate Sub Command4_Click()FontBold = FalsePrint 青春无悔End Sub3、Private Sub Command1_Click()Text1.Visible = FalseEnd SubPrivate Sub Command2_Click()Text1.Visible = TrueText1.FontName = 楷体_gb2312Text1.FontSize = 15Text1.Text = 我学会了创建一个应用程序了!End Sub第二章一、判断题1. InputBox函数的返回值的类型为整型。2. 在逻辑运算符Not、Or、And中,运算优先级有高到低为Not、Or和And。3. MsgBox函数的返回值的类型为长整型。4. 整型变量有Byte、Integer和Long三种。5. 语句Form1.Print Tab(10);”#”的作用是在窗体的第11列位置输出字符”。二、选择题:1Visual Basic的逻辑类型数据占( )字节内存。A.2 B.4 C.8 D.162下列选项中( )是日期型数据。A.January10,1997 B.#January10,2007#C.”January10,1997” D.& January10,1997&3 下列哪一个字符串可以作为Visual Basic中的变量名( )。A. End B. 15efg C. b-12 D. X9j4 下列哪一个是变量( )。A.Vbred B.”name123” C.True D.n5 整数Int(Rnd()*11)+10的值的范围是( )。A.10,20 B.0,20 C.10,10 D.10,116 语句Y=X+1代表( )。A.变量Y等于X+1的值B.变量Y等于变量X的值,然后再加上1的一个表达式C.将变量X的值加上1后,将结果存入变量YD.将变量Y存入变量X+1中7 对于Inputbox函数,下列说法不正确的是( )。A每执行一次Inputbox函数,只能输入一个值。BInputbox函数返回值是数值型数据。CInputbox函数的提示信息参数不能缺省。D函数值必须赋与一个变量8要把InputBox的返回值转换为数值应该使用的函数是( )。AInt BAsc CLen DVal9下列对话框函数调用错误的是 ()。Ax$=Inputbox(请输入数据) BInputbox(请输入数据) Cx=Msgbox(是否继续查询) DMsgbox(是否继续查询)三、写出下列Visual Basic表达式的结果:(1) 4*1065 (2) “AbCABCD (3) 456456& Xyz(4) Not 11*20255 (5)5=5 And 84+1 (6)102 Or Not 610+3四、将下列命题用逻辑表达式表示:1. Z比X,Y都小 2. |x| |x+2| 或 x y+23. w是x的倍数 4. x=-5 且 x-105. X,Y其中只有一个小于Z 五、填空题1. Visual Basic算术表达式a+b / (b+c / (d+e / Sqr (2*a*b )对应的数学表达式 。2. 产生一个100999之间的随机整数的表达式 。3. 整型变量X中存放了一个二位数,要将两位数交换位置,例如,49变成94,实现的表达式是 。4. 数学表达式的Visual Basic算术表达式为 。5. 表达式Ucase(Mid(abcdefgh,2,3)的值是 。6. 表达式18/3-24*4 mod 8的值是 。7. 不同数据类型中所占字节数最小的是 。8. 语句Print “5*5”的执行结果为 。课后习题答案:一、判断题15 :二、选择题15:ABCDA 69: ABDB三、写出表达式的值1、True 2、True 3、True 4、False 5、True 6、True四、略五、填空题12. int(900*rnd)+100 3. right(trim(str(x,1) & left(trim(str(x,1)4. sin(65/180*3.14159)+2*3.14159*sqr(x+2*exp(y)/(x-y)5.BCD6.67. Byte8.5*5第三章一、思考题1. 结构化程序设计的特点是什么?面象对象的程序设计与结构化程序设计的主要区别是什么?2. Visual Basic中数据输入常用的方法有那些?比较使用文本框和InputBox函数输入数据的异同。3. 使用一个文本框,能否直接输入多项数据?4. 要输入10个数据,能否使用下面的语句来实现。x=InputBox(“输入10个数据”)5. 能否使用文本框和InputBox函数直接输入逻辑数据、日期数据?二、程序阅读1. 下面程序执行的结果是_。Private Sub command1_Click() A = 3: B = 2: C = 1 A = B B = C C = A Print A=; A; B=; B; C=; CEnd Sub2. 下面程序执行的结果是_。Private Sub Form_Click() A$ = 456: B$ = 789 C = Val(A$) + Val(B$) Print C 100End Sub3. 下面程序运行后输出结果是_。Private Sub Form_Click() X$ = A: Y$ = B: Z$ = CX$ = Y$ & X$ : Y$ = Y$ & Z$: Z$ = X$ & Z$ & Y$ Print X$ + Y$ + Z$End Sub4. 下列程序段的执行结果为 ()。Private Sub Form_Click() X=1:Y=2Z=X=YPrint X;Y;ZEnd Sub三、选择题1. Inputbox函数的参数中,必选参数的作用是( )。A输出信息 B定义提示信息C定义隐含信息 D定义输入的位置2. 假设变量B是一个布尔型变量,则下面正确的赋值语句是( )。AB=T BB=”True”CB=#True# DB=3Z And X+ZY And Y+ZXB X+YZ Or X+ZY Or Y+ZXC Not(X+YZ Or X+ZY Or Y+Z=Z Or X+Z=Y Or Y+Z=X第三章一、思考题 略二、程序阅读题1 A=2 B=1 C=22 123 BABCBACBC4 1 2 False三、选择题1.B 2.D 3.A 4.C 5.A 6.A 7.A 第四章一、 判断题1.错 2.错 3.错 4.错 5.对二、 选择题1A 2. D 3.A 4.B 5.A 6.A三、 程序阅读题1x=0 y=72.w=4w=13w=135w=313.s=1s=2s=5s=20四、 程序填空题1(1) max (2)min (3)cmax (4)cmin2.(1) x mod 3=2 and x mod 5=3 and x mod 7=4 then(2) text1.setfocus 五、1.Private Sub Command1_Click() Dim y As Integer y = Val(InputBox(y=) If (y Mod 4 = 0 And y Mod 100 0) Or (y Mod 400 = 0) Then Print 是闰年 Else Print 不是闰年 End IfEnd Sub2.Private Sub Command1_Click() Dim a%, b%, c%, x!,s! a = Val(InputBox(a=) b = Val(InputBox(b=) c = Val(InputBox(c=) If a + b c And a + c b And b + c a Then x = (a + b + c) / 2 s = Sqr(x * (x - a) * (x - b) * (x - c) Print s=; s Else Print 不是三角形,重输a,b,c End IfEnd Sub3.Private Sub Command1_Click() Dim x!, y! x = Val(InputBox(x=) If x 0 And x -3 Theny = x * x + x 6 elseIf 0 = x And x 10 And x 2 And x 3 Theny = x *sin(x) +2 x else y=sqr(x+5)+log(x+4)/log(10) End If Print x=; x, f(x)=; yEnd Sub4Private sub form_click() Dim y%,z%,dj%,p!,t! y:月 Z: 订票数 dj: 票价 t:总票价 Y=val(inputbox(“月”) Z= val(inputbox(“订票数”) Dj= val(inputbox(“票价”) Select case ycase 7,8,9 If z=20 then p=0.15 else p=0.05 case 1 to 5,10,11If z20 then p=0.3 else p=0.2 Case elseP=0.2 End select T=z*dj*p ? tend sub5.private sub form_click() dim m1%,m2%,m3%,dj$ m1=val(inputbox(“m1=”): m2=val(inputbox(“m2=”): m3=val(inputbox(“m3=”) if (m1+m2+m3)/3=95 or ( a=100 and b=100 and c=80) or ( a=100 and c=100 and b=80) or ( c=100 and b=100 and a=80) then dj=”一等” elseif (m1+m2+m3)/3=90 or ( a=100 and b=75 and c=75) or ( b=100 and a=75 and c=75) or ( c=100 and b=75 and a=75) thendj=”二等” elseif a=75 and b=75 and c=75 thendj=”三等” elsedj=”没有” endif ? “dj=”;djend sub第五章 习题与思考题和答案一、判断题1要实现同样的循环控制,在Do While-Loop和Do-Loop While循环结构中给定的循环条件是一样的。2Do-Loop While语句实现循环时,不管条件真假,首先无条件地执行一次循环。3Do-Loop Until语句实现循环时,只要条件是假,循环将一直进行下去。4一个Do循环只能使用一个Loop关键字,但是可以使用多个Exit语句。5For循环语句正常结束(即不是通过Exit For语句或强制中断)其循环控制变量的值一定大于“终值”,并等于“终值”+“步长”。6如果有多重Do循环嵌套,位于最里层循环体语句中的Exit Do语句可以退出所有的循环。7For-Next循环结构的默认步长为1。8Do-Loop语句是循环结构的一种特殊形式,如果循环体中没有Exit Do语句,程序运行就一定会进入死循环。二、选择题1循环结构 For i!=1 to 10 step 1.5 共执行几次 。A6B7C9D10 2下列循环正常结束的是 。Ai=0 Bi=0 Do Do While i0 i=i-1 i=i-1 Loop While i0 Loop Ci=10 Di=6 Do Do i=i+1 i=i-2 Loop Until i0 Loop Until i=13下列哪组语句可以将变量A、B值互换 。AA=B : B=A BA=A+B : B=A B: A=A BCA=C : C=B : B=A DA=(A+B)/2 : B=(A B)/24下段程序执行的输出结果是 。S=0:T=0:U=0For i=1 To 3 For j=1 To i For K=j To 3 S=S+1 Next K T=T+1 Next j U=U+1Next iPrint S;T;UA3 6 14B14 6 3C14 3 6D16 4 35下程序段循环结构执行后,输出i的值是:A25 B10C11 D因为y的初值不知道,所以不确定For i=1 to 10 step 2 y=y+iNext iPrint i;6下列程序段的循环结构执行过程中共循环了 次。For i% = 1 To 10 Step 2 y = y + iNext iA3B4C5D67以下程序循环的执行次数是 。 a=0 Do while a=10 a=a+2 loop A4 B5C6D7三、填空题1. 由下列循环语句控制的循环次数是 。For k=25 to 0 step-2k=k-2Next k2. 循环结构的三种语句是: 、 、 。3. 写出For i= -12 To 33 Step 4 所进行的循环后,i的值是 。四、程序阅读题1写出以下程序在单击窗体后的输出结果。 Private Sub Form_click() mun=4 while mun=3 mun=mun+1 Print mun Wend Print mun End Sub2程序运行时单击 Command1后,输入12345678,写出窗体上的输出结果。Private Sub Command1_Click() Dim x As Long, y As String x = InputBox(输入一个数) Do While x 0 y = y & x Mod 10 y = x Mod 10 & y x = x 100 Print y LoopEnd Sub3写出程序运行后,单击窗体Form1上显示的内容。Private Sub Form_Click() Dim i As Integer, j As Integer, y As Double i = 0 y = 1 Do While i = 3 For j = 1 To (i + 1) y = y * j Next j Print y=; y i = i + 1 LoopEnd Sub4. 写出以下程序在单击窗体后的输出结果。 Private Sub Form_click() Dim k,a,b as integer a=20 b=2 k=2 Do While k=a b=b*2 k=k+5 Loop Print b End Sub5. 写出以下程序在单击命令按钮后的输出结果。 Private Sub Form_click() k=0 for i=1 to 5 for j=1 to 3 if j mod 20 then k=k+1 end if k=k+1 next j next i Print k End Sub6Private Sub Form_Click() Dim i As Integer, j As Integer Dim star As String star = # For i = 1 To 6 For j = i To 6 Form1.Print star; Next j Form1.Print Next iEnd Sub写出程序运行后,单击窗体后,Form1上输出结果为。五、程序填空题1. 下面程序的功能是:计算f=11/(2*3)+1/(3*4)1/(4*5)+1/(19*20)。Private Sub Form_Click() Dim f As Single, i As Integer, sign As Integer f = 1 f = f + sign / (i * (i + 1) Next i Print f=; fEnd Sub2下面的程序是在一个字符串变量中查找at,并用消息框给出查找结果的报告:没有找到或找到的个数,程序如下:Private Sub Form_Click() Dim str1 As String 在字符串str1中查找at Dim length As Integer 字符串长度 Dim sum As Integer 查到的个数 Dim i As Integer str1 = InputBox(请输入一个字符串) length = i = 1 sum = 0 Do While i amax then amax=x end ifif then amin=x end ifx=inputbox(“enter a score”) loop print “max=”;amax;”min=”;amin End Sub5现面的程序功能是:求Fabonia数列的第17个数是多少?第几个数起每个数都超过1E+8?Public Sub Form_Click() Fabonia数列的前三个数是0,1,2,从第四个数起,每个数都是它前面的两个数之和 Dim last_one As Long,last_two As Long,this_one As Long,i As Integer last_one = 1 数列的第二个数 last_two = 2 数列的第三个数 i = 4 从数列的第四个数求起 Do this_one = last_one + last_two If i = 17 Then Print No:17=; this_one End If Loop While this_one 1E+8End Sub6以下程序是验证100至200之间的所有偶数都能分解为两个素数之和。Private Sub Form_click()Dim n As Integer,m As IntegerDim i As Integer,j As IntegerFor n=100 to 200 Step 2For m=2 To (n/2)For i=2 To Int(Sqr(m)If m Mod i=0 Then Exit ForNext iIf ThenFor j=2 To If(n-m) Mod j=0 Then Exit ForNext jIf jInt (Sqr(n-m) Then Print n,m,n-mEnd If Next mNext nEnd Sub六编程题(1)编程序计算:1!+3!+5!+.+11!(2)输入两个正整数m和n,求其最大公约数a和最小公倍数b,计算最大公约数a的方法如下:先算出m/n 余数r,若r等于0,则n为最大公约数;若r不为0,则把原来的n值作为新的m值,把原来的r值作为新的n值,继续运算。这样辗转相除,直到r为0,此时的n值为最大公约数a,最小公倍数则可用原始m与n值的积除以最大公约数求得。(3)打印由数字组成的如下所示金字塔图案 1 222 33333 4444444 555555555 6666666 77777 888 9(4)试编程序解决百钱买百鸡问题。公元前5世纪,我国数学家张丘建在算经中提出“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?(5)编程序求表达式 s=1+x+x2/2!+x3/3!+xn/n!+的值和直至末项小于10-5为止,并在窗体上输出。答案一判断题二选择题BBBDCCC三.填空题(1)7(2)Do/Loop For/Next While/Wend(3)-36四.程序阅读题1、 488688646886424688522、 3、y=1 y=2 y=12 y=2884、325、25# # # # # # # # # # # # # # # #6、五程序填空题1.sign=1 For i=2 to 19 (3)sign=-sign2.Len(str1) length Mid(str1,i,2) Sum=03.i mod 7=5 and i Mod 5 = 3 And i Mod 3=2 i=0 (2)xint(sqr(m) Int(Sqr(n-m)六编程题(1)Private Sub Form_Click() Dim i As Integer, j As Integer Dim s As Double, Sum As Double s = 1 Sum = 0 For i = 1 To 11 Step 2 For j = 1 To i s = s * j Next j Sum = Sum + s Next i Print SumEnd Sub(2)Private Sub Form_Click() Dim m%, n%, mn%, r%, t% m = Val(InputBox(m=) n = Val(InputBox(n=) If n = 0 Or m = 0 Then MsgBox 数据有误 End End If mn = m * n If m n Then t = m: m = n: n = t End If Do While (n 0) r = m Mod n: m = n: n = r Loop Form1.Print 最大公约数=; m Form1.Print 最小公倍数=; mn / mEnd Sub(3)Private Sub Form_Click() Dim i%, j% For i = 1 To 5 Print Spc(20 - i); For j = 1 To 2 * i - 1 Print Trim(Str(i); Next j Print Next i For i = 4 To 1 Step -1 Print Spc(20 - i); For j = 1 To 2 * i - 1 Print Trim(Str(10 - i); Next j Print Next iEnd Sub(4)Private Sub Form_Click() Dim x As Integer Dim y As Integer Dim z As Integer For x = 0 To 100 For y = 0 To 100 - x z = 100 - x - y If 5 * x + 3 * y + z / 3 = 100 Then Print x, y, z Next y Next xEnd Sub(5)Private Sub Form_Click() Dim x As Single, y As Single, a As Single, i As Integer x = Val(InputBox(输入x:) a = 1: y = a: i = 0 While a = 0.00001 i = i + 1: a = a * x / i: y = y + a Wend Print y=; yEnd Sub第六章一、判断题1数组中所有元素的数据类型不一定相同。2可以在程序中使用ReDim语句来改变动态数组的大小、维数和类型。3数组的下界一定是0。4定义数组时,其下界只能为正整数。5可以在通用的声明部分使用Option Base -1语句把数组下标下界的默认值设为-1。6在VB中,用Dim定义数组时,数组元素将自动赋初值为0。二、选择题1定义数组A(1 To 5,5)后,下列哪一个数组元素不存在 。AA(1,1)BA(1,0)CA(0,1)D(5,5)2在过程中定义Dim A(1 To 10,3 )As Single,则数组占用 字节的内存空间。A132B80C160D1203下列关于数组的说法正确的是 。A在VB中,一个数组中所包含的元素只能是相同类型的数据B在VB中,数组只能在模块中定义,不能在过程中定义模块C同普通变量一样,数组也可以不定义,先使用D在定义数组时,数组的每一维元素的个数必须是常数,不能是变量或表达式4使用语句Dim A() As Integer声明数组A之后,以下说法正确的是 。AA数组中的所有元素值为0BA数组中的所有元素值不确定CA数组中的所有元素值为EmptyD再执行语句ReDim A(1 to 10) As Integer后,A数组中的所有元素值不为05已知数组b中的5个元素分别是1,3,5,7,9,现将数组b中的5个数逆序存放(即排列为9,7,5,3,1)。为实现此功能,正确的程序段应该是: 。 AFor i = 0 To 5-12: temp = b(i): b(i) = b(5 - i - 1): b(5 - i - 1) = temp: Next i BFor i = 0 To 5: temp = b(i): b(i) = b(5 - i - 1): b(5 - i - 1) = temp: Next i CFor i =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论