vb大一期末考试试题vb11.docx
《vb大一期末考试试题vb11.docx》由会员分享,可在线阅读,更多相关《vb大一期末考试试题vb11.docx(14页珍藏版)》请在冰点文库上搜索。
vb大一期末考试试题vb11
一、单项选择题(共10分)
1.在代码中引用一个控件时,应使用控件的()属性。
A.CaptionB.NameC.TextD.Index
2.设变量x=4,y=-1,a=7,b=-8,下面表达式()的值为“假”。
A.x+a<=b-yB.x>0ANDy<0
C.a=bORx>yD.x+y>a+bANDNOT(y
3.表达式Int(Rnd*71)+10产生的随机整数范围是()。
A.(10,80)B.(10,81)C.[10,80]D.[10,81]
4.函数Sgn(3.1416)的返回值是()。
A.-1B.0C.1D.以上都不对
5.67890属于()类型数据。
A.整型B.单精度浮点数C.货币型D.长整型
6.下列变量名中正确的是()。
A.3SB.PrintC.SelectMyNameD.Select_1
7.下列赋值语句()是有效的。
A.sum=sum-sumB.x+2=x+2C.x+y=sumD.last=y/0
8.以下的控件或方法具有输入和输出双重功能的为()。
A.PrintB.TextboxC.OptionbuttonD.Checkbox
9.若要获得列表框中被选中的列表项的内容,可以通过访问()属性来实现。
A.NameB.ListIndexC.ListCountD.Text
10.下列代码的运行结果为()。
PrivateSubcommand1_click()
Dimm(10)
Fork=1To10
m(k)=11-k
Nextk
x=5
Printm(2+m(x))
EndSub
A.2B.3C.4D.5
二、填空题(10分)
1.写出整数n能同时被13和17整除的Basic表达式。
2.代码窗口中有两个下拉列表框:
左侧是列表框,右侧是过程列表框。
3.写出在字符串”VisualBasic6.0”中截取”Visual”的Basic表达式。
4.函数Len(“abcdef”)的返回值是。
5.设a=2,b=5,c=-2,d=100,则a>b>=cANDa=d的值为。
6.要使标签的大小自动与所显示的文本相适应,可以通过设置属性为True来实现。
7.若要在一行书写多条语句,则各语句间应加分隔符,VisualBasic的语句分隔符为。
8.要强制显式声明变量,使用__________语句完成。
9.在VB中,用户定义常量使用语句,声明变量使用语句。
三、将下列数学表达式转换为VB表达式。
(6分)
1.a2+2ab+b2__________________________
2.__________________________
3.8exln10__________________________
4.2sin(450)cos(450)_______________________________
5.___________________________________________
6.___________________________________________
四、判断题,正确打“√”,错误打“×”(10分)
1.在VB中,控件的事件只能通过用户的操作触发。
()
2.字符型数据以双引号作为定界符,输出时双引号本身不会显示在屏幕上。
()
3.保存工程时,窗体文件和工程文件的文件名不能相同。
()
4.改变控件的大小,可以使用鼠标和键盘,还可以通过修改代码。
()
5.同一过程中,数组和简单变量可以同名。
()
6.VB函数中的参数可以是常量、变量、表达式,还可以是另一个函数。
()
7.代码ConstNumber1=15:
Number1=10合法。
()
8.允许将块If-Then语句结构中的所有语句都写在一行上()
9.定义数组语句Dima(b)AsInteger是正确的()
10.在过程调用中,“实参表”和“形参表”中对应的变量名不必相同,但是变量的个数必须相等,而且实际参数的类型必须与相应形式参数的类型相符。
()
五、根据题意,将下列程序补充完整。
(16分)
1.产生20个[10,100]之间的随机整数,每行输出10个数据。
PrivateSubcommand1_click()
Dima(1To20)AsInteger
Randomize
i=0
DoWhilei<20
i=i+1
a(i)=()
If()Then
Printa(i);
EndIf
Ifi=10ThenPrinta(i)
Ifi>10ThenPrinta(i);
Loop
EndSub
2.打印九九乘法表
PrivateSubcommand1_click()
Fori=1To9
Forj=1To9
Print()
Nextj
Print
()
EndSub
3.判断一个数是否素数
PrivateSubcommand1_click()
x=InputBox("请输入一个整数")
flag=1
Fori=2To()
IfxModi=0Then
flag=0
EndIf
Nexti
If()ThenPrintx;"是素数"ElsePrintx;"不是素数"
EndSub
4.利用数组输出Fibonacci数列的前15项。
该数列的第1项和第2项为1,其余各项均为其前两项之和。
PrivateSubCommand1_Click()
()
f
(1)=1:
f
(2)=1
List1.AddItemf
(1):
List1.AddItemf
(2)
Fori=3To15
f(i)=()
List1.AddItemf(i)
Nexti
EndSub
六、写出下面程序的输出结果。
(每题3分,共18分)
1.PrivateSubcommand1_click()
x=InputBox("enterx")'x的输入值为-8
SelectCaseSgn(x)+2
Case1
Print"y=";x^2+1
Case2
Print"y=";x-4
Case3
Print"y=";x^3+100
EndSelect
EndSub
2.PrivateSubcommand1_click()
Dima,b,c,d,eAsString
a="ZhengZhou"
b="ZhongYuanGongXueYuan"
c=a+""+b
d=Left(a,1)+Mid(a,7,1)
e=Left(b,1)+Mid(b,12,1)
Printc
Printd;e
EndSub
3.设有Sub过程:
PrivateSubp1(xAsInteger,ByValyAsInteger)
x=4:
y=5:
z=6
EndSub
则如下程序段的运行结果是:
PrivateSubCommand1_Click()
DimxAsInteger,yAsInteger
x=1:
y=2:
z=3
Printx,y,z
Callp1(x,y)
Printx,y,z
EndSub
4.PrivateSubcommand1_click()
k=0
Fori=1To3
k=k+1
a=i*i*k
Printa;
Nexti
EndSub
5.PrivateSubcommand1_click()
Dima(5,5)AsInteger
Fori=1To5
Forj=1To5
a(i,j)=i*2+j
Printa(i,j);
Nextj
Print
Nexti
EndSub
6.设有Function过程:
PrivateFunctionf1(b,a)
a=a*a:
b=b*b
f1=a-b
EndFunction
则如下程序段的运行结果是什么?
PrivateSubcommand1_click()
a=4:
b=3
a=f1(a,b)
Printa
EndSub
七.编程题(共30分)
注意:
艺术类学生(环艺、装潢、表演、服设)做第1、2、5、6小题;
其他学生做第1、2、3、4小题。
1.给出一个百分制的成绩,要求输出成绩的相应等级。
(7分)
90分以上为“A”,80~89分为“B”,70~79分为“C”,60~69分为“D”,60分以下为“E”。
2.求n!
n由键盘输入。
(7分)
3.产生20个[0,99]之间的随机整数,并按从小到大的顺序输出。
(8分)
4.产生并输出一个6×6的二维数组A:
(8分)
(1)两条对角线上元素的值为1,其余元素为小于30的随机整数。
(2)计算各行元素的平均值,输出平均值最大和平均值最小的行号。
5.输出1+2+……+100的和,并求出1~100之间能被17整除的数据的个数(8分)
6.从键盘输入10个数,求出其中的最大数,最小数和平均值。
(8分)
VB试题答案及评分标准
一、单项选择题(每题1分,共10分)
1.B2.A3.C4.C5.D
6.D7.A8.B9.D10.B
二、填空题(每空1分,共10分)
1.nMod13=0AndnMod17=0
1、对象
3.LEFT(“VisualBasic6.0”,6)
4.6
5.False
6.Autosize
7.:
8.OptionExplict9.ConstDim
三、将下列数学表达式转换成VB表达式(每题1分,共6分)
1、a^2+2*a*b+b^2
2、x^(1/3)*y^(1/4)
3、8*exp(x)*log(10)
4、2*sin(3.1416/4)*cos(3.1416/4)
5、(x+y+z)/sqr(x^2+y^2+z^2)
6、log(1+abs((a+b)/(a-b)))
四、判断题(每题1分,共10分)
1.×2.√3.×4.√5.×
6.√7.×8.×9.×10.√
五、根据题意,将下列程序补充完整(每空1分,共10分)
1.
(1)int(rnd*91)+10
(2)I<10
2.
(1)i*j
(2)nexti
3.
(1)int(sqr(x))或者x-1
(2)flag=1
4.
(1)dimf(15)asinteger
(2)f(I-1)+f(I-2)
六、写出下面程序的输出结果(每题4分,共24分)
1、y=65
2、ZhengZhouZhongYuanGongXueYuan2分
ZZZG2分
3.123
423
4.1827
5.34567
56789
7891011
910111213
1112131415
6.-7
七、编写程序
1.privatesubcommand1_click()
dimxasinteger,gradeasstring1分
x=text1.text1分
selectcasex4分
case90to100
grade=”A”
case80to89
grade=”B”
case70to79
grade=”C”
case60to69
grade=”D”
caseis<60
grade=”E”
caseelse
msgbox“请重新输入”
endselect
print“该学生成绩为”+grade1分
endsub
2.PrivateSubcommand1_click()
Dimnasinteger,faslong1分
n=text1.text1分
f=1
forI=1ton3分
f=f*I
nextI
text2.text=f2分
endsub
3.PrivateSubCommand1_Click()
Dima(1To20)AsInteger'1分
Randomize
Fori=1To202分
a(i)=Int(Rnd*100)
Printa(i);
Next
Print
Fori=1To193分
Forj=i+1To20
Ifa(i)>a(j)Then
t=a(i):
a(i)=a(j):
a(j)=t
EndIf
Nextj
Nexti
Fori=1To202分
Printa(i);
Nexti
EndSub
4.PrivateSubCommand1_Click()
Dima(1To6,1To6)AsInteger'1分
DimaverAsSingle
Randomize
Fori=1To63分
Forj=1To6
Ifi=jOri+j=7Then
a(i,j)=1
Else
a(i,j)=Int(Rnd*30)
EndIf
Printa(i,j);
Nextj
Print
Nexti
Print
Max=0:
Min=304分
Fori=1To6
s=0
Forj=1To6
s=s+a(i,j)
Nextj
aver=s/6
Ifaver>MaxThenMax=aver:
row_max=I
Ifaverrow_min=i
Nexti
Printrow_max,row_min
EndSub
5.PrivateSubCommand1_Click()
DimiAsInteger,cAsInteger
DimsAsInteger
Fori=1To1004分
s=s+i
IfiMod17=0Thenc=c+1
Nexti
Print"1+2+...+100=";s2分
Print"能被17整数的数据有";c;"个"2分
EndSub
6.PrivateSubCommand1_Click()
DimxAsInteger
x=InputBox("x=")1分
Printx;
Max=x:
Min=x:
s=x2分
Fori=2To103分
x=InputBox("x="):
Printx;
s=s+x
Ifx>MaxThenMax=x
IfxNexti
Prints/101分
PrintMax,Min1分
EndSub