




免费预览已结束,剩余28页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为Alog2nBn2CO(n1.5)Dn(n-1)/2参考答案D您的答案得分0详细解答假设线性表的长度为 n,则在最坏情况下,冒泡排序要经过 n/2遍的从前往后的扫描和 n/2遍的从后往前的扫描,需要的比较次数为 n(n-1)/2。题22.算法分析的目的是A找出数据结构的合理性B找出算法中输入和输出之间的关系C分析算法的易懂性和可靠性D分析算法的效率以求改进参考答案D您的答案得分0详细解答算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应的数量级,常用时间复杂度和空间复杂度表示。分析算法的目的就是要降低算法的时间复杂度和空间复杂度,提高算法的执行效率。题33.线性表L=(a1,a2,a3,ai,an),下列说法正确的是A每个元素都有一个直接前件和直接后件B线性表中至少要有一个元素C表中诸元素的排列顺序必须是由小到大或由大到小D除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件参考答案D您的答案得分0详细解答线性表可以为空表;第一个元素没有直接前件,最后一个元素没有直接后件;线性表的定义中,元素的排列并没有规定大小顺序。题44.在单链表中,增加头结点的目的是A方便运算的实现B使单链表至少有一个结点C标识表结点中首结点的位置D说明单链表是线性表的链式存储实现参考答案A您的答案得分0详细解答头结点不仅标识了表中首结点的位置,而且根据单链表 (包含头结点 )的结构,只要掌握了表头,就能够访问整个链表,因此增加头结点目的是为了便于运算的实现。题55.软件工程的出现是由于A程序设计方法学的影响B软件产业化的需要C软件危机的出现D计算机的发展,参考答案C您的答案得分0详细解答软件工程概念的出现源自于软件危机。为了消除软件危机,通过认真研究解决软件危机的方法,认识到软件工程是使计算机软件走向工程科学的途径,逐步形成了软件工程的概念。题66.软件开发离不开系统环境资源的支持,其中必要的测试数据属于A硬件资源B通信资源C支持软件D辅助资源参考答案D您的答案得分0详细解答软件测试过程中,辅助资源包括测试用例 (测试数据 )、测试计划、出错统计和最终分析报告等。题77.在数据流图 (DFD)中,带有名字的箭头表示A模块之间的调用关系B程序的组成成分C控制程序的执行顺序D数据的流向参考答案D您的答案得分0详细解答数据流相当于一条管道,并有一级数据 (信息 )流经它。在数据流图中,用标有名字的箭头表示数据流。数据流可以从加工流向加工,也可以从加工流向文件或从文件流向加工,并且可以从外部实体流向系统或从系统流向外部实体。题88.分布式数据库系统不具有的特点是A数据分布性和逻辑整体性B位置透明性和复制透明性C分布性D数据冗余参考答案D您的答案得分0详细解答分布式数据库系统具有数据分布性、逻辑整体性、位置透明性和复制透明性的特点,其数据也是分布的;但分布式数据库系统中数据经常重复存储,数据也并非必须重复存储,主要视数据的分配模式而定。若分配模式是一对多,即一个片段分配到多个场地存放,则是冗余的数据库,否则是非冗余的数据库。题99.关系表中的每一横行称为一个A元组B字段C属性D码参考答案A您的答案得分0详细解答关系表中,每一行称为一个元组,对应表中的一条记录;每一列称为表中的一个属性,对应表中的一个字段;在二维表中凡能惟一标识元组的最小属性集称为该表的键或码。题1010.下列数据模型中,具有坚实理论基础的是A层次模型B网状模型C关系模型D以上3个都是参考答案C您的答案得分0详细解答关系模型较之格式化模型 (网状模型和层次模型 )有以下方面的优点,即数据结构比较简单、具有很高的数据独立性、可以直接处理多对多的联系,以及有坚实的理论基础。题1111.下列字符串中可以用作 C+语言标识符的是A_1234Bfoo barCvirtualD34var参考答案A您的答案得分0详细解答C+语言标识符只能由数字,字母和下划线组成,并且只能以字母和下划线为开头。题1212.关于C+语言与C语言关系描述中错误的是AC+语言是C语言的超集BC+语言对C语言进行了扩充CC+语言包含C语言的全部语法特征DC+语言与C语言都是面向对象的程序设计语言参考答案D您的答案得分0详细解答C语言是一种面向过程的程序设计语言,而 C+语言是一种面向对象的设计语言, C +语言是 C语言的超集,它包含了 C语言的所有语言特性,并进行了扩充。题1313.下列语句的输出结果 cout strlen(t065xffn);A5B14C8D输出项不合法,无正常输出参考答案A您的答案得分0详细解答该字符串中包含的字符是 t (跳格符 )、 (双引号 )、 065(ASCII值为八进制 065,也即十进制为 51的字符 )、 xff(ASCII值为十六进制 ff,也即十进制为 255的字符 )、 n(换行符 )。题1414.在C+语言中,不合法的实型数据的是A0.123B123e3C2.1e3.5D123.0参考答案C您的答案得分0详细解答在 C+语言中,实数有两种形式表示,即十进制数形式和指数形式,在指数形式中, e3,2.1e3.5, .e3, e等都是不合法的指数形式。再如 123e3或 123E3都代表 123乘以 10的 3次方。注意,字母 e的前面必须有数字,且 e的后面必须是整数。题1515.若有如下语句 #includeiostream.h void main( ) int x=3; dox=x-2; coutx; while(!(-x); 则上面程序段A输出的是1B输出的是1和-2C输出的是3和0D是死循环参考答案B您的答案得分0详细解答do-while语句的一般格式为 do循环体语句 while(表达式 );先执行循环体语句一次,再判断表达式的值,若为真则继续执行循环,否则终止循环。本题中,先执行 x=x-2,即为 1。判断表达式的值, !(-x)为真, x=0,继续循环。再次执行循环体语句后, x=-2,此时表达式的值为 0,结束循环。题1616.下面有关for循环的正确描述是Afor循环只能用于循环次数已经确定的情况Bfor循环是先执行循环体语句,后判断表达式C在for循环中,不能用break语句跳出循环体Dfor循环的循环体语句中,可以包含多条语句,但必须用花括号括起来参考答案D您的答案得分0详细解答选项 Afor循环可以用于循环次数不确定的情况;选项 Bfor循环是先判断表达式,后执行循环体语句;选项 C在 for循环中,可以用 break语句跳出循环体,从而接着执行循环体后面的语句。题1717.以下程序中调用 cin函数给变量a输入数值的方法是错误的,其错误原因是 #includeiostream.h void main( ) int *p,* q,a,b; p=&a; coutinput a:; cinp; A*p表示的是指针变量p的地址Bp表示的是变量a的地址,而不是变量a的值C*p表示的是指针变量p的值D*p只能用来说明p是一个指针变量参考答案B您的答案得分0详细解答p表示的是变量 a的地址,定义后 *p表示的是变量 a的值。题1818.假定 int类型变量占用两个字节,其有定义int x10=0,2,4;,则数组x在内存中所占字节数是A3B6C10D20参考答案D您的答案得分0详细解答x数组共有 10个元素,在花括弧内只提供 3个初值,这表示只给前面的 3个成员赋值,后 7个元素的值为 0,所以,一共有 20个字节。题1919.有以下程序 #includeiostream.h void fun(int a,int b,intc) a=456,b=567,c=678; void main( ) int x=10,y=20,z=30; fun(x,y,z); cout x , y , z endl; 输出结果是A30,20,10B10,20,30C456,567,678D678,567,456参考答案B您的答案得分0详细解答本题考查函数中变量的作用范围,在主函数中给变量 x, y, z赋值,然后将其作为实参传递给了函数 fun(),虽然在函数 fun()中改变了这 3个变量的值,但只是同名的局部变量,不影响函数中变量的值,所以在调用函数 fun()结束后,主函数 3个变量的值未改变。题2020.以下叙述正确的是A函数可以嵌套定义但不能嵌套调用B函数既可以嵌套调用也可以嵌套定义C函数既不可以嵌套定义也不可以嵌套调用D函数可以嵌套调用但不可以嵌套定义参考答案D您的答案得分0详细解答在 C+语言中,所有的函数都是平行的,即在定义函数时是互相独立的,一个函数并不从属于另一个函数,即函数不能嵌套定义,但可以互相调用。但是不能调用 main()函数。题2121.下列定义中p指向的地址可更改,但*p不能够更改的是Aconst int * p;Bint * const p;Cconst int * const p;Dint *p;参考答案A您的答案得分0详细解答const int*p;是只能改变指针地址, int * const p;是只能改变 *p的内容, const int* constp;是指针的地址和 *p的内容都不能改变, int * p;是两者都能改变。题2222.下面的语句中错误的是Aint a=5;int xa;Bconst int a=5;int xa;Cint n=5;int *p=new int A.;Dconst int n=5;int *p=new int a;参考答案A您的答案得分0详细解答在 C+中定义数组时,数组的范围参数在静态定义时必须是一个常数,而在动态分配内存定义时可以是常数,也可以是一个赋了值得参数。故选项 A是错误的定义方法。题2323.下面程序的结果是 #includeiostream.h class A int a; public: A( ):a(1) void showa( ) couta; ; class B int a; public: B( ):a(2) void showa( ) couta; ; class C:public A,public B int a; public: C( ): a(3) void showa( ) cout a; ; void main( ) C c; c showa( ); A1B2C3D程序有错误参考答案C您的答案得分0详细解答类 A,类 B,中都有 showa()函数,类 C继承后再次重写 showa()函数就解决了继承的二义性,这时c.showa()函数显示的就是类 C中的 showa()的值。题2424.关于二义性的描述错误的是A一个子类的两个父类中都有某个同名成员,在子类中对该成员访问可能出现二义性B解决二义性可以用对成员名的限定法C父类和子类中同时出现同名函数,也可能存在二义性D一个子类是从两个父类派生出来的,而这两个父类又有一个共同的父类,对该父类成员进行访问时,可能出现二义性参考答案C您的答案得分0详细解答基类和其继承类同时出现同名函数,则在继承类中实现对象中调用该函数是使用继承类中的定义,这种情况下是不会产生二义性的。题2525.如果表达式x*y+z中,“*”是作为友元函数重载的,“+”是作为友元函数重载的,则该表达式还可为Aoperator+(operator*(x,y),z)Bxoperator+(operator*(x,y),Z)Cyoperator*(operator+(x,y),z)Dxoperator+(operator*(x,y)参考答案A您的答案得分0详细解答C+中用成员函数重载 x*y为: x.operator * (y),用友元函数重载 x*y为: operator *(x, y),用成员函数重载 x+y为: x.operator+(y),用友元函数重载 x+y为: operator+(x, y)。题2626.函数模板: template class T T add(T x, T y)return x+y; 下列对 add函数的调用不正确的是Aadd (1, 2)Badd int (1, 2)Cadd (1.0,2)Dadd(1.0,2.0)参考答案C您的答案得分0详细解答对于 template class TT add(T x, T y)return x+y; 调用时可以省略模板实参的声明,但是要求 x和 y的数据类型必须是一样的。题2727.对于语句 coutsetfill(*) setw(10)1setfill (*) setw (2)2;的输出结果是A*1*2B*12C*1*2D12* *参考答案A您的答案得分0详细解答C+语言中 setfill的意思是在空格的地方填上 setfill函数中的参数字符, setw的意思是设置整个输出字符串的字符个数,本题中用 *来代替空格。题2828.this指针是C+语言实现什么的一种机制?A抽象B封装C继承D重载参考答案B您的答案得分0详细解答this指针是 C+语言实现封装的一种机制,它将对象和该对象调用的成员函数连接在一起,在外部看来,每一个对象都拥有自己的函数成员。题2929.有如下程序 #includeiostream.h int func(int a,int b) return(a+b); void main( ) int x=2,y=5,z=8, r; r=func ( func(x,y),z); cout r; 该程序的输出的结果是A12B13C14D15参考答案D您的答案得分0详细解答语句 r=func(func(x, y), z);中, fun(x, y)是一次调用函数,它的值作为 func另一次调用的实参。注意本题调用两次函数。题3030.下列程序的输出结果是 #includeiostream.h class Myclass public : Myclass( int i=0,int j=0) x=i; y=j; void show( ) coutx=x y=yendl; void show( )constcoutx= y=yendl; privated: int x; int y; ; void main( ) Myclass my l (3,4); const my2(7,8); my lshow( ); my2show( ); Ax=4,y=3;x=7,y=8Bx=3,y=4;x=7,y=8Cx=7,y=8;x=4,y=3Dx=8,y=7;x=7,y=8参考答案A您的答案得分0详细解答在 Myclass类中定义了两个同名函数 show,其中一个是常成员函数。在 main函数中定义了两个对象 myl, my2,其中对象 my2是常对象。这两个对象调用成员函数 show时,通过对象 myl调用的是没有用const修饰的一般成员函数,而通过对象 my2调用的是 const修饰的常成员函数。题3131.下列描述中,抽象类的特性是A可以说明虚函数B可以定义友元函数C可以进行构造函数重载D不能说明其对象参考答案D您的答案得分0详细解答带有纯虚函数的类称为抽象类,抽象类中的纯虚函数没有具体的定义,所以不能说明抽象类的对象。题3232.在C+语言中,打开一个文件就是将这个文件与一个什么建立关联?A流B类C结构D对象参考答案A您的答案得分0详细解答C+的 I/O系统是通过一种称为流的机制来实现文件和控制台的 I/O操作。简单地说,在 C+中,输入输出操作是通过流来完成的。而文件流以磁盘文件以及其他可按文件方式进行管理的外部设备为输入输出对象。每个文件流都应当与一个打开的文件相联系;关闭一个文件就是取消这种联系。题3333.下列程序的运行结果是 #includeiostream.h void fun(int *a,int *b) int *k; k=a;a=b;b=k; void main( ) int a=3,b=6, *x=&a,*y=&b; fun(x,y); cout a b; A63B36C编译出错D00参考答案B您的答案得分0详细解答函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中去。在本题解析中,我们试图将这一问题解释清楚!大家可以考虑一下利用下面这函数可不可以实现 a和b的互换。 swap(int x,int y) int t; t=x; x=y; y=t; 如果在main函数中用swap(a,B,会有什么结果呢?在函数调用开始时,a的值传送给x,b的值传递给y。执行完swap()函数后,x和y的值是互换了,但 main()函数中的a和b并未互换。也就是说由于“单向传递”的“值传递”方式,形参值的改变无法传递给实参。为了使在函数中改变了的变量值能被main()函数所用,不能采取上述办法,而应该用指针变量做函数参数。在函数执行过程中使指针变量所指向的变量值发生变化,函数调用结束后,这些变量值的变化被保留下来,这样就实现了调用函数改变变量的值,在主调函数中使用这些改变了的值的目的。 swap(int *p1,int *p2) int p; p= *p1; *p1=*p2; *p2=p; 注意交换*p1和*p2的值是如何实现的,如果写成下面这样就有问题了! swap(int *p1,int *p2) int*p; *p=*p1;/*此语句有问题:*/ *p1=*p2; *P2=*p; *p1就是a,是整型变量。而*p是指针变量p所指向的变量,但p中并无确切地址,用*p可能会造成破坏系统的正常工作状态。应该将*p1的值赋给一个整型变量,用整型变量作为过渡变量实现*p1和*p2的交换。题3434.执行语句 for(i =1+ 4;);,后变量 i的值是A3B4C5D不定参考答案C您的答案得分0详细解答for语句中的表达式可以部分或全部省略,但两个 “;”不能省略,若 3个表达式均省略,会因为缺少条件判断,导致循环无限执行,而形成死循环。本题中当 i的值为 5的时候,循环终止。题3535.判断char型变量c是否为小写字母的正确表达式是Aa=c=2B(c=A.&(c=z)C(a=C.|(z=C.D(c=a)&(c=z)参考答案D您的答案得分0详细解答字符型数据在计算机内部是以 ASCII码存储的,英文大写字母和小写字母在 ASCII码表中都是连续的。大写字母 AZ是从 6590,小写字母 az是从 97122。所以只要变量 c大于等于 a并且等于小于 z就能保证其为小写字母。二、填空题(每空2分,共30分)题3636.在算法正确的前提下,评价一个算法的两个标准是_。+-=参考答案(1分)时间复杂度和空间复杂度您的答案题37-3837.将代数式转换成程序设计中的表达式为_。SQRT(x2+y2)/(a+-=参考答案(1分)B您的答案38.软件危机出现于60年代末,为了解决软件危机,入们提出了_的原理来设计软件,这就是软件工程诞生的基础。+-=参考答案(1分)软件工程学您的答案题3939._是数据库设计的核心。+-=参考答案(1分)数据模型您的答案详细解答数据模型是对客观事物及联系的数据描述,它反映了实体内部及实体与实体之间的联系。因此,数据模型是数据库设计的核心。题4040.在关系模型中,把数据看成一个二维表,每一个二维表称为一个_。+-=参考答案(1分)关系您的答案详细解答在关系模型中,把数据看成一个二维表,每一个二维表称为一个关系。表中的每一列称为一个属性,相当于记录中的一个数据项,对属性的命名称为属性名;表中的一行称为一个元组,相当于记录值。题4141.一个C+语言程序的开发步骤通常包括编辑、_、链接、运行和调试。+-=参考答案(1分)编译您的答案详细解答C+语言程序开发的基本步骤是编辑、编译、链接、运行和调试。题4242.若已知a=10,b=20,则表达式!ab的值为_。+-=参考答案(1分)1您的答案详细解答计算表达式 !a b,先计算 !a,因 a的值为 10, !a的值为 0。关系表达式 0 20为真,所以表达式 !a b的值为 1。题43-4443.下面程序的运行结果是 _和_。 #includeiostream.h #define N 10 #define s(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养老服务中心智能化设施建设方案
- 2025广播电视播音员主持人通关考试题库及完整答案详解(考点梳理)
- 新闻传播实践教学体系创新研究
- 2024年自考专业(计算机网络)模拟题库(预热题)附答案详解
- 农村水质提升工程初步设计
- 2024-2025学年度医学检验(士)考试彩蛋押题(考点梳理)附答案详解
- 2024年自考专业(计算机信息管理)自我提分评估【必考】附答案详解
- 2024-2025学年度自考专业(计算机网络)试题预测试卷附参考答案详解【基础题】
- 2024焊工考试模拟试题及完整答案详解【夺冠】
- 2025一级建造师考试历年机考真题集(重点)附答案详解
- 国家自然科学基金申请讲座培训课件
- 一年级上册数学10以内分成作业
- 市级科研课题智慧教育课题现场结题汇报PPT
- 第二单元 劳动最光荣 课件32张 统编版高中语文必修上册
- 教师资格证(高中英语)学科知识点归纳总结
- 1978年全国高考语文试卷
- 入团考试试题及答案
- 2022注册安全工程师考试题库(含答案)
- 面瘫(面神经炎)课件
- 媒体发稿推广合作协议模版
- 四年级上册数学 线段、直线、射线、角(同步练习)人教版 (无答案)
评论
0/150
提交评论