还剩12页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
一、选择题每题分,共小题,共分
14040.算法的空间复杂度是指1算法程序的长度A.算法程序中二的指令条数
8.算法程序所占的存储空间C.算法执行过程中所需要的存储空间D..下列论述中对的的是9一种逻辑数据构造只能有一种存储构造A.逻辑构造属于线性构造,存储构造属于非线性构造B.一种逻辑数据构造可以有多种存储构造,且多种存储构造不影响数据处理的效率C.一种逻辑数据构造可以有多种存储构造,且多种存储构造影响数据处理的效率D..简朴的互换排序措施是3迅速排序A.选择排序B.堆排序C.冒泡排序D..有关构造化程序设计原则和措施的描述错误的是4o选用的构造只准许有一种入口和一种出口A.复杂构造应当用嵌套的基本控制构造进行组合嵌套来实现B.不容许使用语句C.GOTO语言中若没有控制构造,应当采用前后一致的措施来模拟D.•相对于数据库系统,文献系统的重要缺陷有数据关联差、数据不一致性和5可重用性差A.安全性差B.非持久性C.冗余性D.,面向对象的设计措施与老式的面向过程的措施有本质不一样,它的基本原理是6模拟现实世界中不一样事物之间的联络A.强调模拟现实世界中的算法而不强调概念B.使用现实世界的概念抽象地思索问题从而自然地处理问题C.不强调模拟现实世界中的算法而强调概念D..对如下二叉树进行后序遍历的成果为7]00A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA.软件设计包括软件的构造、数据接口和过程设计,其中软件的过程设计是指8模块间的关系A.系统构造部件转换成软件的过程描述B.fori=2;i=n;i++j=-|*j;//****found****returny;void mainint n=10systemCLS printf\nThe resultis%lf\n,procn;
四、程序设计题共分18编写一种函数,从传人的个字符中找出最长的一种字符串,并通过形参指针传回M max该串地址用****作为结束输入的标志注意部分源程序给出如下请勿改动函数和其他函数中的任何内容,仅在函数的花括号中填人所编写的main proc若干语句试题程序#include#include#includechar*procchar*a
[81],int numvoid maincharss[IO]
[81],*max;int n,i=0;输入若干个字符串”;printf getsss[i];putsss[i];while!strcmpss[i],****==0i++getsssEi];putsss[i];n=i max=proeSS,n;printf\nmax=%s\n,max;参照答案及专家详解
一、选择题【解析】算法的空间复杂度,是指执行这个算法所需的存储空间算法所占用的存储
1.Do空间包括算法程序所占用的空间、输入的初始数据所占用的存储空间、算法执行过程中所需要的额外空间【解析】数据的存储构造是指数据的逻辑构造在计算机存储空间中的寄存形式,一种
2.D数据构造可以根据需要采用不一样的存储构造,用的存储构造有次序和链式构造用不一样的存储构造,其处理的效率是不一样的【解析】所谓的互换排序措施是指借助数据元素之间的互相交进行排序的一种措施,
3.D包括冒泡排序和迅速排序,冒泡排序通过相邻元素的互换,逐渐将线性表变成有序是一种最简朴的互换排序措施【解析】构造化程序设计的原则和措施之一是限制使用语句,但不是绝对不容
4.C GOTO许使用语句其他三项为构造化程序设计的原则GOTO【解析】文献系统所管理的数据文献基本上是分散、互相独立的相对于数据库系统,
5.D以此为基础的数据处理存在个缺陷数据冗余大、数据的不一致性、程序与数据的依赖性强3【解析】面向对象的设计措施的基本原理是使用现实世界的概念抽象地思索问题从
6.Co而自然地处理问题它虽强调模拟现实世界中的概念而不强调算法,不过它鼓励开发者在软件开发的过程中从应用领域的概念角度去思索【解析】所谓的后序遍历是指,首先遍历左子树,然后遍历右子树,最终访问根结点,
7.D并且在遍历左、右树时,仍然先遍历左子树,然后遍历右子树,最终访问根点因此,后序遍历二叉树的过程也是一种递归过程【解析】软件的过程设计是指系统构造部件转换成软件的过程描述
8.B【解析】模块的独立性是指每个模块保证完毕系统规定的独立功能,并且与其他模块
9.A的联络少且接口简朴衡量软件的模块独立性有内聚性和耦合性两个定性度量原则耦合性是模块间互相连接紧密程度的度量一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,以利于提高模块的独立性【解析】对象的封装性是指从外面看只能看到对象的外部特性,而对象的内部,其处
10.C理能力的实行和内部状态对外是不可见的,是隐蔽的【解析】数据库系统由如下个部分构成数据库()、数据库管理系统()、
11.C5DB DBMS数据库管理员(人员)、系统平台之一一一硬件平台(硬件)、系统平台之二一一软件平台(软件)其中()即数据库,是统一管理的有关数据的集合即数据库管理系统,DB DataBaseDBMS是位于顾客与操作系统之间的一层数据管理软件,为顾客或应用完程序提供访问的措施DB由以上可知,选为对的答案C【解析】标识符是由字母、数字或下划线构成,并且它的第一种字符必须是字母或
12.Ao者下划线选项不是体现变量类型的标识符,它不能再用做变量名和函数名选项B intC dO是语言的一种关键字选项标识符只能以字母或下划线开始C D【解析】本题考察逻辑运算符的使用当“”的两个运算对象都是逻辑时,体
13.D I现式返回值才是1;II”的两个运算对象至少有一种是逻辑1时,体现式返回值也是I,x
14.Co【解析】第个函数,格式阐明的个数是而输出项的个数是因此对于多出的输出项I printf2,3,k不予输出;第个函数,有两个%阐明,第个%背面的字符要原样输出本题考察2printf1printf函数的格式
①“%x”和“%o”分别表达以十六进制和八进制无符合型输出整型数据(不带前导或);
②函数中格式阐明符之前插入的任何字符都原样输出;
③格式阐明与输出项ox printf的个数也要相等,假如格式阐明的个数少于输出项的个数,则对于多出的输出项不予输出【解析】函数的功能是返回的值在主函数中,变量的初
15.C funintx,inty x+Y a,b,c始值分别为因此逗号体现式的值等于体现式的值为调用于函数1,2,3“a++,b++,a+b”5,C++3,的体现式为“fun5,3;”,其返回值等于8【解析】在中,因此体现式的值为由于为
16.D x=2,y=x+3/23/2=1,2+1=3,3,X,y double型变量,故选择选项D【解析】当为时,执行自加等于由于后没有接着执行
17.A X1easel,a I,case Ibreak,此时的值为自加为故选择选项case2,a2,b1,A【解析】本题考察自增运算符“++”、逻辑与运算符“”和逻辑或运算符“
18.D II二自增运算符“++”出目前变量之前,表达先使用变量的值加再使用变量的值进行运算;出1,目前变量之后,表达先使用变量的值进行运算,再使用变量的值加当逻辑与运算符“”两Io边的运算对象都为真时,逻辑体现式的值才为真;当逻辑或运算符只要一种值为值就为“II”1,I根据运算符的优先级,题中应先计算内层括号中的值是先自加后运算,因此运算时的值++j j等于因此体现式成立,即体现式的值为与任何数都为进行或运算,成果都为3,++j=31;1111,因此一的体现式是先运算后自加,因此运算时为因此成立,自加后k3i++i1,i++=l1i=2if语句的条件为真即因此输出、、的值分别是“1i jk2,3,3o【解析】本题考察语句当时,执行由于没有碰到语句,因
19.A switchi=l easel,break此依次往下运行,“a=a+2=2,a=a+3=5;当i=2时,执行case2,由于没有碰到break语句,因此依次往下执行,“a=a+2=7,a=a+3=10;当i=3时,执行case3,a=a+l=ll,由于没有碰到break语句,因此依次往下运行,当时,执行结束循环a=a+2=13,a=a+3=16;i=4default,a=a+3=l9,【解析】只有当个条件同步成立,即可以同步被、、整除时,才输出的值,
20.C3if237i而从到可以同步被、、整除的数只有故选择选巩5023742,c【解析】循环的作用是求行下标从到列下标从到的元素之和,即
21.A I20is=a[l]
[0]+a[l][l]+a
[2][o]+a
[2][l]+a
[2]
[2]=3+4+5+6+0—18【解析】在程序语句中,的初始值为进行第次循环后,自减为非
22.A k5,I whilek I4,执行循环体里的语句,输出此时的值变为程序执行第次循环时,自减变为0,printf k,k I2k I为假,退出循环语句因此程序的最终成果为0,while I【解析】通过地址来引用数组元素的措施有下列种
23.A5la[i][j];2*a[i]+j;3**a+j+j;4*a[i][j];5a[o]
[0]+3*i+j故A对的【解析】选项、的空间不够;字符串存储要有结束符且要占用一种空间,
24.C AB\0,printf用来输出字符,不能输入字符串【解析】由题目中线性链表的定义可知,要将和所指的结点互换前后位置,只
25.D q r要使指向的后一种结点,指向结点,指向结点即可而在选项中,这时q rP rr qD r-next=q,r指向的节点为q;p-next二r,这时P指向的节点为r;q-nextr-next,由于r节点已经指向q,因此执行这个语句后又指向因此选项不对的q q,D【解析】在第次外层循环中,首先得到进入到内层循环,只有循
26.Bo1for x++x=l for环的值为奇数时,变量的值才自加因此在内层循环执行过程中,变量的值自加两j x1,for x次,当退出内层循环时,然后执行得到在进入执行第次外层循环中,首for x=3,x++,x=42for先十十得到进入到内层循环,只有循环变量的值为奇数时,变量的值才自加x x=5for JX1,因此在内层循环执行过程中,变量的值自加两次,当退出内层循环时,然后执for XI for=7,x行得到因此打印输出变量的值为x++,x=8,x8【解析】子函数的功能是返回的平方值的整数部分子函数
27.C funldouble a afun2double的功能是返回的平方值的整数部分与的平方值的整数部分的和又由于题中变X,double yX Y量的定义为型,函数的定义为型,按照各类数值型数据间的混合运算,整W doublefun2int型数据被转换为实型数据因此双精度型变量的值为w
5.0【解析】在循环语句中自变量从开始,每次自加执行语句,由于
28.c fori02,s+=*t+i语言规定数组名做体现式相称于数组的首地址,也就是第一种元素的地址因此,代表C*t+i数组的第个元素因此程序运行的成果是即变量的值等于i+11+3+5+7+9=25,S25o【解析】本题在函数的定义中又出现了对函数的调用,因此函数
29.A intfunintnfun fun是递归函数因而在主函数中调用二时,当输入赋给变量时,递归调用的过程为x funx10Xfun10=l0+fun9=10+9+fun8=10+9+8+fun7=10+9++8+7+fun6=10+9++8+7+6+fun6=10+9++8+7+6+5+fun4=10+9++8+7+6+5+4+fun3=10+9++8+7+6+5+4+3+fun⑵=10+9++8+7+6+5+4+3+2+fun⑴=10+9++8+7+6+5+4+3+2=55【解析】在函数的定义中,变量为一种静态局部变量由于
30.C intfunintx[],intn sum在整个程序运行期间,静态局部变量在内存中的静态存储中占据着永久的存储单元函数的功能是求出数组□各个元素的和,因此在主函数中,调用函数后,intfunintx[],int nx funa,5变量当再次调用后,变量因此sum=l+2+3+4+5=15,funb,4sum=15+6+7+8+9=45,s=15+45=60o【解析】执行第一次循环时,用体现式\’来判断字符串数组指针
31.D forp[i]U]!=P与否抵达字符串的结尾,假如没有抵达,继续执行中的语句语句表达\除的余while if2数不为时,即字符串所有奇数,执行背面的语句因此退出第次的循环体时,输出为01for执行第次循环体对字符串进行处理,输出成果为因而最终输出成果为397,2“2584”5,3975【解析】从题目中可知,、、\\分别为一种字符,而是求字节个数
32.Bo\0\t sizeof的函数,其中包括占的字节,函数是求数组长度的函数;其以结束,因此的0strlen\0strlen值为的值为5,sizeof20【解析】数组的下标是从开始的,中越界,行下标和列下标都不能越界;中,虽
33.C AB然是个地址,不过也同样越界了;选项中表达的是第一种的首地址;选项表达的为其元素的c D值,并不是地址[解析]代表文献的开始,代表文献末尾,代表文献目
34.Bo SEEK_SET SEEK_END SEEK_CUR前位置【解析】当执行到第一种满足这个条件的出现时,通过
35.C ifi*i=20i*i=100i break语句跳出循环,执行下面的语句prinlf【解析】指针中寄存的是变量的地址,指针也可以进行增减运算,这时指针移动的最
36.B小单位是一种存储单元,而不是一种字节因此题中指的是将指针向后移动了个存储单p+66元,即指向寄存的是的地址b
[6],b
[6]【解析】由的数字定义可知二在选项中,由于的初值为
37.D n!n!n*n-l*n-2*…*1A f在循环语句中,依次乘以最终计算得到因此选项不对的在选项0,for f I,2,3,•••,n,f=n!=0,A中,的初值为在循环语句中,依次乘以最终B fI,for fI,2,3,n-1,计算得到因此选项不对的在选项中,的初值为在循环语句中,依次乘以f=n-l!,B CfI,for fn,n+1,n+2,……,因此选项C不对的在选项D中,f的初值为I,在for循环语句中,f依次乘以…,最终计算得到二因此选项对的n,n-1,n-2,2,f n!,D[解析]实现的功能是复制,该操作把复制到中,一,且
38.A strcpyare aaE03E33把复制到中,故输出为strcpyaEI],“you youa[l]a“areyou”【解析】本题重要考察按位与运算,的二进制形式为的二进
39.Ao x=OII05001000,01252制形式为两者相与得1010,1000o【解析】文献名”,预处理程序首先在引用被包括文献的源文献所在的目录
40.B include”下搜索指定的文献,如没找到,再按系统指定的原则目录搜索
二、基本操作题程序填空题
[1]k=2
[2]s+=2*k-l/sl
[3]s【解析】由题目中所给公式可知,多项武的第一项为变量中寄存多项式的和,其初1s始值为因此,循环从第二项开始,因此,【】处填;变量中寄存各项体现武的值,I1“k=2”si由公式可知,【2】处填s+=2*k;/sl”;题目中规定将多项式的和返回到主函数当中,因此,【3】处填“s”
三、程序改错题⑴错误对的:intj=l;doublej=
1.0;⑵错误:对的y+=l/i*i;y+=j/i*i;【解析】由函数可知,变量的作用是控制每一项符号的变化,并且作为运算的分proc j子,应改为型变量因此,应改为变量中寄存多项double“intj=l;”“double y式的值,多项式中的每一项符号由变量决定因此,应改为可j“y+=l/i*i;”“y+/i*i;”
四、程序设计题char*procchar*a
[81],int Mchar*max;int i=0max=a
[0]fori=0;i ifstrlenmaxmax=a[i];〃返回最长字符串的地址return max;【解析】本题首先要定义一种字符指针用于保留最长的字符串,并使其初始值指向第一种字符串;再循环遍历字符串数组,通过语句比较字符串的长度,并把最长的字符串地址赋给if字符指针;最终返回最长字符串的地址软件层次构造C.软件开发过程D.,两个或两个以上模块之间关联的紧密程度称为9耦合度A.内聚度B.复杂度C.数据传播特性D..下列描述错误的是10继承分为多重继承和单继承A.对象之间的通信靠传递消息来实现B.在外面看不到对象的内部特性是基于对象的“模块独立性好”这个特性C.类是具有共同属性、共同措施的对象的集合D.数据库、数据库系统、数据库管理系统之间的关系是
11.DB DBS DBMS包括和A.DB DBSDBMS包括和B.DBMS DBDBS包括和C.DBSDBDBMS没有任何关系D..下列合法的申明语句是12A.int_abc=50;B.double int=3+5e
2.5;C.long do=lL D.float3_asd=3e-3;.设、和是型变量,且则下列体现式中值为的是13x Yz int x=4,y=6,z=8,0A.XYB.x=YC.x IIy+zy-z.若为型变量,为型变量已知字符的码是则执行D.!x14ch chark int a ASCII97,下列语句后输出的成果为ch=b;k=10printf%X,%o,,ch,ch,k;printf,,k=%%d\n,k;因变量类型与格式描述符的类型不匹配,输出无定值A.输出项与格式描述符个数不符,输出为值或不定值B.C.62,142,k-%dD.62,142,k—%
10.有下列程序、15funint X,int y{returnx+y;main{int a=l,b=2,c=3,sum;sum=funa++,b++,a+b,C++;printf%d\n,sum;执行后的输出成果是A.6B.7C.8D.
9.假定和为型,则体现式的值是16x Ydouble x=2,y—x+3/2A.
3.500000B.
3.有如下程序17main{int x=l,a=0,b=0;switchxcase0b++;case Ia++;case2a++;b++;a,printfa=%d,b=%d\n,b;该程序的输出成果是A.a=2,b=lB.a=l,b=lC.a=l,b=0D.a=2,b=
2.下列程序的输出成果是18main{int i=l,j=2,k=3;ifi++==l++j==3==II k++==3printf%d%d%d\n,i,J,k;A.12319234C.223D.233,下列程序的输出成果是19#includemain{inta=0,i;fori=l;i5;i++{switchi{case0case3a+=l;case Icase2a+=2;defaulta+=3;printf%d,i;.有如下程序20main{int X,i;fori=l;i=50;i++{x=i;ifX%2=0ifx%3=0输出成果是ifX%7=
0.printf%d,i;A.28B.27C.42D.
41.如下程序的输出成果是21main{inta
[3]
[3]={{l,2},{3,4,{5,6}},i,j,s=0;fori=l;i3;i++forj=0;j=i;j++s+=a[i][j];printf%d\n,s;A.18B.19C.20D.
21.有下列程序22main23nt k=5;while-k printf%d,k=l;printf/n;执行后的输出成果是A.lB.2C.4死循环D.
23.若有定义“inta⑵⑶;则对a数组的第i行第J列元素的对的引用为A.**a+i+jB.a+i[j]C.*a+i+jD.*a+i+j.下列能对的进行字符串赋值的是24A.chars
[5]={,,ABCDEn};25chars
[5]={,A,B,C,D,E};、C.char*S;S=ABCDE;《,D.char*s;printf%s;.既有如下构造体阐明和变量定义,如图所示,指针、、分别指定一种链表中持续的25P qr个结点3dam nextdam nextdau nextnr”…I p|q rstruct node{har data;structnode*next;*P,*q,*r;现要将和所指结点互换前后位置,同步要保持链表的构造,下列不能完毕此操作的语qr句是oA.q-next=r-next;p-next=r;rmnext=q;B.q-next=r;q-next=r-next;r-next=q;C.q-next=r-next;r-next=q;p-next=r;D.q-next=q;p-next=r;q-next=r-next;.有下列程序26main{int i,j,x=0;fori=0,i2;i++{x++;forj=0;j=3;j++{ifj%2continue;x++x++printfx=%d\n,,x;程序执行后的输出成果是A.x=4B.x=8C.x=6D.x=
12.有下列程序
27、int funldoublea{return a*=a;}int fun2double x,double y{doublea=0,b=0;a=funlx;b=funly;returninta+b;main{double w;w=fun2l.l,
5.21B.5C.
5.0D,
0.
0.有下列程序:28main{inti,s=0,t[]={l,2,3,4,5,6,7,8,9};fori=0;i9;i+=2s+=*t+i;printf%d\n,s;程序执行后的输出成果是A.45B.20C.25D.
36.有下列程序29int funintn{ifn==lreturn I;elsereturnn+funn-lmain30ntx;seanf%dH,x;x=funx;printf%d\n,x;执行程序时,给变量输入程序的输出成果是x10,A.55B.54C.65D.45有下列程序
31.int funintx[],intn32static intsum=0,i;33ri=0;i returnsum;main{inta
[3]={l,2,3,4,5,b
[3]={6,7,8,9,s=0;s=funa,5+funb,4;printf%d\n,s;程序执行后的输出成果是、有下列程序A.45B.50C.60D.553L mainfchar*P[]={3697,2584;int i,j;long num=O;fori=0;i2;i++{j=0;whilep[i][j]!=\0{ifp[i]Li]-t\%2num=10*num+p[j][j]-O;j+=2;printf%d\n,num;程序执行后的输出成果是A.35B.37C.39D.
3975.如下程序的输出成果是32maino{charst
[20]=hell0\0\t\\\v;printf%d%d\n,strlenst,sizeofst;A.99B.520C.1320D.
2020.若有下的定义⑶⑵二能对的表达数组元素地址的体现式是33“int ttA.t⑶⑵B.t
[3]c.t[i]D.t
[2]
[2].函数中的代表的起始点是文献开始34fseekpf,OL,SEEK_END SEEK_END A.文献末尾B.文献目前位置C.以上都不对D..下述程序的输出成果是35#include main{int i;fori=l;i=10;i++{ifi*i=20i*i=IOObreak;printf%d\n,i*i;A.49B.36C.25D.
6436.若有定义intb⑻,*p=b;,则p+6表达数组元素⑹的值A.b数组元素的地址B.b
[6]数组元素的地址C.b
[7]数组元素⑼的值加上D.b
6.设变量已对的定义,则如下能对的计算的程序是37f=n!oA.f=O;fori=l;i=n;i++f*=i;B.f=l;fori=l;i C.f=l;fori=n;il;i++f*=i;D.f=l;fori=n;i=2;i-f*=i;.下述程序执行的输出成果是38o#includemain{char a⑵⑷;,strcpya are;strcpya[l],you;oa[o]
[3]=;printf%s\n,a;A.areyouB.you C.are D..设贝的值是39x=011050,U x=x01252A.1000B.1001C.0010D.
1000.在“文献包括,,预处理语句的使用形式中,当背面的文献名用双引号括时,40include寻找被包括文献的方式是直接按系统设定的原则方式搜索目录A.先在源程序所在的目录搜索,如没找到,再按系统设定的原则方式搜索B.仅仅搜索源程序所在目录C.仅仅搜索目前目录D.
二、基本操作题共分18请补充函数该函数的功能是计算下面公式的值proc,SN十SN=l+l/34/5+...+2N-1/SN-1例如,当时,N=20SN=
29.031674o注意部分源程序给出如下请勿改动函数和其他函数中的任何内容,仅在函数的横线上填入所编写的若main proc干体现式或语句试题程序#include#include#includedouble procintndouble s=
1.0,sl=
0.0;int k;for
[1];k=n;k++sl=S;
[2]【】;return3void mainintk=0double sum;systemCLS;printf\nPlease inputN=;scanf%d,k;sum=prock;printf,\nS=%lf,sum;
三、程序改错题共分24下列给定程序中,函数的功能是根据整型形参计算如下公式的值proc n,Y=l-l/22+l/33-l/44+-+-ln+l/nn例如,中的值为则应输出n10,
0.817962请修改程序中的错误,使它能得到对的成果注意不要改动函数,不得增行或删行,也不得更改程序的构造main试题程序#include#include#includedouble procintndouble y=
1.0;f****found****int J=l;.int i;。
个人认证
优秀文档
获得点赞 0