上海市高等学校计算机等级考试模拟卷.docx
- 文档编号:4492729
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:12
- 大小:76.96KB
上海市高等学校计算机等级考试模拟卷.docx
《上海市高等学校计算机等级考试模拟卷.docx》由会员分享,可在线阅读,更多相关《上海市高等学校计算机等级考试模拟卷.docx(12页珍藏版)》请在冰豆网上搜索。
上海市高等学校计算机等级考试模拟卷
2010年上海市高等学校计算机等级考试模拟卷
2010年上海市高等学校计算机等级考试模拟卷
二级VB.NET程序设计(C卷)
(本试卷考试时间120分钟)
一、单选题(本大题15道小题,每小题1分,共15分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。
1.如果在实验课上进行程序调试,运行时遇到意外出错,最有效的做法是:
看清系统错误原因提示信息,____________,以确定错误原因。
B
A.单击“调试”按钮,然后查看当时变量值
B.单击“结束”按钮,检查程序代码
C.举手请老师帮忙
D.上网查找原因
2.要想从子过程调用后返回两个结果,下面子过程语句说明合法的是_______。
C
A.Subf2(ByValn%,ByValm%)
B.Subf1(ByRefn%,ByValm%)
C.Subf1(ByRefn%,ByRefm%)
D.Subf1(ByValn%,ByRefm%)
3.为了使控件对象不响应用户的事件,需要____________。
A
A.设置控件的Enabled属性为False
B.设置控件的TabStop属性为False
C.设置控件的TabStop属性为True
D.设置控件的TabIndex属性为0
4.在用通用对话框控件建立打开文件对话框时,在文件列表框中只允许显示txt和rtf类型的文件,则Filter属性的正确设置是_________。
D
A.文本文件(.txt)||*.txt||rtf||*.rtf
B.文本文件(.txt)(*.txt)(rtf)(*.rtf)
C.文本文件*.txt|rtf*.rtf
D.文本文件(.txt)|*.txt|rtf|*.rtf
5.设变量x=1,y=-1,a=5,b=-5,则以下表达式的值为“真”的是____________。
B
A.x+a<=b+y
B.x>0Andy<0
C.a=bOrx D.x+y>a+bAndNot(y 6.下列可作为VisualBasic变量名的是____________。 A A.3S B.Print C.SelectMyName D.Select_1 7.要向C盘根目录下的名为my.txt的顺序文件中读出数据,应先使用_________语句打开文件。 B A.FileOpen(1,"my.txt",OpenMode.Input) B.FileOpen(1,"c: \my.txt",OpenMode.Input) C.FileOpen(1,"c: \my.txt",OpenMode.Output) D.FileOpen(1,"c: \my.txt",OpenMode.Append) 8.假定焦点已经位于文本框TextBox1中,则能够触发KeyPress事件的操作是____________。 D A.单击鼠标 B.双击文本框 C.鼠标滑过文本框 D.按下键盘上的某个键 9.在自定义函数中,可以通过____________返回值。 B A.Sub B.Function C.函数名 D.ByVal参数 10.在程序运行期间可以用____________方法把图形装入窗体、图片框。 D A.AutoSize B.OpenFile C.Picture D.Image.FromFile 11.单击滚动条控件的箭头按钮,滑块的移动幅度与__________属性设置有关。 B A.LargeChange B.SmallChange C.Max D.Min 12.以下能判断是否到达文件尾的函数是__________。 D A.BOF B.LOC C.LOF D.EOF 13.列表框ListBox1中已有10个列表项,要显示列表框ListBox1最后一项,有两种表示法,__________是正确的。 A A.ListBox1.Items(ListBox1.Items.Count-1) ListBox1.Items(9) B.ListBox1.Items(ListBox1.Items.Count) ListBox1.Items(9) C.ListBox1.Items(ListBox1.Items.Count-1) ListBox1.Items(10) D.ListBox1.Items(ListBox1.Items.Count) ListBox1.Items(10) 14.复选框对象如果被选中,它的Checked属性值为_________。 C A.1 B.0 C.True D.False 15.已知最多有10个元素的数组a,用变量n表示它的上界,有两种赋值语句,_______是正确的。 B A.n=UBound(a) n=10 B.n=UBound(a) n=9 C.n=UBound(a)+1 n=9 D.n=UBound(a)+1 n=10 二、程序填空题(本大题3道小题,每空2.5分,共30分)。 1.单击窗体读当前文件夹中的文本文件data.txt数据,找出其中年龄最大者的年龄、姓名和全部人数,输出并保存在当前文件夹的中result.txt。 data.txt的数据格式为: 王海涛,18 李林,20 …… PrivateSubForm1_Click(…)HandlesMe.Click DimName$,Age%,maxName$,maxAge%,n% n=0 Name="" maxName="" maxAge=0 FileOpen(1,"data.txt",OpenMode.Input) DoWhileNOTEOF (1) Input(1,Name) Input(1,Age) n=n+1 IfAge>maxAgeThen MaxAge=Age maxName=Name EndIf Loop FileClose (1) Label1.text="最大年龄: "&maxAge&vbCrLf&"最大年龄姓名: "&maxName&vbCrLf&"人数: "&n FileOpen(2,"result.txt",_____(3)_______) Print(2,maxName,maxAge,n) FileClose (2) EndSub 2.单击按钮执行在输入样本串中查找字串,删除字串字符后输出至结果文本框。 用复选框可选择查找方式是否区分大小写。 PrivateSubButton1_Click(…)HandlesButton1.Click Dimss$,s0$,len0%,ms$,i% ss=TextBox1.Text s0=TextBox2.Text If_____ (1)_____Then s0=_____ (2)______ EndIf len0=Len(s0) Fori=1ToLen(ss)-len0+1 ms=_____(3)_____ IfCheckBox1.CheckedThen ms=UCase(ms) EndIf If(ms=s0)Then ss=Mid(ss,1,i-1)+Mid(ss,i+len0) i=i-1 EndIf Nexti TextBox3.Text=_____(4)_____ EndSub 3.单击窗体执行将所输入的整数插入排序后的原数组元素适当位置。 FunctionInsert(ByRefs%(),ByValkeyAsInteger)AsInteger Dimk%,i%,j% k=_____ (1)______ Fori=0ToUBound(s) Ifkey k=i ____ (2)______ EndIf Nexti ReDimPreserves(UBound(s)+1) Forj=UBound(s)-1TokStep-1 _____(3)______ Nextj s(k)=key Insert=UBound(s) EndFunction PrivateSubForm1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMe.Click Dimi%,p%,m% Dima%()={1,3,6,8,9,13,17,20,25} Label1.Text="" Fori=0ToUBound(a) ______(4)______ Nexti Label1.Text&=vbCrLf p=InputBox("请输入要插入的数: ") m=_____(5)______ Fori=0Tom Label1.Text&=a(i)&"" Nexti Label1.Text&=vbCrLf EndSub 三、程序调试题(共20分,每错2.5分,第1题有2处错,第2题有3处错,第3题有3处错) 启动解决方案文件"C: \ks\改错.sln",请调试改正,并按原文件名和位置保存。 正确结果见样例"c: \样张\改错样例.exe"。 改错方法: 不能修改或重新定义变量,不允许增加或删除语句,但可以修改语句,所修改的语句必须在句尾加上注释标记'***********。 调试改错题1: 输入18位身份证号码,通过第7~10位取出出生年,给出寄语。 对1959(含)出生的人,寄语为"步入中老年,请您注意身体! ";对1960年代和1990年代出生的人,寄语均为"60后和后要多沟通,避免代沟! ";对于1970~1989年出生的人,寄语为"70、80后的青年,祝你工作顺利! ";对于2000后出生的人,寄语为"小朋友,祝你茁壮成长! ";其余判断为输入错误,清空文本框并置焦点。 PrivateSubButton1_Click(…)HandlesButton1.Click Dimbthyear%,lbltx$ bthyear=Val(Mid(TextBox1.Text,7,4)) SelectCasebthyear CaseIs<=1959 lbltx="步入中老年,请您注意身体! " Case(bthyear>=1960andbthyear<=1969)or(bthyear>=1990andbthyear<=1999) lbltx="60后和后要多沟通,避免代沟! " Case"1980"to"1989" lbltx="70、80后的青年,祝你工作顺利! " Case2000,2001,2002To2008,Is>2008 lbltx="小朋友,祝你茁壮成长! " CaseElse lbltx="输入错了吧? ! 请重新输入" TextBox1.Text="" TextBox1.Focus() EndSelect Label1.Text=lbltx EndSub 调试改错题2: 产生隔行轮换显示字母和数字的菱形图案(规律如图) PrivateSubButton2_Click(…)HandlesButton2.Click Dimi%,j%,k% Label2.Text="" Fori=0To14 Ifi<=7Then k=i Else k=14-i EndIf Label2.Text&=Space(7-k) IfkMod2Then Forj=kTo3*k Label2.Text&=Chr(66+k) Nextj Else Forj=kTo2*k Label2.Text&=k Nextj EndIf Label2.Text&=vbCrLf Nexti EndSub 调试改错题3: 随机产生1~20个大写字符串,并随机产生一个大写字母分别填入两个文本框中,统计这个大写字母在该串中出现的次数。 PrivateSubButton3_Click(…)HandlesButton3.Click Dimstr1$,str2$,i%,j%,sum% TextBox2.Text="" i=Int(Rnd()*20+1)'产生1~20之间的随机整数 Forj=1Toi TextBox2.Text&=Chr(64+Int(Rnd()*26+1))'随机产生大写字母字符串 Next TextBox3.Text=Chr(Int(Rnd()*26+1)) str1=TextBox2.Text str2=TextBox3.Text sum=1 Forj=1Toi IfLeft(str1,j,1)=str2Then sum+=1 EndIf Next Ifsum<>0Then Label3.Text=str2&"在字符串中出现了"&sum&"次。 " Else Label3.Text=str2&"在字符串中没有出现过" EndIf EndSub 四、编程题(35分) 1.在C: \KS目录下新建项目,解决方案文件为bct0.sln。 2.参见样例"c: \样张\编程题样例.exe",在Form1窗体上放置两个列表框。 建立如下菜单: 菜单项 备注 应用 一级菜单 产生 二级菜单 筛选 二级菜单 ---- 分隔线 结束 二级菜单 绘图 一级菜单 3.单击菜单"产生"随机产生10个大写字母,填入ListBox1中。 单击菜单"筛选"将列表框1中"K"以后(含"K",ASCII码值为75)的字母选出,填入ListBox2中。 4.单击"绘图"菜单项时,显示窗体2;单击"结束"菜单项时,结束程序的运行。 5.在窗体2上单击"绘图"命令按钮,设置画布原点(x0,y0)为(200,100),按以下公式绘制,当Y>0为红色图形,Y<0为蓝色图形,其中40为Y轴的显示放大倍数、20为X轴的放大倍数,t=-3π~3π: x=x0+t*20 y=y0+Sin(t)*40 (提示: 函数图形通过计算Y的值,画垂直于X轴的直线显示) 单击"返回"命令按钮则关闭窗体2,返回窗体1。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上海市 高等学校 计算机等级考试 模拟