1、计算机二级(C+)26 及答案解析(总分:1765.00,做题时间:90 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:25,分数:1750.00)1.下列语句的输出结果( )。 cout strlen(“/t/“/065/xff/n“); (分数:70.00)A.5B.14C.8D.输出项不合法,无正常输出2.C+语言中用于定义类的关键字是( )。(分数:70.00)A.classB.structC.defaultD.sizeof3.下列程序的输出结果是( )。 # include iostreamh int min( int a,int b) if(a b)return a
2、; else return b; return 0 void main ( ) cout min(1,min(2,3) endl; (分数:70.00)A.15B.25C.35D.454.下面这个程序的结果是( )。 #includeiostreamh classA private: inta; public: voidseta( );intgeta( ); voidA:seta( ) a=1; intA:geta( ) returna; classB private: inta; publiC: voidseta( );intgeta( ); voidB:seta( ) a=2; intB:
3、geta( ) returna; classC:publicA,publicB private: intb; public: voiddisplay( ); voidC:display( ) int b:geta( ); coutb; voidmain( ) Cc; cseta( ); c.display( ); (分数:70.00)A.1B.2C.随机输出 1或 2D.程序有错5.如果表达式 x * y + z中,“ * ”是作为友元函数重载的,“+”是作为友元函数重载的,则该表达式还可为 ( )。(分数:70.00)A.public void method( )B.public void
4、method( ) throws ExceptionC.public void method( ) throw TimedoutExceptionD.public throw TimedOutException void method( )6.对于语句 cout setfill(*) setw(10) 1 setfill(*) setw(2) 2;的输出结果是 ( )。(分数:70.00)A.* * * * * * * * * 1 * 2B.* * * * * * * * 12C.* * * * * * * 1 * 2D.12 * * * * * * * *7.下列程序是用来判断数组中特定元素
5、的位置所在,则输出结果为( )。 #includeconioh #includeiostreamh int fun(in *s,int t,int *k) int i; * k=0; for(i=0;i t;i+) if(s *k si) *k=i; return S *k; void main( ) int a10= 876,675,896,101,301,401,980,431,451,777 ,k; fun(a,10,& k); cout k , ak; (分数:70.00)A.沙箱模型为从网上获得的不可信代码提供了控制非常严格的运行环境B.在沙箱模型中,本地代码被认为是可信代码,对本地
6、系统资源有完全的访问权C.在沙箱模型中,从远端主机下载的 Applet是不可信的,并且只能访问沙箱中的有限资源D.以上说法都正确8.下面关于 C+语言变量的叙述错误的是( )。(分数:70.00)A.C+语言中变量分为 auto,static,extem 和 register四种存储类型B.自动变量和外部变量的作用域为整个程序C.内部静态变量的作用域是定义它的函数D.外部静态变量的作用域是定义它的文件9.语句 ofstream f(“SALARYDAT“,ios:appios:binary);的功能是建立流对象 f,试图打开文件 SALARYDAT 并与之连接,并且( )。 (分数:70.00
7、)A.关系模型B.层次模型C.网状模型D.以上皆非10.下列选项中不全是 C+语言关键字的是( )。(分数:70.00)A.设计视图B.模板视图C.数据表视图D.SQL视图11.虚函数必须是类的( )。(分数:70.00)A.成员函数B.友元函数C.构造函数D.析构函数12.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。(分数:70.00)A.联合查询B.传递查询C.数据定义查询D.子查询13.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是( )。(分数:70.00)A.Text1对象的左边界距窗体的左边界是 800twip,
8、上边界距窗体的上边界为 2000twipB.Text1对象的左边界距屏幕的左边界为 800twip,上边界距屏幕的上边界为 2000twipC.Text1对象的宽度为 2000twip,高度为 800twipD.Text1对象的高度为 800点,宽度为 2000点14.关于抽象类下面说法正确的是( )。(分数:70.00)A.流动的字节B.流动的对象C.流动的文件D.流动的数据缓冲区15.下列关于运算符重载不正确的是( )。(分数:70.00)A.throwsB.throwC.ThrowableD.Exception16.派生类对象对其基类中的什么成员是可访问的?(分数:70.00)A.pub
9、licB.privateC.protectedD.以上都对17.下面有关 for循环的正确描述是( )。(分数:70.00)A.A:func2( )和 B:func1( )都是虚函数B.A:func2( )和 B:func1( )都不是虚函数C.B:func1( )是虚函数,而 A:func2( )不是虚函数D.B:func1( )不是虚函数,而 A:func2( )是虚函数18.建立派生类对象时,3 种构造函数分别是 a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这 3种构造函数的调用顺序为( )。 (分数:70.00)A.数据库管理系统、数据库应用系统B.数据库管理
10、系统C.数据库应用系统、数据库管理系统、操作系统D.数据库应用系统19.下面程序的执行结果是( )。 #include“ iostreamh“ void main( ) int * p,r; p=new in; * p=20; r=sizeof(* p); cout r end1; delete p; (分数:70.00)A.CDateB.IsDateC.DateD.IsText20.只能作为成员函数重载的是( )。(分数:70.00)A.类创建时B.创建对象时C.删除对象时D.不自动调用21.在 32位的计算机中,一个 char型数据所占的内存长度的字节是( )。(分数:70.00)A.选择
11、编号最小的空闲工作B.选择编号最大的空闲工作区C.随机选择一个工作区的区号D.无此工作区,命令错误22.以下都是 C+语言标识符的是( )。(分数:70.00)A.若在重定义虚函数时使用了 virtual,则该重定义函数还是虚函数B.虚函数不能声明为友元C.子类必须重定义父类的虚函数D.虚函数不能是 static的23.如果表达式+x/y 中,+是作为友元函数重载的,/是作为成员函数重载的,则该表达式还可为( )。(分数:70.00)A.抽象类就是其中有函数定义但没有实现的类B.抽象类是可以被实例化的C.派生类不能成为抽象类D.抽象类的子类必须实现父类中的纯虚函数24.设有 int x=11;
12、,则表达式(x+ * 2/3)的值是( )。(分数:70.00)A.7B.8C.11D.1225.以下哪个特征不是面向对象思想中的主要特征?(分数:70.00)A.只能读B.只能用来编辑C.可以读也可以编辑D.对编辑框设置无效26.在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是( )。(分数:-1.00)A.路径的集合B.循环的集合C.目标的集合D.地址的集合27.“年龄在 18-25之间”这种约束是属于数据库当中的( )。(分数:-1.00)A.原子性措施B.一致性措施C.完整性措施D.安全性措施28.数据库的故障恢复一般是由( )。(分数:-1.00)A.数据流图完成
13、的B.数据字典完成的C.DBA完成的D.PAD图完成的29.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段 其中数据独立性最高的阶段是 ( )。(分数:-1.00)A.数据库系统B.文件系统C.人工管理D.数据项管理30.对建立良好的程序设计风格,下面描述正确的是( )。(分数:-1.00)A.程序应简单、清晰、可读性好B.符号名的命名只要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无31.开发软件时对提高开发人员工作效率至关重要的是( )。(分数:-1.00)A.操作系统的资源管理功能B.先进的软件开发工具和环境C.程序人员的数量D.计算机的并行处理能
14、力32.下列叙述中,错误的是( )。(分数:-1.00)A.数据的存储结构与数据处理的效率密切相关B.数据的存储结构与数据处理的效率无关C.数据的存储结构在计算机中所占的空间不一定是连续的D.一种数据的逻辑结构可以有多种存储结构33.将 E-R图转换到关系模式时,实体与联系都可以表示成( )。(分数:-1.00)A.属性B.关系C.键D.域34.已知数据表 A中每个元素距其最终位置不远,为节省时间,应采用的算法是( )。(分数:-1.00)A.堆排序B.直接插入排序C.快速排序D.直接选择排序35.算法分析的目的是( )。(分数:-1.00)A.找出数据结构的合理性B.找出算法中输入和输出之间
15、的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进三、填空题(每空 2分,共 30分)(总题数:10,分数:30.00)36.在 C+语言中,访问一个对象的成员所用的运算符是 1,访问一个指针所指向的对象的成员所用的运算符是 2。(分数:3.00)填空项 1:_37. 以下程序的输出结果是 1。 #includeiostreamh class object private: int va1; public: object2; object(int i) object3; ; object:Object4 va1=0; cout “Default constructor for obj
16、ect“ end1; object:object(int i) va1=i cout “Constructor for object“ va1 end1; object:object5 cout “Destructor for object“ va1 end1; class container private: object one; object two; int data; public: container6; container(int i,int j,int k); container7; ; container:container8 data=0; cout “Default co
17、nstructor for container“ end1; container:container(int i,int j,int k):two(i),one(j) data=k; cout “Constructor for container“ end1; container:container9 cout “Destructor for container“ end1; void main10 container anObj(5,6,10); (分数:3.00)填空项 1:_38.语句 cout /n还可表示为 1。(分数:3.00)填空项 1:_39.友元类的所有成员函数都是另一个类的
18、 1。(分数:3.00)填空项 1:_40.C+中封装性、继承性和 1 是面向对象思想的主要特征。(分数:3.00)填空项 1:_41.C+语言支持的两种多态性分别是编译时的多态性和 1 的多态性。(分数:3.00)填空项 1:_42.以下程序输出的结果是 1。 #includeiostream.h voidmain( ) inta=5,b=4,c=3,d; d=(abc); coutd; (分数:3.00)填空项 1:_43.若从键盘输入 70,则以下程序输出的结果是 1。 #includeiostreamh void main2 int a;cina; if(a50) couta; if(
19、a40)couta; if(a30)couta (分数:3.00)填空项 1:_44.继承的方式有公有继承、私有继承和 13 种。(分数:3.00)填空项 1:_45.C+语言程序的注释可以出现在程序中的任何地方,一个注释以 1 作为开始和结束的标记。(分数:3.00)填空项 1:_46.数据的逻辑结构有线性结构和 1 两大类。(分数:-1.00)填空项 1:_47.数据模型按不同应用层次分成 3种类型,它们是概念数据模型、 1 和物理数据模型。(分数:-1.00)填空项 1:_48.关键字 ASC和 DESC分别表示 1 的含义。(分数:-1.00)填空项 1:_49.在算法正确的前提下,评
20、价一个算法的两个标准是 1。(分数:-1.00)填空项 1:_50.关系操作的特点是 1 操作。(分数:-1.00)填空项 1:_计算机二级(C+)26 答案解析(总分:1765.00,做题时间:90 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:25,分数:1750.00)1.下列语句的输出结果( )。 cout strlen(“/t/“/065/xff/n“); (分数:70.00)A.5 B.14C.8D.输出项不合法,无正常输出解析:该字符串中包含的字符是/t(跳格符)、/“ (双引号)、/065 (ASCII 值为八进制 065,也即十进制为 51的字符)、/xff(
21、ASCII 值为十六进制 ff,也即十进制为 255的字符)、/n(换行符)。2.C+语言中用于定义类的关键字是( )。(分数:70.00)A.class B.structC.defaultD.sizeof解析:C+中类定义的关键字是 class。class 不能大写。3.下列程序的输出结果是( )。 # include iostreamh int min( int a,int b) if(a b)return a; else return b; return 0 void main ( ) cout min(1,min(2,3) endl; (分数:70.00)A.15B.25C.35 D.
22、45解析: 在调用过程时,一般主调与被调过程之间有数据传递,即将主调过程的 实参传递给被调用的过程,完成实参与形参的结合,然后执行被调过程,在 Visual Basic 中,实参与形参的结合有两种方式:即传址与传值。这两种方法的特点如下: 传址的结合过程是,当调用一个过程是,它将实参的地址传给形参,在被调用的过程 中,对形参的任何操作都变成了对相应实参的操作,因此实参的值会随形参的改变而改变。 传值的结合过程是,当调用一个过程时,系统将实参的值赋值给形参并断开了联系, 被调用过程中的操作时在形参自己的存储单元中进行的,当过程调用结束时,这些形参 所占用的存储单元也同时被释放,因此在过程中对形参
23、的任何操作不会影响实参。而题 中被调过程 Proc中有两个形参,其中第一个形参 n为传址方式,第二个形参 m为传值方 式。主调过程分别把实参 x、y 传递给 Proc,所以当过程调用结束后,实参 x的值应随着被 调过程变化而变化,而实参 y值在主调函数中始终不变,所以输出 y的值仍为 29;在被调 过程中 “n = n Mod l0 “被调用时,相当于“x=x Mod l0”,所以 x的值最终为 6。 4.下面这个程序的结果是( )。 #includeiostreamh classA private: inta; public: voidseta( );intgeta( ); voidA:se
24、ta( ) a=1; intA:geta( ) returna; classB private: inta; publiC: voidseta( );intgeta( ); voidB:seta( ) a=2; intB:geta( ) returna; classC:publicA,publicB private: intb; public: voiddisplay( ); voidC:display( ) int b:geta( ); coutb; voidmain( ) Cc; cseta( ); c.display( ); (分数:70.00)A.1B.2C.随机输出 1或 2D.程序
25、有错 解析:在类 A中有 geta( )函数,在类 B中也有 geta( )函数,类 C继承了类 A和类 B,这样就产生了二义性,所以程序会出错。5.如果表达式 x * y + z中,“ * ”是作为友元函数重载的,“+”是作为友元函数重载的,则该表达式还可为 ( )。(分数:70.00)A.public void method( )B.public void method( ) throws Exception C.public void method( ) throw TimedoutExceptionD.public throw TimedOutException void method
26、( )解析:此题考查二维数组的定义,其中 array1为一维数组其余为二维数 组所以选项 A)错误。 6.对于语句 cout setfill(*) setw(10) 1 setfill(*) setw(2) 2;的输出结果是 ( )。(分数:70.00)A.* * * * * * * * * 1 * 2 B.* * * * * * * * 12C.* * * * * * * 1 * 2D.12 * * * * * * * *解析:C+语言中 setfil1的意思是在空格的地方填上 setfil1函数中的参数字符,setw 的意思是没置整个输出字符串的字符个数,本题中用:来代替空格。7.下列程序
27、是用来判断数组中特定元素的位置所在,则输出结果为( )。 #includeconioh #includeiostreamh int fun(in *s,int t,int *k) int i; * k=0; for(i=0;i t;i+) if(s *k si) *k=i; return S *k; void main( ) int a10= 876,675,896,101,301,401,980,431,451,777 ,k; fun(a,10,& k); cout k , ak; (分数:70.00)A.沙箱模型为从网上获得的不可信代码提供了控制非常严格的运行环境B.在沙箱模型中,本地代码
28、被认为是可信代码,对本地系统资源有完全的访问权C.在沙箱模型中,从远端主机下载的 Applet是不可信的,并且只能访问沙箱中的有限资源D.以上说法都正确 解析:Java 语言的健壮性是因为 Java语言很好的处理了最容易出错的数据类型不匹配和内存地址的计算错误。首先,Java 语言在编译和连接是进行大量的类型检查,防止不匹配数据类型的发生,对非法数据类型将在编译和解释时指出。其次,Java 语言不允许使用指针访问内存,更不允许使用指针数组访问内存。另外,Java 语言设计有自动垃圾收集功能,它不仅防止了内存地址的计算的错误,也省去了编程时对内存进行分配的烦恼。注意:Java 语言除了健壮性,还
29、有其他的一些自己特有的特点和面向对象语言共有的特点,如动态性、多线程、跨平台和安全性等等。8.下面关于 C+语言变量的叙述错误的是( )。(分数:70.00)A.C+语言中变量分为 auto,static,extem 和 register四种存储类型B.自动变量和外部变量的作用域为整个程序 C.内部静态变量的作用域是定义它的函数D.外部静态变量的作用域是定义它的文件解析:自动变量是函数体或分程序内定义的变量,它的作用域在所定义 的函数体内或分程序体内。9.语句 ofstream f(“SALARYDAT“,ios:appios:binary);的功能是建立流对象 f,试图打开文件 SALARY
30、DAT 并与之连接,并且( )。 (分数:70.00)A.关系模型B.层次模型C.网状模型 D.以上皆非解析:层次数据模型的特点:有且只有一个节点无双亲,这个节点称为“根节点”;其他节点有且只有一个双亲。网状数据模型的特点:允许一个以上节点无双亲;一个节点可以有多于一个的双亲。关系数据模型是以二维表的形式来表示的。10.下列选项中不全是 C+语言关键字的是( )。(分数:70.00)A.设计视图B.模板视图 C.数据表视图D.SQL视图解析:每个 c+程序中都要有且仅有一个主函数,该函数是程序的入口,而语句、预处理命令和函数及类在程序中都可以有多个。11.虚函数必须是类的( )。(分数:70.
31、00)A.成员函数 B.友元函数C.构造函数D.析构函数解析:本题考查虚函数的基本概念。虚函数只能是类的成员函数,不能是构造函数或析构函数。12.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。(分数:70.00)A.联合查询B.传递查询C.数据定义查询D.子查询 解析:参数查询在执行时会弹出对话框,并提示输入必要的信息。13.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是( )。(分数:70.00)A.Text1对象的左边界距窗体的左边界是 800twip,上边界距窗体的上边界为 2000twip B.Text1对象的左边界距
32、屏幕的左边界为 800twip,上边界距屏幕的上边界为 2000twipC.Text1对象的宽度为 2000twip,高度为 800twipD.Text1对象的高度为 800点,宽度为 2000点解析:EDIT、BROWSE 和 CHANGE命令都可对记录进行修改编辑,但只能在交互式环境或浏览窗口进行逐条修改,对数据表中记录做相同规律的修改时,可使用 REPLACE命令直接修改。14.关于抽象类下面说法正确的是( )。(分数:70.00)A.流动的字节B.流动的对象C.流动的文件D.流动的数据缓冲区 解析:选项 A)中的语句行有两条语句,执行 If语句后,执行 z=y语句,所以不管 x是否大于
33、 y,最终 x的值都等于 y。15.下列关于运算符重载不正确的是( )。(分数:70.00)A.throwsB.throw C.ThrowableD.Exception解析:字符型数据在计算机内部是以 ASCII码存储的,英文大写字母和小写字母在 ASCII码表中都是连续的。大写字母 AZ 是从 6590,小写字母 az 是从 97122。所以只要变量 c大于等于 a并且等于小于 2就能保证其为小写字母。16.派生类对象对其基类中的什么成员是可访问的?(分数:70.00)A.publicB.privateC.protectedD.以上都对 解析:本题考查关于 c+语言继承问题中派生类对基类的访
34、问能力 C+浯言中通常有三种继承修饰符public,protected,Privale,限制依次严格,另外对类中的数据和函数也有这三种修饰符进行限制,有3种是不能继承的:公有继承基类的私有成员,私有继承基类的私有成员,保护继承基类的私有成员。 17.下面有关 for循环的正确描述是( )。(分数:70.00)A.A:func2( )和 B:func1( )都是虚函数B.A:func2( )和 B:func1( )都不是虚函数C.B:func1( )是虚函数,而 A:func2( )不是虚函数 D.B:func1( )不是虚函数,而 A:func2( )是虚函数解析:查询输出到临时表中,产生的临
35、时表文件的后缀名仍为dbf,且该临时表文件是当前文件,可以像一般的 dbf文件一样使用,但仅是只读文件,当关闭文件时,临时表文件将自动被删除。18.建立派生类对象时,3 种构造函数分别是 a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这 3种构造函数的调用顺序为( )。 (分数:70.00)A.数据库管理系统、数据库应用系统B.数据库管理系统C.数据库应用系统、数据库管理系统、操作系统 D.数据库应用系统解析:纵栏式报表是在一页中主体节内显示一条或多条信息,而且以垂直方式显示。19.下面程序的执行结果是( )。 #include“ iostreamh“ void mai
36、n( ) int * p,r; p=new in; * p=20; r=sizeof(* p); cout r end1; delete p; (分数:70.00)A.CDateB.IsDate C.DateD.IsText解析:Access 支持将数据库中的数据通过 Web页发布,通过 Web页用户可以方便、快捷地将所有文件作为 Web 发布程序储存到指定的活页夹,或者将其复制到 Web服务器上。20.只能作为成员函数重载的是( )。(分数:70.00)A.类创建时B.创建对象时C.删除对象时 D.不自动调用解析:析构函数就是用来释放对象的,它的调用完成之后,对象也就消失了,相应的内存空间也
37、被释放了。21.在 32位的计算机中,一个 char型数据所占的内存长度的字节是( )。(分数:70.00)A.选择编号最小的空闲工作 B.选择编号最大的空闲工作区C.随机选择一个工作区的区号D.无此工作区,命令错误解析:面向对象程序设计的主要特征是继承性,封装性和信息隐藏,多态性。22.以下都是 C+语言标识符的是( )。(分数:70.00)A.若在重定义虚函数时使用了 virtual,则该重定义函数还是虚函数B.虚函数不能声明为友元C.子类必须重定义父类的虚函数D.虚函数不能是 static的 解析:在处理字符串对象时,尽量使用 StringBuffer类。StringBuffer 类是构
38、成 String类的基础。String类将 StringBuffer类封装起来为开发人员提供个安全的接口。 23.如果表达式+x/y 中,+是作为友元函数重载的,/是作为成员函数重载的,则该表达式还可为( )。(分数:70.00)A.抽象类就是其中有函数定义但没有实现的类B.抽象类是可以被实例化的C.派生类不能成为抽象类D.抽象类的子类必须实现父类中的纯虚函数 解析:java 有四种访问类型,分别为 public,protected,default 和 private,其 中 public变量可以被所有的外部类访问,而 pretected变量可以被同一个包及该类的子类 访问,default 变
39、量即没有任何修饰符的变量可以被同一个包中的类访问,而 private变量 只能在被该类内部被访问。题目中的外部类应该理解为除该类自身的其他类。24.设有 int x=11;,则表达式(x+ * 2/3)的值是( )。(分数:70.00)A.7 B.8C.11D.12解析:当自加运算符做后缀表达式的时候,表达式的值不变,只有变量的值增 1,所以表达式(x+*2/3)相当于(11*2/3)取整后为 7。25.以下哪个特征不是面向对象思想中的主要特征?(分数:70.00)A.只能读 B.只能用来编辑C.可以读也可以编辑D.对编辑框设置无效解析:键盘事件主要有“键按下”、“键释放”、“击键”等,没有“
40、键锁定 ”。26.在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是( )。(分数:-1.00)A.路径的集合 B.循环的集合C.目标的集合D.地址的集合解析:软件的白盒测试方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。27.“年龄在 18-25之间”这种约束是属于数据库当中的( )。(分数:-1.00)A.原子性措施B.一致性措施C.完整性措施 D.安全性措施解析:数据库的完整性是指数据的正确性和相容性(如学生的学号必须惟一,性别只能是女或男等),数据库是否具备完整性关系到数据库系统能否真
41、实反映现实世界,因此维护数据库的完整性是非常重要的。28.数据库的故障恢复一般是由( )。(分数:-1.00)A.数据流图完成的B.数据字典完成的C.DBA完成的 D.PAD图完成的解析:一旦数据库中的数据遭受破坏,需要及时进行恢复,RDBMS 一般都提供此种功能,并由 DBA负责执行故障恢复功能。29.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段 其中数据独立性最高的阶段是 ( )。(分数:-1.00)A.数据库系统 B.文件系统C.人工管理D.数据项管理解析:人工管理阶段是在 20世纪 50年代中期以前出现的,数据不独立, 完全依赖于程序;文件系统是数据库系
42、统发展的初级阶段,数据独立性差;数据库系统具 有高度的物理独立性和一定的逻辑独立性。30.对建立良好的程序设计风格,下面描述正确的是( )。(分数:-1.00)A.程序应简单、清晰、可读性好 B.符号名的命名只要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无解析:程序设计应该简单易懂,语句构造应该简单直接,不应该为提高效率而把语句复杂化。31.开发软件时对提高开发人员工作效率至关重要的是( )。(分数:-1.00)A.操作系统的资源管理功能B.先进的软件开发工具和环境 C.程序人员的数量D.计算机的并行处理能力解析:软件工程鼓励研制和采用各种先进的软件开发方法、工具和环境。工具和环境
43、的使用又进一步提高了 软年的开发效率、维护效率和软件质量。32.下列叙述中,错误的是( )。(分数:-1.00)A.数据的存储结构与数据处理的效率密切相关B.数据的存储结构与数据处理的效率无关 C.数据的存储结构在计算机中所占的空间不一定是连续的D.一种数据的逻辑结构可以有多种存储结构解析:一般来说,一种数据结构根据需要可以表示成多种存储结构。常用的存储结构有顺序、链接、索引等,而采用不同的存储结构,其数据处理的效率是不同的;一个数据结构中的各数据元素在计算机存储空间中的位置关系与逻辑关系是有可能不同的。33.将 E-R图转换到关系模式时,实体与联系都可以表示成( )。(分数:-1.00)A.
44、属性B.关系 C.键D.域解析:数据库逻辑设计的主要工作是将 E-R图转换成指定 RDBMS中的关系模式。首先,从 E-R图到关系模式的 转换是比较直接的,实体与联系都可以表示成关系,E-R 图中属性也可以转换成关系的属性。实体集也可以转换成关系。34.已知数据表 A中每个元素距其最终位置不远,为节省时间,应采用的算法是( )。(分数:-1.00)A.堆排序B.直接插入排序 C.快速排序D.直接选择排序解析:当数据表 A中每个元素距其最终位置不远,说明数据表 A按关键字值基本有序,在待排序序列基本有序的情况下,采用插入排序所用时间最少,故答案为选项 B) 。35.算法分析的目的是( )。(分数
45、:-1.00)A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进 解析:算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应的数量级,常用时间复杂度和空间复杂度表示。分析算法的目的就是要降低算法的时间复杂度和空间复杂度,提高算法的执行效率。三、填空题(每空 2分,共 30分)(总题数:10,分数:30.00)36.在 C+语言中,访问一个对象的成员所用的运算符是 1,访问一个指针所指向的对象的成员所用的运算符是 2。(分数:3.00)填空项 1:_ (正确答案:成员选择运算符(或“))解析:本题考查的是使用对象和对象指针访问成员所使用的符号的不同,请注意它们的区别。 37. 以下程序的输出结果是 1。 #includeiostreamh class object private: int va1; public: object2; object(int i) object3; ; object:Object4 va1=0; cout “Default constructor for object“ end1; object:object(int i) va1=i cout “Constructor for object“ va1 end1; object:ob