您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 最全程序员软考考试下午模拟试题合集
申明:此为最全程序员软考考试下午模拟试题合集,一共32套。均配有答案。由于文件过大,拆成上午试题和下午试题,在百度文库同样可以搜索“最全程序员软考考试上午模拟试题合集“。此外还有程序员软考试题真题提供,百度文库搜索“最全历年程序员软考考试上午真题合集”和“最全历年程序员软考考试下午真题合集”。每套后面均配有答案,接近30套,每年两套。注:如果图片显示不全,适当将图片缩小即可。过来人总结,多做做下午场试题,最好打印。上午场试题对着电脑即可,只要不是一点不懂基本上午场没问题。初级程序员下午试题模拟37试题一阅读以下说明和流程图,填补流程图中的空缺1~2,将解答填入对应栏内。[说明]假设数组A中的各元素A1,A4,…,A(M)已经按从小到大排序(M≥1);数组B中的各元素B1,B4,…,B(N)也已经按从小到大排序(N≥1)。执行下面的流程图后,可以将数组A与数组B中所有的元素全都存入数组C中,且按从小到大排序(注意:序列中相同的数全部保留并不计排列顺序)。例如,设数组A中有元素:2,5,6,7,9;数组B中有元素:2,3,4,7;则数组C中将有元素:2,2,3,4,5,6,7,7,9。[流程图]试题二阅读以下说明和C函数,将应填入(n)处的字句写在答题纸的对应栏内。[说明]某单位准备进行一次选举,对指定的n名(n<80)候选人进行投票。为了简化选举工作,事先印制了写有这n名候选人姓名的选票,投票者只需将选中者名下的圆圈涂黑即可。规定每张选票上被涂黑的圆圈数不得超过3个,也不得少于1个,否则视为无效选票。投票结束后,所有选票经计算机扫描处理,形成了描述选票状态的文本文件。例如,n=8时所形成的文件如下:010110001001010010011000111111110000000000111000其中,每行表示一张选票的数据,每列代表一位候选者的得票情况。第i行第j列为1,表示第i张选票上投了第j名候选人1票。函数statistic15的功能是读入选票数据,并统计每位候选者的得票数,函数返回有效选票数。[C语言函数]intstatistic(FILE*fp,intcandidate[],intn){/*从文件中读入选票数据,n为候选人数量(n<80),从有效选票中统计每位候选者的得票数并存入candidate[],函数返回有效选票数*/charstr[80];/*str保存读入的一张选票数据*/inti,tag=0;/*tag用于判断每张选票是否有效*/intq=0;/*q用于计算有效选票数*/for(i=0;i<n;i++)candidate[i]=0;while(10){fgets(str,80,fp);/*读入一张选票数据*/for(tag=0,i=0;(11);i++)if(str[i]=='1')tag++;if(12){/*(若是有效选票,则进行统计*/(13);for(i=0;i<n;i++)if(str[i]=='1')14;}}returnq;}/*statistic*/试题三阅读以下说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。[说明]一棵非空二叉树中“最左下”结点定义为:若树根的左子树为空,则树根为“最左下”结点:否则,从树根的左子树根出发,沿结点的左孩子分支向下查找,直到某个结点不存在左孩子时为止,该结点即为此二叉树的“最左下”结点。例如,下图所示的以A为根的二叉树的“最左下”结点为D,以C为根的子二叉树中的“最左下”结点为C。二叉树的结点类型定义如下:typedefstructBSTNode{intdata;structBSTNode*1ch,*rch;/*结点的左、右孩子指针*/}*BSTree;函数BSTreeFind_Del(BSTreeroot)的功能是:若root指向一棵二叉树的根结点,则找出该结点的右子树上的“最左下”结点*p,并从树下删除以*p为根的子树,函数返回被册除子树的根结点指针:若该树根的右子树上不存在“最左下”结点,则返回空指针。[函数]BSTreeFind_Del(BSTreeroot){BSTreep,pre;if(!root)returnNULL;/*root指向的二叉树为空树*/15;/*令p指向根结点的右子树*/if(!p)returnNULL;16;/*设置pre的初值*/while(p->1ch){pre=p;p=17;}if(18==root)/*root的右子树根为最左下结点*/pre->rch=NULL;else19=NULL;/*删除以最左下结点为根的子树*/returnp;}试题四阅读以下函数说明和C语言函数,将应填入(n)的字句写在答题纸的对应栏内。[说明1]函数intfun1(intm,intn)的功能是:计算并返回正整数m和n的最大公约数。[函数1]intfun1(intm,intn){while(20){if(m>n)m=m-n;elsen=n-m;}21;}[说明2]函数longfun2(char*str)的功能是:自左至右顺序取出非空字符串str中的数字字符形成一个十进制整数(最多8位)。例如,若字符串str的值为“f3g8d5.ji2e3p12fkp”,则函数返回值为3852312。[函数2]longfun2(char*str){inti=0;longk=0;char*p=str;while(*p!='\0'&&22){if(*p>='0'&&*p<='9'){k=23+*p-'0';++i;}24;}returnk;}试题五从下列2道试题(试题5至试题6)中任选1道解答。如果解答的试题数超过1道,则题号小的1道解答有效。阅读下列说明、图和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。[说明]已知对某载客车辆(Car)进行类建模,如图5-1所示,其中类Engine表示发动机引擎,类Wheel表示车轮,类Body表示车身,类Driver表示司机,类Passenger表示乘客。[C++代码]constint25=7;//定义最多载客数constintMAXWHEELS=5;//定义最多轮胎数classBody{//此处代码省略};//车身类classPassenger{//此处代码省略};//乘客类classWheel{//此处代码省略};//车轮类classDriver{//司机类public:stringname;//表示第几路公交车司机Driver(stringdriverName):name(26){};//构造函数};classEngine{//引擎类public:stringengineNo;//引擎编号Engine(stringengineNo){27->engineNo=engineNo;}//构造函数};classCar{//汽车类protected:Engine*engine;Driver*driver;Bodybody;Wheel*wheels[MAX_HEELS];Passenger*passengers[MAX_PASSENGERS];public:Car(Driver*driver){//构造函数this->driver=driver;engine=newEngine(TX6536型号引擎);intindex;for(index=0;index<MAX_HEELS;index++){wheels[index]=newWheel30;}for(index=0;index<MAX_PASSENGERS;index++){passengers[index]=NULL;}}virtual~Car30{//析构函数for(intindex=0;index<MAX_WHEELS;index++)deletewheels[index];delete28;}intgetPassengerNumber30{//获取车上乘客数量//此处代码省略}voidgetOnPassenger(Passenger*aPassenger){//乘客上车//此处代码省略}voidrun30{//开车if(driver==NULL){cout<<司机尚未上车!;return;}//此处代码省略});voidmain30{Driverdriver(第五路公交车司机);Carcar(29);Passengerpassengers[MAX_PASSENGERS];for(intindex=0;index<MAXPASSENGERS;index++)//乘客上车处理car.getOnPassenger(&passengers[index]);car.run30;}试题六阅读下列说明、图和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。[说明]已知对某载客车辆(Car)进行类建模,如图6-1所示,其中类Engine表示发动机引擎,类Wheel表示车轮,类Body表示车身,类Driver表示司机,类Passenger表示乘客。[Java代码]classBody{//此处代码省略};//车身类classPassenger{//此处代码省略};//乘客类classWheel{//此处代码省略};//车轮类classDriver{//司机类publicStringname;//表示第几路公交车司机publicDriver(StringdriverName){name=driverName;)//构造函数};classEngine{//引擎类publicStringengineNo;//引擎编号publicEngine(StringengineNo){this.engineNo=engineNo;)//构造函数};publicclassCar{//汽车类staticfinalint30=7;//定义最多载客数staticfinalintMAXWHEELS=5;//定义最多轮胎数protectedEngineengine;protectedDriverdriver;protectedBodybody=newBody35;protectedWheel[]wheels;protectedPassenger[]passengers;publicCar(Driverdriver){//构造函数31.driver=driver;engine=newEngine(TX6536型号引擎);wheels=newWheel[MAXWHEELS];passengers=newPassenger[MAX_PASSENGERS];for(intindex=0;index<MAX_WHEELS;index++){wheels[index]=newWheel35;}for(intindex=0;index<MAX_PASSENGERS;index++){passengers[index]=null;}}intgetPassengerNumber35{//获取车上乘客数量//此处代码省略return0;}voidgetOnPassenger(PassengeraPassenger){//乘客上车//此处代码省略}voidrun35{//开车if(32){System.out.println(司机尚未上车!);return;}//此处代码省略}publicstaticvoidmain(Stringargs[]){Driverdriver=newDriver(第五路公交车司机);Carcar=newCar(33);for(intindex=0;index<MAX_PASSENGERS;index++)car.getOnPassenger(34Passenger35);car.run35;}}答案:试题一1、2、A(i)3、B(j)4、5、6、B(j)7、A(i)8、9、试题二10、!feof(fp)11、i<n&&str[i]!='\0'12、tag>=1&&tag<=313、q++14、candidate[i]++试题三15、p=root->rch16、pre
本文标题:最全程序员软考考试下午模拟试题合集
链接地址:https://www.777doc.com/doc-4264750 .html