电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOCX文档下载
分享到微信 分享到微博 分享到QQ空间

2021年下半年程序员下午试卷_1

  • 资源ID:183325900       资源大小:57.07KB        全文页数:15页
  • 资源格式: DOCX        下载积分:10金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要10金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

2021年下半年程序员下午试卷_1

2021年下半年程序员下午试卷1、【简答题】试题一(共15分)阅读以下说明和流程图,填补流程图中的空缺(1)(5),将解答填入答题纸的对应栏内。【说明】求连续函数f(x)的根(方程f(x)=0的解)的最简单方法是二分法。为此,首先需要在若干点上检查函数值的符号,如果发现f(a)与f(b)符号相反(ab),则在区间(a,b)中必然存在f(x)的根。因为当x从a变到b时,连续函数的值将从正变到负(或从负变到正),必然要经过0。区间(a,b)就是根的初始范围。取该区间的中点m,如果f(m)=0,则根就是m。如果f(a)与f(m)符号相反,则根一定在区间(a,m)中;如果f(m)与f(b)符号相反,则根一定在区间(m,b)中。因此,根的范围缩小了一半。依此类推,将区间一半一半地分下去,当区间的长度很小(达到根的精度要求,例如0.001)时,或者当区间中点处的函数值几乎接近于0(即绝对值小于预先规定的微小量,例如0.001)时,近似计算就可以结束了。以下流程图描述了用二分法近似计算区间(a,b)中f(x)的根的过程。【流程图】15分解析:(1)(a+b)/2(2)f(x)(3)fabs(y)(4)b(5)a2、【简答题】试题二(共15分)阅读以下说明和C函数,将应填入(n)处字句写在答题纸的对应栏内。【说明1】函数Counter(intn,intw)的功能是计算整数n的二进制表示形式中1的个数,同时用数组w记录该二进制数中1所在位置的权。例如,十进制数22的二进制表示为10110。对于该二进制数,1的个数为3,在w0中存入2(即21)、w1中存入4(即22)、w2中存入16(即24)。【C函数1】intCounter(intn,intw)inti0,k1;while(1)if(n2)wi+k;nn2;(2);returnI;【说明2】函数Smove(intA,intn)的功能是将数组中所有的奇数都放到所有偶数之前。其过程为:设置数组元素下标索引i(初值为0)和j(初值为n-1),从数组的两端开始检查元素的奇偶性。若Ai、Aj都是奇数,则从前往后找出一个偶数,再与Aj进行交换;若Ai,Aj都是偶数,则从后往前找出一个奇数,再与Ai进行交换;若Ai是偶数而Aj是奇数,则交换两者,直到将所有的奇数都排在所有偶数之前为止。【C函数2】voidSmove(intA,intn)inttemp,i=0,j=n-1;if(n2)return;while(ij)if(Ai%2=1Aj%2=1)(3);elseif(Ai%2=0Aj%2=0)(4);elseif(5)tempAi;AiAj;Ajtemp;i+,j-;15分解析:(1)n!=0(2)k*=2(3)i+(4)j+(5)(Ai%2=0)(Aj%2=1)3、【简答题】试题三(共15分)阅读以下说明、C函数和问题,将解答写入答题纸的对应栏内。【说明1】函数testfl(intm,intn)对整数m、n进行某种运算后返回一个整数值。【C函数1】inttest_fl(intm,intn)intk;k=mn?m:n;for(;(k%m!=0)|(k%n!=0);k+);returnk;【问题1】(5分)(1)请写出发生函数调用test_fl(9,6)时,函数的返回值;(2)请说明函数test_fl的功能。【说明2】设在某C系统中为每个字符分配1个字节,为每个指针分配4个字节,sizeof(x)计算为x分配的字节数。函数test_f2()用于测试并输出该C系统为某些数据分配的字节数。【C函数2】voidtest_f2()charstr="NewWorld"char*pstr;chari=0;void*ptr=malloc(50);printf("%dt",sizeof(str);printf("%dn",sizeof(p);printf("%dt",sizeof(i);printf("%dn”,sizeoqptr),【问题2】(4分)请写出函数test_f2()的运行结果。【说明3】函数test_f3(chars)的功能是:将给定字符串s中的所有空格字符删除后形成的串保存在字符数组tstr中(串s的内容不变),并返回结果串的首地址。【C函数3】char*test_f3(constchars)chartstr500;unsignedinti,k=0;for(i=0;istrlen(s);i+)if(si!=)tstrk+si;returntstr;【问题3】(6分)函数test_f3()对返回值的处理有缺陷,请指出该缺陷并说明修改方法。15分解析:问题1:(1)18(2)求m和n的最小公倍数问题2:9414问题3:局部数组存放字符串作为函数的返回值是不可取的。应使用maloc动态分配函数来进行分配空间,存储字符串结果,返回其首指针。4、【简答题】试题四(共15分)阅读以下说明和C函数,将解答填入答题纸的对应栏内。【说明】函数del_substr(S,T)的功能是从头至尾扫描字符串S,删除其中与字符串T相同的所有子串,其处理过程为:首先从串S的第一个字符开始查找子串T,若找到,则将后面的字符向前移动将子串T覆盖掉,然后继续查找子串T,否则从串S的第二个字符开始查找,依此类推,重复该过程,直到串S的结尾为止。该函数中字符串的存储类型SString定义如下:typedefstructchar*ch;*串空间的首地址*intlength;*串长*SString;【C函数】voiddelsubstr(SString*S,SStringT)inti,j;if(S-length1|T.length1|S-lengthT.length)return;i=0;*i为串S中字符的下标*for(;)j=0;*j为串T中字符的下标*while(iS-lengthjT.length)*在串S中查找与T相同的子串*if(S-chi=T.chj)i+;j+;elsei=(1);j=0;*i值回退,为继续查找T做准备*if(2)*在S中找到与T相同的子串*i=(3);*计算S中子串T的起始下标*for(k=i+T.length;kS-length;k+)*通过覆盖子串T进行删除*S-ch(4)=S-chk;S-length=(5);*更新S的长度*elsebreak;*串S中不存在子串T*/15分解析:(1)i-j+1(2)j=T.length(3)i-T.length(4)i+(5)S-length-T.length5、【简答题】试题五(共15分)阅读以下说明和C+代码,将应填入(n)处字句写在答题纸对应栏内。【说明】已知类LinkedList表示列表类,该类具有四个方法:addElement()、lastElement()、numberOfElement()以及removeLastElement()。四个方法的含义分别为:voidaddElement(Object):在列表尾部添加一个对象;ObjectlastElement():返回列表尾部对象;intnumberOfElement():返回列表中对象个数;voidremoveLastElement():删除列表尾部的对象。现需要借助LinkedList来实现一个Stack栈类,C+代码1和C+代码2分别采用继承和组合的方式实现。【C+代码1】classStack:publicLinkedListpublic:voidpush(Objecto)addElement(o);/压栈Objectpeek()return(1);/获取栈顶元素boolisEmpty()/判断栈是否为空returnnumberOfElement()=0;Objectpop()/弹栈ObjectolastElement();(2);returno;;【C+代码2】classStackprivate:(3);public:voidpush(Objecto)/压栈list.addElement(o);Objectpeek()/获取栈顶元素returnlist.(4);boolisEmpty()/判断栈是否为空returnlist.numberOfElement()=0;Objectpop()/弹栈Objectolist.lastElement();list.removeLastElement();returno;【问题】若类LinkedList新增加了一个公有的方法removeElement(intindex),用于删除列表中第index个元素,则在用继承和组合两种实现栈类Stack的方式中,哪种方式下Stack对象可访问方法removeElement(intindex)?(5)(A继承B组合)15分解析:(1)lastElement()(2)removeLastElement()(3)LinkedListlist(4)lastElement()(5)A6、【简答题】试题六(共15分)阅读以下说明和Java代码,将应填入(n)处字句写在答题纸对应栏内。【说明】已知类LinkedList表示列表类,该类具有四个方法:addElement()、lastElemen()、numberOfElement()以及removeLastElement()。四个方法的含义分别为:voidaddElement(Object):在列表尾部添加一个对象;ObjectlastElement():返回列表尾部对象;intnumberOfElement():返回列表中对象个数;voidremoveLastElement():删除列表尾部的对象。现需要借助LinkedList来实现一个Stack栈类,Java代码1和Java代码2分别采用继承和组合的方式实现。【Java代码1】publicclassStackextendsLinkedListpublicvoidpush(Objecto)/压栈addElement(o);publicObjectpeek()/获取栈顶元素return(1);publicbooleanisEmpty()/判断栈是否为空returnnumberOfElement()=0;publicObjectpop()/弹栈ObjectolastElement();(2);returno;【Java代码2】publicclassStack

注意事项

本文(2021年下半年程序员下午试卷_1)为本站会员(阳光****活)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.