您好,欢迎访问三七文档
C语言第一大题每题1分1、下列不属于C语言关键字的是________。2、A)defaultB)registerC)enumD)external2、下列转义字符中错误的一个是____。A)'\000'B)'\0014'C)'\x111'D)'\2'3、已知inti=10;表达式20-0=i=9的值是____。A)0B)1C)19D)204、已知inta=15,执行语句a=a2以后,变量a的值是____。A)20B)40C)60D)805、求取满足式12+22+32+……+n2≤1000的n,正确的语句是____。A)for(i=1,s=0;(s=s+i*i)=1000;n=i++);B)for(i=1,s=0;(s=s+i*i)=1000;n=++i);C)for(i=1,s=0;(s=s+i*++i)=1000;n=i);D)for(i=1,s=0;(s=s+i*i++)=1000;n=i);6、以下程序的输出结果是。main(){intx=10,y=10;printf(%d%d\n,x――,――y);}A)1010B)99C)910D)1097、下面程序的输出结果是____。main(){inta=111;a=a^00;printf(%d,%o\n,a,a);}A)111,157B)0,0C)20,24D)7,78、下面程序的输出结果为。main(){inta=1,b=0;switch(a){case1:switch(b){case0:printf(**0**);break;case1:printf(**1**);break;}case2:printf(**2**);break;}}A)**0**B)**0****2**C)**0****1****2**D)有语法错误9、从键盘上输入446755时,下面程序的输出是____。#includestdio.hmain(){intc;while((c=getchar())!='\n')switch(c-'2'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break;}printf(\n);}A)888988B)668966C)88898787D)6689878710、下面程序的输出结果是____。main(){inti,j,x=0;for(i=0;i2;i++){x++;for(j=0;j-3;j++){if(j%2)continue;x++;}x++;}printf(x=%d\n,x);}A)x=4B)x=8C)x=6D)x=12第二大题每题2分1、下面程序的功能是计算1-3+5-7+……-99+101的值。main(){inti,t=1,s=0;for(i=1;i=101;i+=2){①;s=s+t;②;}printf(%d\n,s);}2、下面程序的功能是统计用0至9之间的不同的数字组成的三位数的个数。main(){inti,j,k,count=0;for(i=1;i=9;i++)for(j=0;j=9;j++)if(①)continue;elsefor(k=0;k=9;k++)if(②)count++;printf(%d,count);}3、下面程序的功能是删除字符串s中的空格。#includestdio.hmain(){char*s=Beijingligongdaxue;inti,j;for(i=j=0;s[i]!='\0';i++)if(s[i]!='')①;else②;s[j]='\0';printf(%s,s);}4、下面的函数expand在将字符串s复制到字符串t时,将其中的换行符和制表符转换为可见的转义字符表示,即用'\n'表示换行符,用'\t'表示制表符。expand(chars[],chart[]){inti,j;for(i=j=0;s[i]!='\0';i++)switch(s[i]){case'\n':t[①]=②;t[j++]='n';break;case'\t':t[③]=④;t[j++]='t';break;default:t[⑤]=s[i];break;}t[j]=⑥;}5、下面的程序是用递归算法求a的平方根。求平方根的迭代公式如下:#includemath.hdoublemysqrt(doublea,doublex0){doublex1,y;x1=①;if(fabs(x1-x0)0.00001)y=mysqrt(②);elsey=x1;return(y);}main(){doublex;printf(Enterx:);scanf(%lf,&x);printf(Thesqrtof%lf=%lf\n,x,mysqrt(x,1.0));}第三大题5分编写程序,输出如图所示高度为n的图形。参考答案第一大题1、答案:D2、答案:C3、答案:B4、答案:C5、答案:A6、参考答案:D注释:对变量x的――操作是后缀形式,变量x的减1操作要在执行完printf函数之后才进行,所以变量x的值在输出的时候仍然保持原值10。7、参考答案:A8、参考答案:B9、参考答案:C10、参考答案:A第二大题1、答案:①t=t*i②t=t0?-1:12、答案:①i==j②k!=i&&k!=j3、答案:①s[j++]=s[i]②s[j]=s[i]4、答案:①j++②'\\'③j++④'\\'⑤j++⑥'\0'5、答案:①(x0+a/x0)/2②a,x1注释:根据迭代公式,①处应当是计算迭代值x1=(x0+a/x0)/2。按照求平方根的要求,当迭代的精度不能满足(fabs(x1-x0)0.00001)时,则要继续迭代,因此②处应当填写a,x1。程序中调用了求绝对值的库函数fabs()。第三大题分析:编程的关键为两点,一是使用控制输出的行和列,这方面的内容在前面已经叙述,另一点是输出的数字和所在行、列关系。此题第一行输出的数字恰好是列数,从第二行起每行的数字均比上一行增n。参考答案:main(){inti,j,n;printf(\nPleaseEntern:);scanf(%d,&n);for(i=1;i=n;i++){for(j=1;j=n;j++)printf(%4d,(i-1)*n+j);printf(\n);}}数据结构第一大题每空1分1、通常从四个方面评价算法的质量:_________、_________、_________和_________。2、一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。3、假定一棵树的广义表表示为A(C,D(E,F,G),H(I,J)),则树中所含的结点数为__________个,树的深度为___________,树的度为_________。4、后缀算式923+-102/-的值为__________。中缀算式(3+4X)-2Y/3对应的后缀算式为_______________________________。5、若用链表存储一棵二叉树时,每个结点除数据域外,还有指向左孩子和右孩子的两个指针。在这种存储结构中,n个结点的二叉树共有________个指针域,其中有________个指针域是存放了地址,有________________个指针是空指针。6、对于一个具有n个顶点和e条边的有向图和无向图,在其对应的邻接表中,所含边结点分别有_______个和________个。7、AOV网是一种___________________的图。8、在一个具有n个顶点的无向完全图中,包含有________条边,在一个具有n个顶点的有向完全图中,包含有________条边。9、向一棵B_树插入元素的过程中,若最终引起树根结点的分裂,则新树比原树的高度___________。10、在快速排序、堆排序、归并排序中,_________排序是稳定的。第二大题5分设有一个输入数据的序列是{46,25,78,62,12,80},试画出从空树起,逐个输入各个数据而生成的二叉搜索树。参考答案第一大题1、答案:正确性易读性强壮性高效率2、答案:O(n)3、答案:9334、答案:-134X*+2Y*3/-5、答案:2nn-1n+16、答案:e2e7、答案:有向无回路8、答案:n(n-1)/2n(n-1)9、答案:增加110、答案:归并第二大题参考答案:图8数据库第一大题每题1分1、SQL中,下列涉及空值的操作,不正确的是()A.AGEISNULLB.AGEISNOTNULLC.AGE=NULLD.NOT(AGEISNULL)2、关系数据模型的三个组成部分中,不包括()A.完整性规则B.数据结构C.数据操作D.并发控制3、DB,DBMS和DBS三者间的关系是()A.DB包括DBMS和DBSB.DBS包括DB和DBMSC.DBMS包括DBS和DBD.DBS与DB、DBMS无关4、数据库的并发操作可能带来的问题包括()A.丢失更新B.数据独立性会提高C.非法用户的使用D.增加数据的冗余度5、并发事务的交叉执行破坏了事务的()A.原子性B.隔离性C.一致性D.永久性6、3NF()规范化为BCNF。A.消除非主属性对码的部分函数依赖B.消除非主属性对码的传递函数依赖C.消除主属性对码的部分和传递函数依赖D.消除非平凡且非函数依赖的多值依赖7、()是长期存储在计算机内的有组织,可共享的数据集合。A.数据库管理系统B.数据库系统C.数据库D.文件组织8、一个1:n联系可以转换为一个独立的关系模式,关系的码为()A.实体的码B.各实体码的组合C.n端实体的码D.每个实体的码9、在数据库设计中,将ER图转换成关系数据模型的过程属于()A.需求分析阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段10、关系完备的系统是指()。A.仅支持关系数据结构,不支持集合级的操作B.仅支持关系数据结构和三种关系操作C.支持关系数据结构和所有的关系代数操作D.支持关系模型的所有特征第二大题15分设有学生-课程数据库,其数据库模式为:学生S(学号SNO,姓名SN,所在系SD,年龄SA)、课程C(课程号CNO,课程姓名CN,先修课号PCNO)、学生选课SC(学号SNO,课程号CNO,成绩G)。试用关系代数,Sql语言分别写出下列查询:(1)查询选修了2号课程的学生的学号;(5分)(2)求选读了‘数据库概论'的学生学号和姓名;(5分)(3)求选修了全部课程的学生学号、姓名。(5分)参考答案第一大题1、答案:C2、答案:D3、答案:B4、答案:A5、答案:B6、答案:C7、答案:C8、答案:C9、答案:B10、答案:C第二大题参考答案:关系代数:(1)sno(cno=‘2'(SC))(2分)(2)Sno,Sn(Cn='数据库概论')(2分)(3)Sno,SN(S(Cno,sno(SC)÷Cno(C)))(2分)(1)SELECTCOUNT(*)FROMSTUDENT(2分)(2)SELECTSNOFROMSCGROUPBYSNOHAVINGCOUNT(*)5(3分)(3)DELECTFROMSCWHERESC.CNOIN(SELECTC.CNOFROMCWHERECN='数据结构')DELETEFROMCWHERECN=‘数据结构'(3分)软件工程共五题,每题5分1、软件生存周期为什么划分成阶段?2、系统流程图与数据流程图有什么区别?3、变换分析设计的步骤?4、测试与调试的主要区别?5、软件项目有哪些特点?参考答案1、软件生存周期为什么划分成阶段?答案:(1)任何一个阶段的具体任务不仅独立,而且简单,便于不同人员分工协作,从而降低整个软件开发工作的困难程度。(2)可以降低每个阶段任务的复杂程度,简化不同阶段的联系,有利于工程的组织管理,也便于采用良好的技术方法。(3)使软件开发的全过程以一种有条不紊的方式进行,保证软件的质量,特别是提高了软件的可维护性。2、系统流程图与数据
本文标题:软件工程基础试题四
链接地址:https://www.777doc.com/doc-2011325 .html