《计算机程序设计基础》课后练习题参考答案.docx
《《计算机程序设计基础》课后练习题参考答案.docx》由会员分享,可在线阅读,更多相关《《计算机程序设计基础》课后练习题参考答案.docx(30页珍藏版)》请在冰豆网上搜索。
《计算机程序设计基础》课后练习题参考答案
《计算机程序设计基础》课后练习题参考答案
《计算机程序设计基础》课后练习题1
一.判断题
(1)(错)事件过程由某个用户事件或系统事件触发执行,但不能被其他过程调用。
(2)(错)若X=2,Y=5,则表达式Y-2>X ANDX+2>Y的结果为:
True。
(3)(错)常量是指在程序运行过程中其值可以改变的那些量。
(4)(错,timer没有)VB工具箱中的所有控件都具有宽度(Width)和高度(Height)属性。
(5)(错)定义变量:
Dimmax,minasSingle,则max和min的数据类型均为Single。
(6)(对)如果创建的菜单项的标题是一个减号“-”,则该菜单项显示为一条分隔线。
(7)(错)标准模块文件的扩展名是“*.VBP”。
(8)(错,都不能)定时器控件可以响应Click事件,但不能响应DbClick事件。
(9)(错)在默认情况下,数组下标下界的缺省值为1。
(10)
(11)A)leftB)scaleleftC)scaletopD)scalewidth
(12)执行下列语句后,列表框中各表项顺序为D
List1.Clear
Fori=1to4:
List1.AddItemi-1,0:
Nexti
A)B)C)D)
(13)输入对话框InputBox的返回值的类型是A。
A)字符串B)整数C)浮点数D)长整数
(14)将焦点主动设置到指定的控件或窗体上,应采用B方法。
A)SetDateB)SetFocusC)SetTextD)GetData
(15)有如下程序段:
DimIAsInteger,SAsInteger
S=1
FORI=1TO8STEP2
S=S*I
NEXTI
PRINT“S=“;S
运行结果为B
A)S=9B)S=105C)S=1D)S=16
(16)利用以下___D____语句,可以输出日期和时间信息。
A)PrintDateB)PrintMonthC)PrintTimeD)PrintNow
(17)一只漂亮的酒杯被摔碎了,则漂亮,酒杯,摔是___D____。
A)对象,属性,事件B)对象,属性,方法
C)属性,对象,方法D)属性,对象,事件
(18)将通用对话框以“打开文件对话框”方式打开,则选以下 A 方法。
A)ShowOpenB)ShowColorC)ShowSaveD)ShowFont
(19)执行语句“Line(100,100)-(150,200),vbBlue,B”,在窗体上绘制出一个矩形,那么该矩形的面积=A。
A)5000B)10000C)15000D)20000
(20)如何使一个标签或按钮控件在运行时不可用___C____。
A)把它的Visible属性设置成FalseB)把它的Visible属性设置成True
C)把它的Enabled属性设置成FalseD)把它的Enabled属性设置成True
(21)下列C表达式的结果为"1234556789"。
A)Trim("12345"+"56789")B)Ltrim("12345")+Rtrim("56789")
C)Rtrim("12345")&("56789")D)Ltrim("12345")&Rtrim("56789")
(22)将图形框(PictureBox)控件的AutoSize属性设置为True后,则对于图形框而言,____B____。
A)图形框中的图片自动改变大小适应图形框
B)图形框自动改变大小适应其中的图形
C)如果图片的大小比图形框大,则图形框自动裁剪图象以适应图形框的大小。
D)如果图片的大小比图形框小,则图形框大小不发生变化。
(23)要获得当前驱动器应使用驱动器列表框的哪个属性B。
A)Path B)Drive C)Dir D)Pattern
(24)以下关于函数过程的叙述中,正确的是____A____。
A)函数过程形参的类型与函数返回值的类型没有关系
B)在函数过程中,过程的返回值可以有多个
C)数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递
D)如果不指明函数过程参数的类型,则该参数没有数据类型
(25)单击滚动条的滚动箭头时,产生的事件是___C____。
A)ClickB)ScrollC)ChangeD)Move
(26)以下能返回文件长度的函数是__B___。
A)BOFB)LOFC)LEND)EOF
二.程序填空题
【程序填空1】在C盘当前文件夹下已存在名为Data.txt的文件,利用文本框(Text1)输入若干英文单词。
要求每输入一个单词后,按下回车键将文本框中的单词写入文件,然后清除文本框的内容以便输入下一个单词。
当在文本框中输入的单词是“END”时,则表示结束输入(对于单词“END”不论大小写都视为结束),最后将文件关闭。
PrivateSubForm_Load()
(31)A
Text1.Text=""
EndSub
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
If(32)D="END"Then
Close#
End
Else
(33)A(注意,Text1的默认属性为text,可省略不写)
Text1.Text=""
EndIf
EndIf
EndSub
(27)A)Open"C:
\Data.txt"ForOutputAs#1
B)Open"C:
\Data.txt"ForInput#1
C)Open"C:
\Data.txt"InputAs#1
D)Open"C:
\Data.txt"OutputAs#1
(28)A)LCase(Text1.Text)B)Text1.Text
C)Str(Text1)D)UCase(Text1.Text)
(29)A)Write#1,Text1B)Write#1,Text
C)Write#3,Text1.TextD)Write#1,Text.Text
【程序填空2】程序运行后如下图所示,Label1的Caption显示为"字体定时变大",影响字体大小的属性每隔0.5秒增加1,数值在[8,72]之间变化。
OptionExplicit
PrivateSubForm_Load()
Timer1.Enabled=True
(34)B
Label1.Caption="字体定时变大"
EndSub
PrivateSubTimer1_Timer()
StaticiAsInteger
Ifi<7Ori>=72Theni=7
i=i+1
(35)A
EndSub
(30)A)Timer1.Interval=5/10B)Timer1.Interval=500
C)Timer1.Interval=TrueD)Timer1.Interval=False
(31)A)Label1.FontSize=iB)Label1.Font=i
C)Label1.Size=iD)Label1.FontSize=i+1
【程序填空3】已知五个数存放在数组中,用冒泡法对该数组进行递减排序(冒泡法:
一旦发现数组中两个数逆序马上交换这两个数)。
PrivateSubCommand1_Click()
Dima(1To5)AsInteger
Dimn%,i%,j%,t%
a
(1)=53:
a
(2)=34:
a(3)=45:
a(4)=89:
a(5)=23
Fori=1To4(确保第i轮循环后,a(i)位置上存放第i大的数)
Forj=5Toi+1Step-1
If(36)BThen
t=a(j)
(37)D
a(j-1)=t
EndIf
Nextj
Nexti
Fori=1To5
Printa(i);
Nexti
EndSub
(32)A)a(j)a(j-1)
C)a(i)>a(j)D)a(j)>a(i)
(33)A)a(i)=a(j)B)a(j-1)=a(j)C)a(j)=a(i)D)a(j)=a(j-1)
【程序填空4】在窗体上画一个名称为Combol的组合框,画两个名称分别Label1和Label2及Caption属性分别为“城市名称”和空白的标签。
程序运行后(如下图所示),当在组合框中输入一个新的项目按回车键时(回车键的ASCII码为13),如果输入的项在组合框的列表中不存在,则自动添加到组合框的列表中,并在Label2中给出提示“已成功添加输入项;如果存在,则在Label2中给出提示“输入项已在组合框中”。
PrivateSubCombo1_KeyPress(KeyAsciiAsInteger)
If_(38)BThen
Fori=0ToCombo1.ListCount-1
IfCombo1.Text=_(39)BThen
Label2.Caption="输入项已在组合框中"
ExitSub
EndIf
Nexti
Label2.Caption="已成功添加输入项"
Combo1._(40)CCombo1.Text
EndIf
EndSub
(34)A)KeyAscii=0B)KeyAscii=13C)KeyAscii=8D)KeyAscii=9
(35)A)Combo1.ListIndexB)Combo1.List(i)C)Combo1.AddItem(i)D)Combo1.Clear
(36)A)SelectedB)RemoveItemC)AddItemD)ListIndex
三.程序阅读题
【程序阅读1】根据以下代码,单击窗体三次,那么第一次单击后输出的a、b、c的值为_____(41)_C__,第二次单击后输出的a、b、c的值为_____(42)__D_,第三次单击后输出的a、b、c的值为_____(43)_A_。
Privatea%,b%,c%
PrivateSubForm_Click()
DimaAsInteger
c=2
CallAA(c)
b=BB(a)
Printa,b,c
EndSub
PublicSubAA(c%)
a=c+b
c=a+c
EndSub
PublicFunctionBB(ByValb%)
b=b+1
BB=a+b
EndFunction
(37)A)254B)234C)034D)032
(38)A)7129B)7159C)062D)067
(39)A)0910B)092C)171935D)102732
【程序阅读2】阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。
PrivateSubForm_Click()
Form1.Scale(-10,10)-(10,-10)
Form1.Circle(0,0),5,,-3*3.14/2,-3.14
Form1.FillStyle=0
EndSub
(44)运行以上程序,第一次单击窗体后,Form1上的输出结果是(44)A,
A)B)C)D)
(45)第二次单击窗体后,Form1上的输出结果是(45)B。
A)B)C)D)
【程序阅读3】阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。
(↙:
表示回车)
PrivateSubForm_Load()
Text1.Text="":
Form1.Cls
EndSub
PrivateSubText1_KeyPress(kAsInteger)
StaticsAsInteger
If(Chr(k)<"0"OrChr(k)>"9")Andk<>13Thenk=0
Ifk=13Thens=s+Val(Text1.Text):
Text1.Text="":
Prints;
EndSub
(46)写出运行时在Text1中依次按“1↙3↙5↙”输入后窗体上的显示结果_(46)_A__。
A)149B)9C)135D)5
(47)写出运行时在Text1中依次按“1↙-3↙5↙”输入后窗体上的显示结果_(47)_B___。
A)1-23B)149C)1-35D)3
(48)写出运行时在Text1中依次按“1↙2a↙5↙”输入后窗体上的显示结果_(48)D__。
A)14348B)125C)5D)138
【程序阅读4】
PrivateSubForm_click()
DimxAsSingle
x=Val(InputBox("输入x"))
SelectCasex\2
Case1
Print"y=";x
Case2
Print"y=";xMod2
Case3
Print"y=";xMod3
CaseElse
Print"y=";x\2
EndSelect
EndSub
(49)当x的输入值为5时的运行结果为(49)C
A)y=5B)y=2.5C)y=1D)y=0
(50)当x的输入值为5.5时的运行结果为(50)D
A)y=5B)y=2.5C)y=1D)y=0
(51)当x的输入值为-7时的运行结果为(51)B
A)y=-7B)y=-3C)y=1D)y=3.5
【程序阅读5】设text1.text为“abcdef”,运行时连续单击2次控件Hscroll1右侧箭头后,组合框控件中的第一项为_(52)A_、第二项___(53)A_。
PrivateSubForm_Load()
HScroll1.SmallChange=1:
HScroll1.Max=5
HScroll1.Min=1:
HScroll1.Value=1
Combo1.Clear
EndSub
PrivateSubHScroll1_Change()
Combo1.AddItemLeft(Text1.Text,HScroll1.Value),0
EndSub
(52)A)abcB)abcdC)abD)abcde
(53)A)abB)abcdeC)abcD)abcd
【程序阅读6】阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。
PrivateSubf(sAsString)(解释:
根据代码推测功能是:
将字符串s等分为两部分,并交换前半部与后半部的位置,如“abcde”,交换后得“decab”)
DimiAsInteger,nAsInteger,cAsString
n=Len(s)
IfnMod2=1Thenc=Mid(s,n\2+1,1)
Fori=1ToLen(s)\2
c=Mid(s,Len(s)+1-i,1)+c+Mid(s,i,1)
Nexti
s=c
EndSub
PrivateSubCommand1_Click()
DimxAsString
x=InputBox("x=")
Callf(x)
Printx
EndSub
(54)单击Command1后输入"abc",窗体上显示结果为(54)A:
A)cbaB)bcaC)abcD)acb
(55)如果将Sub过程f首句改为PrivateSubf(ByvalsAsString),单击Command1后
输入"abcd",窗体上显示结果为:
(55)C
A)abdcB)cdabC)abcdD)bcad
《计算机程序设计基础》课后练习题2
一、判断题
1.(错)任何控件都有一个Caption属性。
2.(对)对于事件驱动型应用程序,每次运行时的执行顺序可以不一样。
3.(错)用以下语句定义:
Dimmax,minasSingle,则max和min的数据类型均为Single。
4.(对)通用对话框不能真正实现文件打开、文件存储、设置颜色、字体设置、打印等操作,如果想要实现这些功能则需要编程实现。
5.(对)用Scale方法改变了窗体坐标系后,窗体的Left、Top属性值不变。
6.(对)在某列表框中一共有5个选项,而当选中第三项时,这时列表框的ListIndex属性为2。
7.(错,标准模块文件格式为.bas)VB中工程文件是指与该工程有关的全部文件和对象,其扩展名是.vbp;窗体文件包括窗体及其控件的正文描述,其扩展名是.frm;标准模块文件是可选的,其扩展名是.cls。
。
8.(错,Clear方法)用Cls方法可以清除组合框中的所有表项。
9.Frame控件可以作为其他控件的容器。
10.(错)VisualBasic工具箱中的所有控件都具有宽度(Width)和高度(Height)属性。
二、单选题
11.P的值为-3时,-P^2的值是___B_____。
A、9B、–9C、6D、-6
12.以下程序段的执行结果为_____A_______。
A=0:
B=1
Do
A=A+B
B=B+1
LoopWhileA<10
PrintA;B
A、105B、ABC、01D、1030
13.设置列表框中列表数量的属性是__B____。
A、List B、ListCount C、ListIndex D、Columns
14.要获得当前驱动器应使用驱动器列表框的哪个属性__B__。
A、Path B、Drive C、Dir D、Pattern
15.以下Case语句中错误的是___C_____。
A、Case0To10B、CaseIs>10
C、CaseIs>10AndIs<50D、Case3,5,7,Is>10
16.执行语句s=Len(Mid("VisualBasic",0,5))后,s的值是___D_____。
A、VisualB、BasicC、6D、表达式有错
17.以下关于函数过程的叙述中,正确的是___A_____。
A、函数过程形参的类型与函数返回值的类型没有关系
B、在函数过程中,过程的返回值可以有多个
C、当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递
D、如果不指明函数过程参数的类型,则该参数没有数据类型
18.在窗体上画一个名称为TxtA的文本框,然后编写如下的事件过程:
PrivateSubTxtA_KeyPress(keyasciiasinteger)
…………
EndSub
若焦点位于文本框中,则能够触发KeyPress事件的操作是____D____。
A、单击鼠标B、按下键盘上的“A”键
C、鼠标滑过文本框D、按下键盘上的任意键
19.执行行下面的事件过程,在窗体显示的内容是___B_____。
PrivateSubCommand1_Click()
DimaAsVariant
a=Array(12,23,34,45,56)
Fori=1To3
PrintTrim(a(i));
NextI
EndSub
A、122334B、233445C、122334D、233445
20.将图形框(PictureBox)控件的AutoSize属性设置为True后,则对于图形框而言,____B____。
A、图形框中的图片自动改变大小适应图形框
B、图形框自动改变大小适应其中的图形
C、如果图片的大小比图形框大,则图形框自动裁剪图象以适应图形框的大小。
D、如果图片的大小比图形框小,则图形框大小不发生变化。
21.在图形框控件picture1上坐标(100,100)和(500,500)之间画一条红色直线,写作__C__。
A、Line(100,100)-(500,500)vbRed
B、Line(100,100)-(500,500)RGB(0,255,0)
C、picture1.Line(100,100)-(500,500)RGB(255,0,0)
D、picture1.Line(100,100)-(500,500)Red
22.下列赋值语句中,___C_____是错误的。
A、x=x+1B、x=x+yC、x+y=xD、x=4>6
23.单击滚动条的滚动箭头时,产生的事件是____C______。
A、ClickB、ScrollC、ChangeD、Move
24.在程序运行期间可以用____D______函数把图形装入窗体、图片或图象框。
A、AutosizeB、StretchC、PictureD、LoadPicture
25.在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
PrivateSubCommand1_Click()
DimnumAsInteger
num=1
DoUntilnum>6
Printnum;
num=num+2.4
Loop
EndSub
程序运行后,单击命令按钮,则窗体上显示的内容是____B______。
A、13.45.8 B、135 C、147 D、无数据输出
26.___C____对象具有Clear方法。
A、窗体B、复选框C、列表框D、图片框
27.设a=16,b=7,c=1,则表达式a\3+2=bAndc=91Mod3的结果_____A_____。
A、True B、F