1、第一套1、下面叙述正确的是_。A、算法的执行效率与数据的存储结构无关B、算法的空间复杂度是指算法程序中指令(或语句)的条数C、算法的有穷性是指算法必须能在执行有限个步骤之后终止D、以上三种描述都不对 算法的设计可以避开具体的计算机程序设计语言,但算法的实现必须借助程序设计语言中提供的数据类型及其算法。数据结构和算法是计算机科学的两个重要支柱。它们是一个不可分割的整体。算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。算法的有穷性是指一个算法必须在执行有限的步骤以后结束。本题答案为 C。2、数据库系统的核心是_。A、数据模型B、数据库管理系统C、软件工具D、数据库数据库管理系统DBMS是
2、数据库系统的核心。DBMS是负责数据库的建立、使用和维护的软件。DBMS建立在操作系统之上,实施对数据库的统一管理和控制。用户使用的各种数据库命令以及应用程序的执行,最终都必须通过DBMS。另外,DBMS还承担着数据库的安全保护工作,按照DBA所规定的要求,保证数据库的完整性和安全性。本题答案为 B。3、在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是_。A、可行性分析B、需求分析C、详细设计D、程序编码软件开发阶段包括需求分析、总体设计、详细设计、编码和测试五个阶段。其中需求分析阶段常用的工具是数据流图和数据字典。本题答案为 B。4、在软件开发中,下面任务不属于设计阶段的是
3、_。A、数据结构设计B、给出系统模块结构C、定义模块算法D、定义需求并建立系统模型软件设计一般分为总体设计和详细设计两个阶段,总体设计的任务是确定软件的总体结构,子系统和模块的划分,并确定模块间的接口和评价模块划分质量,以及进行数据分析。详细设计的任务是确定每一模块实现的定义,包括数据结构、算法和接口。本题答案为 D。5、下列叙述中正确的是_。A、数据库是一个独立的系统,不需要操作系统的支持B、数据库设计是指设计数据库管理系统C、数据库技术的根本目标是要解决数据共享的问题D、数据库系统中,数据的物理结构必须与逻辑结构一致数据库是存储在计算机存储设备中的、结构化的相关数据的集合。数据库中的数据不
4、只是面向某一项特定的应用,而是面向多种应用,可以被多个用户、多个应用程序共享,不具有独立的系统。设计数据库的目的实质上是设计出满足实际应用需求的实际关系模型。数据库技术的主要目的是有效地管理和存取大量的数据资源,包括:提高数据的共享性,使多个用户能够同时访问数据库中的数据;减小数据的冗余,以提高数据的一致性和完整性;提供数据与应用程序的独立性,从而减少应用程序的开发和维护代价。本题答案为 C。6、下面描述中,符合结构化程序设计风格的是_。A、使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B、模块只有一个入口,可以有多个出口C、注重提高程序的执行效率D、不使用 goto语句基于对
5、结构化程序设计原则、方法以及结构化程序基本构成结构的掌握和了解,在结构化程序设计的具体实施中,要注意把握如下要素:1、使用程序设计语言中的顺序、选择、循环等有限的控制结构表示程序的控制逻辑;2、选用的控制结构只准许有一个入口和一个出口;3、程序语句组成容易识别的块,每块只有一个入口和一个出口;4、复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现;5、语言中所没有的控制结构,应该采用前后一致的方法来模拟;6、严格控制GOTO语句的使用。其意思是指:(1)用一个非结构化的程序设计语言去实现一个结构化的构造;(2)若不使用GOTO语句会使功能模糊;(3)在某种可以改善而不是损害程序可读性的情况下。
6、 本题答案为 A。7、下列模式中,能够给出数据库物理存储结构与物理存取方法的是_。A、内模式B、外模式C、概念模式D、逻辑模式数据库管理系统的三级模式结构由外模式、模式和内模式组成。外模式,或子模式,或用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图。模式,或逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和。外模式是模式的一部分。内模式,或存储模式,或物理模式,是指数据在数据库系统内的存储介质上的表示,即对数据的物理结构和存取方式的描述。本题答案为 A。8、下面概念中,不属于面向对象方法的是_。A、对象B、继承C、类D、过程调用面向对象方法是
7、一种运用对象、类、封装、继承、多态和消息等概念来构造、测试、重构软件的方法。面向对象方法从对象出发,发展出对象,类,消息,继承等概念。本题答案为 D。9、在一棵二叉树上第 5层的结点数最多是_。A、8B、16C、32D、15根据二叉树的性质:二叉树第i(i1)层上至多有2 i-1个结点。得到第5层的结点数最多是16。本题答案为 B。10、以下数据结构中不属于线性数据结构的是_。A、队列B、线性表C、二叉树D、栈线性表、栈和队列等数据结构所表达和处理的数据以线性结构为组织形式。栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作,允许插入和删除的一端称为栈顶,另一端称为栈底。一个新
8、元素只能从栈顶一端进入,删除时,只能删除栈顶的元素,即刚刚被插入的元素。所以栈又称后进先出表(Last In First Out);队列可看作是插入在一端进行,删除在另一端进行的线性表,允许插入的一端称为队尾,允许删除的一端称为队头。在队列中,只能删除队头元素,队列的最后一个元素一定是最新入队的元素。因此队列又称先进先出表(First In First Out)。本题答案为 C。11、下列程序的输出结果是_。#includeusing namespace std;int main()char a=“Hello,World“;char *ptr=a;while(*ptr)if(*ptr=aswi
9、tch(n) case 1:case 2:coutB、templateC、templateD、template本题主要考查了模板的定义,在C+中可以在定义类时不指定具体的数据类型,而在编译时进行前期绑定,对于多参数的模板,在参数间用“,” 隔开,如果模板参数为一个类,在模板参数前面必须加上class关键字。本题答案为 C。19、有以下程序#includeint i=0;void fun() static int i=1;std:coutusing namespace std;class MyClasspublic:MyClass(int n)number=n;/ 拷贝构造函数MyClass(M
10、yClassMyClass() private:int number;MyClass fun(MyClass p)MyClass temp(p);return temp;int main()MyClass obj1(10),obj2(0);MyClass obj3(obj1);obj2=fun(obj3);return 0;程序执行时,MyClass 类的拷贝构造函数被调用的次数是_。A、5B、4C、3D、2obj1(10)将执行一次构造函数,obj2(0)也将执行一次构造函数;obj3(obj1)将以obj1作为参数执行一次构造函数;fun(obj3)中的temp(p)也将执行一次构造函数,
11、而fun本身是按值传递参数的,形参在fun函数内也要分配独立的空间,故也要执行一次构造函数,对于其返回结果也是MyClass类型的,同样需要执行一次构造函数,故一共要执行4次。本题答案为 B。21、已知:int m=10;在下列定义引用的语句中,正确的是_。A、int B、int y=C、int D、int 本题主要考查了对引用及地址(B、double Volume:operator-(double);C、Volume Volume:operator-(Volume);D、Volume operator-(Volume,Volume);本题主要考查了运算符的重载。对于运算符的重载,通常有两种形
12、式。1、操作结果 operator 运算符(操作数1,操作数2)2、操作结果 类:operator 运算符(操作数)对于上述选项中,B、C为第二种类型,A、D为第一种类型,在第一种类型中,两个操作数必须至少有一个自定义类,对选项A而言,其两个操作数均为double型数据,因此选项A是错误的运算符重载。本题答案为 A。23、执行语句序列ofstream outfile(“DATA.DAT“);if()coutusing namespace std;class Complexpublic:Complex(double r=0,double i=0):re(r),im(i)double real()
13、 const return re; double imag() const return im; Complex operator+(Complex c)const return Complex(re+c.re,im+c.im); private:double re,im;int main()Complex a=Complex(1,1)+Complex(5);cout是一个_。A、用于输出操作的非成员函数B、用于输入操作的非成员函数C、用于输出操作的成员函数D、用于输入操作的成员函数C+流的输入运算符和输出运算符或=Aclass Testpublic:Test()cnt+;Test()cnt-
14、;static int Count()return cnt;private:static int cnt;int Test:cnt=0;int main()coutusing namespace std;int main()int i=5;int r=7;coutusing namespace std;templateT fun(T a,T b) return(ausing namespace std;class basepublic:int n;base(int x) n=x;virtual void set(int m) n=m;coutset(1);pbase=pbase-set(2);
15、return 0;标准答案为:2 5本题主要考查了 C+中的虚拟函数及多态机制。在 C+中可以用虚拟函数来实现运行时多态。本题中首先创建了两个对象 d1、d2,其对应的类分别是 deriveA与 deriveB。在创建 d1,d2 时,构造函数分别为它们设置了属性 n的值为 1,3。pbase 为一个指向基类的指针,在将 d1,d2 的地址赋值给 pbase后,调用 pbase的指针成员将自动根据其所属的子类调用相应的成员函数,故本题输出应为“2 5 ”。48、与成员访问表达式 p-name等价的表达式是_。标准答案为:(*p).namep-name实际上是批指针 p所指结构的成员 name,
16、因此我们可以用*p 来指定 p所指的内容,其成员可用“ .”操作符实现,故为(*p).name ,注意到“.”的优先级要高于“ *”,故对*p 要加上括号。49、从实现的角度划分,C+所支持的两种多态性分别是_时的多态性和运行时的多态性。标准答案为:编译在 C+语言中,多态性可分为两类:编译时的多态性和运行时的多态性。编译时的多态性是通过函数重载和模板体现的。运行时的多态性是通过虚函数体现的。50、下面是用来计算n的阶乘的递归函数,请将该函数的定义补充完整。(注:阶乘的定义是n!=n*(n-1)*2*1)unsigned fact(unsigned n)if(n1时,n!=n*(n-1)!,符合递归的定义,因此,本题答案为 n*fact(n-1)。