[考试复习题库精编合集]2021年上半年程序员下午试卷_2_第1页
[考试复习题库精编合集]2021年上半年程序员下午试卷_2_第2页
[考试复习题库精编合集]2021年上半年程序员下午试卷_2_第3页
[考试复习题库精编合集]2021年上半年程序员下午试卷_2_第4页
[考试复习题库精编合集]2021年上半年程序员下午试卷_2_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、考试复习题库精编合集2021年上半年程序员下午试卷考试复习题库精编合集2021年上半年程序员下午试卷1、【简答题】试题一(共15分)阅读以下说明和流程图,回答问题1和问题2,将解答填入答题纸的对应栏内。说明为便于管理,每本正式出版的图书都印有国际标准书号。标准书号由“ISBN”和10个数字组成,其格式为:ISBN组号-出版者号-书名号-校验码。其中,校验码是根据前面9个数字计算得到的,用于计算机自动校验。假设标准书号的10个数字依次是a(1),a(2),a(10),则校验码a(10)的设置应使S=10*a(1)+9*a(2)+8*a(3)+1*a(10)能被11整除。如果校验码a(10)应设置

2、成10,则规定以“X”表示之。例如,信息处理技术员考试大纲的标准书号为:ISBN7-302-11191-X。第1段上的数字“7”是国际ISBN中心分配给中国ISBN中心管理的组号。第2段上的“302”表示清华大学出版社。标准书号的校验过程如图1-1所示,计算校验码的过程如图1-2所示,其中,Mod(S,11)表示S除以11得到的余数。流程图问题1请填补流程图中的空缺(1)(4)。问题2设“程序员考试大纲”标准书号前9个数字为7-302-08493,请写出其校验码。15分解析:【问题1】(1)(11-I)*aI(2)9(3)S+(11-I)*aI-S(4)(11-R)%11【问题2】92、【简答

3、题】试题二(共15分)阅读以下说明和C语言函数,将解答填入答题纸的对应栏内。说明下面待修改的C程序完成的功能是:对于给定的一个长正整数,从其个位数开始,每隔一位取一个数字(即取其个位、百位、万位等数字),形成一个新的整数并输出。例如,将该程序修改正确后,运行时若输入“14251382”,则输出的整数为“4532”。下面给出的C程序代码中有五个错误,请指出所有的错误。C程序代码15分解析:错误1:变量k没有声明错误2:变量num没有初始化,或者num应初始化为0错误3:第10行scanf函数参数错错误4:第13行循环条件错错误5:第14行if语句条件错,或者将=改为=3、【简答题】试题四(共15

4、分)阅读以下说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。说明函数sort(NODE*head)的功能是:用冒泡排序法对单链表中的元素进行非递减排序。对于两个相邻结点中的元素,若较小的元素在前面,则交换这两个结点中的元素值。其中,head指向链表的头结点。排序时,为了避免每趟都扫描到链表的尾结点,设置一个指针endptr,使其指向下趟扫描需要到达的最后一个结点。例如,对于图4-1(a)的链表进行一趟冒泡排序后,得到图4-1(b)所示的链表。链表的结点类型定义如下:typedefstructNodeintdata;structNode*next;NODE;C语言函数voidsor

5、t(NODE*head)NODE*ptr,*preptr,*endptr;inttempdata;ptr=head-next;while(1)/*查找表尾结点*/ptr=ptr-next;endptr=ptr;/*令endptr指向表尾结点*/ptr=(2);while(ptr!=endptr)while((3))if(ptr-dataptr-next-data)tempdata=ptr-data;/*交换相邻结点的数据*/ptr-data=ptr-next-data;ptr-next-data=tempdata;preptr=(4);ptr=ptr-next;endptr=(5);ptr=h

6、ead-next;15分解析:(1)ptr-next(2)head-next(3)ptr!=endptr(4)ptr(5)preptr4、【简答题】试题六(共15分)阅读下列说明和C+代码,请回答问题1至问题3,将解答写在答题纸的对应栏内。说明已知下列程序运行时的输出应为:1:11:11:1问题1请补齐下述代码中的空缺1和2。问题2类Stock的定义中有两处错误,请指出错误所在行号并给出该行修改后的完整结果。问题3指出该代码是否存在内存泄漏。C+程序15分解析:【问题1】(1)Stock():shares(1),share_val(1)(2)cout【问题2】错误1:第4行,修改为:publi

7、c:错误2:第9行,修改为:Stock()【问题3】否,或不存在内存泄漏5、【简答题】试题七(共15分)阅读以下应用说明、VisualBasic开发说明以及程序代码,将应填入(n)的字句写在答题纸的对应栏内。应用说明某交通灯演示程序启动后,其运行窗口中包括红绿灯标志以及当前红绿灯状态剩余秒数的动态显示(如下图)。红灯与绿灯持续的时间分别为30秒与40秒。持续时间结束时,立即变更红绿灯,并重新显示剩余秒数。VisualBasic开发说明在开发过程中,先在窗体内制作形状“红绿灯框架”(长方形,透明),在该框架中,上部制作形状“红灯”(ShpRed,圆形),默认属性为透明;下部制作形状“绿灯”(Sh

8、pGreen,圆形),初始设置其填充方式属性FillStyle为实心,填充颜色属性FillColor为绿色。再设置两个图像框(Image1在左,Image2在右),使其能分别装入数字图像文件,以显示当前红绿灯状态剩余的秒数。10个数字图像文件N0.bmpN9.bmp分别用于显示数字0、1、9,这些文件存放在该应用程序所在目录中,以便在程序运行时按需要选择装入这两个图像框。为使图像文件装入图像框时能自动改变大小以适应图像框,这些图像框的Stretch属性都应设置成(1)。为使这些数字能每秒变化一次,开发窗体中设置了计时器Timer1,其Enable属性设置成True,其Interval属性设置成

9、1000。程序中,全局变量Light用以标志当前红灯(0)或绿灯状态(1),RedT和GreenT分别表示红灯或绿灯状态剩余的秒数。计时器Timer1的定时过程是在该程序启动1秒后首次执行的,以后每隔1秒执行1次。开发者应考虑对以下四种情况的处理:绿灯持续、绿灯转红灯、红灯持续、红灯转绿灯。过程LoadNumber的功能是:将红绿灯剩余秒数N(2位整数)分离出两个一位数i与j,再将其变换成字符,删除前面可能产生的空格,再将数字图像文件Ni.bmp与Nj.bmp装入两个图像框(其中i与j应以相应的数字字符代替)。VisualBasic程序代码PublicLightAsInteger,RedTAs

10、Integer,GreenTAsIntegerPrivateSubForm_Load()Light=1:GreenT=40:RedT=0初始化设置EndSubPrivateSubTimer1_Timer()计时器定时过程IfLight=1Then绿灯状态时(2)IfGreenT0Then绿灯持续时CallLoadNumber(GreenT)调用过程,显示数字GreenTElse绿灯转红灯时ShpRed.FillStyle=0置红灯形状实心ShpRed.FillColor=vbRed为红灯形状填充红色ShpGreen.FillStyle=1置绿灯形状透明CallLoadNumber(30)Lig

11、ht=0:RedT=30EndIfElse红灯状态时RedT=RedT-1IfRedT0Then红灯持续时CallLoadNumber(RedT)Else红灯转绿灯时ShpRed.FillStyle=1ShpGreen.FillStyle=0ShpGreen.FillColor=vbGreen(3)Light=1:GreenT=40EndIfEndIfEndSubSubLoadNumber(NAsInteger)根据剩余秒数N将数字图像装入图像框DimiAsInteger,jAsIntegeri=Int((4))j=(5)Image1.Picture=LoadPicture(N&Trim(Str(i)&.bmp)显示十位上的数字Image2.Picture=LoadPicture(N&Trim(Str(j)&.bmp)显示个位上的数字EndSub15分解析:(1)True(2)GreenT=GreenT-1(3)CallLoadNumber(40)(4)N/10(5)N-i*106、【简答题】试题八(共15分)阅读以下说明和Java代码,请回答问题1和问题2,将解答写在答题纸的对应栏内。说明已知类Stock和类cxyjava都定义在cxyjava.java文件中,类Stock的定义中第14行前共有四行出现了错误,将下面代码修改正确并完善后的输出

温馨提示

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

评论

0/150

提交评论