一、选择
(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列关于栈的叙述中正确的是 D
A)在栈中只能插入数据 B)在栈中只能删除数据
C)栈是先进先出的线性表 D)栈是先进后出的线性表
(2)下列数据结构中,插入时不需要移动其他元素的是 D
A)有序线性链表 B)无序线性链表
C)栈和队列 D)以上三种都是
(3)下列叙述中正确的是 B
A)同一个数据结构不管是采用何种存储方式,其所占的存储容量一定是相同的
B)同一个数据结构采用不同的存储方式,其所占的存储容量一般是不同的
C)同一个有序表不管是采用何种存储方式,都可以使用对分查找法
D)同一个有序表不管是采用何种存储方式,都不能使用对分查找法
(4)数据结构分为逻辑结构和存储结构,下列数据结构中不属于存储结构的是 C
A)线性链表 B)二叉链表 C)栈与队列 D)循环队列
(5)下列数据结构中,能直接使用堆排序法进行排序的是 A
A)完全二叉树 B)线性链表 C)带链的栈 D)带链的队列
(6)下列关于队列的叙述中正确的是 B
A)只能插入元素,而不能删除元素 B)可以插入元素,也能删除元素
C)插入元素时需要移动队列中所有的元素 D)删除元素时需要移动队列中所有的元素
(7)下列叙述中正确的是 C
A)在模块化程序设计中,一个模块应尽量多的包括与其他模块联系的信息
B)在自顶向下、逐步细化的设计过程中,首先应设计解决问题的每一个细节
C)在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则
D)在程序设计过程中,不能同时采用结构化程序设计
与模块化程序设计方法
(8)数据独立性是数据库技术的重要特点之一。所谓数据独立性是指 D
A)数据与程序独立存放 B)不同的数据被存放在不同的文件中
C)不同的数据只能被对应的应用程序所使用 D)以上三种说法都不对
(9)用树形结构来表示实体之间联系的模型称为 B
A)关系模型 B)层次模型 C)网状模型 D)格式化模型
(10)下列叙述中正确的是 A
A)用E—R图能够表示实体集之间一对一的联系、一对多的联系、多对多的联系
B)用E—R图只能表示实体集之间一对一的联系 C)用E—R图只能表示实体集之间一对多的联系 D)用E—R图表示的概念数据模型只能转换为关系数据模型
11)以下对C/C++语言函数的描述中,正确的是 A
A)C程序由一个或一个以上的函数组成 B)C函数既可以嵌套定义又可以递归调用
C)函数必须有返回值,否则不能使用函数 D)C++程序中调用关系的所有函数必须放在同一个程序文件中
(12)以下正确的描述为 C
A)每个C++语言程序必须在开头用预处理命令: B)预处理命令必须位于C++源程序的首部
C)在C++语言中预处理命令都以”#”开头 D)C++语言的预处理命令只能实现宏定义和条件编译的功能
(13)下列叙述中正确的是 B
A)全局变量的作用域一定比局部变量的作用域范围大 B)静态类别变量的生存期贯穿于整个程序的运行期间 C)函数的形参都属于全局变量
D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值
(14)以下选项中合法的用户
符是 B
A)long B)_2Test C)3Dmax D)A.dat
(15)已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字 符常量"\101"是 A A)字符A B)字符a C)字符e D)非法的常量
(16)下面对宏定义的描述中不正确的是 C
A)宏不存在类型问题,宏名无类型,它的参数也无类型 B)宏替换不占用运行时间
C)宏替换时先求出实参表达式的值,然后代入形参数运算求值
D)其实,宏替换只不过是字符替代而已
(17)下列不是循环语句的是 D
A)while语句 B)do…while语句 C)for语句 D)if…else语句
(18)如果a=l,b=2,c=3,d=4,则表达式a A A)1 B)2 C)3 D)4
(19)有关构造函数的说法中错误的是D
A)构造函数名字和类的名字一样 B)构造函数在说明类变量时自动执行
C)构造函数无任何函数类型 D)构造函数有且只有一个
(20)以下有关析构函数的叙述不正确的是 B
A)一个类只能定义一个析构函数 B)析构函数和构造函数一样可以有形参
C)析构函数不允许有返回值 D)析构函数名前必须冠有符号“~“
(21)以下关于静态成员变量的叙述不正确的是 D
A)静态成员变量为类的所有对象所公有 B)静态成员变量可以在类内任何位置上声明
C)静态成员变量的赋初值必须放在类外 D)定义静态成员变量时必须赋初值
(22)若执行下面的程序时,从键盘上输入3和4,则输出结果是 B
main()
{
A)14 B)16 C)18 D)20
(23)以下程序不用第三个变量实现将两个数进行对调的操作,划线处应为 B
A)a+b B)a-b C)b*a D)a/b
(24)如下程序的输出结果是 C
A)O.000000 B)0.250000 C)0.500000 D)1.000000
(25)如下程序的输出结果是 C
A)O B)1 C)2 D)3
(26)有以下程序段 A
intk=O: while(k=1)k++;
while循环执行的次数是
A)无限次 B)有语法错,不能执行 C)一次也不执行 D)执行1次
(27)以下程序的输出结果是B
main()
A)1234 B)123 C)12 D)1
(28)设有数组定义:chararray[]=”China”;贝4数组array所占的空间为C
A)4个字节 B)5个字节 C)6个字节 D)7个字节
(29)以下程序的输出结果是 D
A)20 B)24 C)25 D)15
(30)有以下程序A
执行后输出结果是 A)7 B)6 C)8 D)无确定值
(31)有以下程序A
执行后输出结果是A A)654321 B)432156 C)456123 D)123456
(34)下列语句中,输出与众不同的是A
A)对象infile只能用于文件入操作 B)对象outfile只能用于文件输出操作
C)对象iofile在文件关闭后,不能再打开另一个文件
D)对象iofile可以打开一个文件同时进行输入和输出
二、填空题(每空2分,共30分)
(1)对具有n个结点的线性表进行顺序查找,最坏情况下需要的比较次数为【n】。
(2)设有下列二叉树:
对此二叉树中序遍历的结果为【TZBACYXP】。
(3)在面向对象的程序设计中,用来请求对象执行某一处理或回答某些信息的要求称为
【消息】 (4)程序的测试方法分为静态分析和动态分析。使用测试用例在计算机上运行程序,使呈序在运行过程中暴露错误,这种方法称为【动态分析】。
(5)在关系模型中,一个关系的属性名表称为【关系模式】.也就是二维表的表框架,相当于
_己录型。 (6)执行”cout<<
标准输入输出操作,则必须在开始的#include命令中使用头文件【iostream】。
(12)下列程序的输出结果为【良好优秀良好】。
(13)根据注释内容在空白处填写适当内容。
(14)下列程序的执行结果是【20】。
(15)下列类的构造函数不能通过编译,正确的构造函数应该是【sample(imm):con(m+1){n=m;}】。
1)下列叙述中正确的是 A
A)线性表是线性结构 B)栈与队列是非线性结构
C)线性链表是非线性结构 D)二叉树是线性结构
(2)下列数据结构中,插入时不需要移动其他元素的是 C
A)有序线性表 B)无序线性表 C)栈和队列 D)以上三种都不是
(3)数据的存储结构是指 B
A)数据所占的存储空间量 B)数据的逻辑结构在计算机中的表示
C)数据在计算机中的顺序存储方式 D)存储在外存中的数据
(4)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结 点数为 B
A)221 B)219 C)231 D)229
(5)下列关于栈的叙述中正确的是 B
A)只能在栈顶插入元素,而不能删除元素 B)可以插入元素,也能删除元素
C)插入元素时需要移动栈中所有的元素 D)删除元素时需要移动栈中所有的元素
(6)下列叙述中正确的是 B
A)软件测试的目的是证明程序是否正确 B)软件测试的目的是尽可能多的发现程序中的错误 C)软件测试的目的是使程序运行结果正确
D)软件测试的目的是使程序符合结构化原则
(7)下列叙述中正确的是 A
A)在面向对象的程序设计中,各个对象之间应相对独立,相互依赖性小
B)在面向对象的程序设计中,各个对象之间应具有密切的联系
C)在面向对象的程序设计中,各个对象应都是公用的 D)上述三种说法都不对
(8)下列叙述中正确的是 C
A)数据库设计是指设计数据库系统 B)数据库设计是指设计数据库管理系统
C)数据库设计是指在已有数据库管理系统的基础上建立数据库
D)以上三种说法都不对
(9)设有二元关系R和三元关系S,下列运算中合法的是 D
A)R n S B)R U S C)R—S D)R×S
(10)下列关于E—R图的描述中正确的是 D
A)E—R图只能表示实体之间的联系 B)E—R图只能表示实体和实体之间的联系
C)E—R图只能表示实体和属性 D)E—R图能表示实体、属性和实体之间的联系
11)以下叙述中不正确的是 B
A)在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B)在C的函数中,最好使用全局变量
C)在C中,形式参数只是局限于所诤?BR>D)在C中,函数名的存储类别为外部
(12)C++语言中函数返回值的类型决定于 D
A)return语句中的表达式类型 B)调用函数的主调函数类型
C)调用函数时r临时类型 D)定义函数时所指定的函数类型
(13)若要说明一个类型名STP,使得STP s;等价于char*s;,以下选项中正确的是 D
A)typedef STP chara*s; B)typedefa *char STP:
C)typedef STPfi*char; D)typedef chara*TP:
(14)以下非法的赋值语句是 C A)n=(i=2,++i); B)j++ C)++(i+1) D)x=j>0;
(15)C十+语言中在C语言的基础上增加的特性不包括 A
A)结构 B)引用 C)类和对象 D)静态成员函数
(16)对于下列语句,正确的判断是 for(x=O,y=O;(y!=123)&&(x<4);x++); C
A)是无限循环 B)循环次数不定 C)最多执行4次 D)最多执行3次
(17)若有说明:int a[3][4];则对a数组元素的非法引用是 D
A)a[0][2*1] B)a[1][3] C)a[4-2][0] D)a[O][4]
(18)设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a十h/b的值是 D
A)6.500000 B)6 C)5.500000 D)6.000000
(19)下面赋值语句中正确的是 D
A)a=7+b+c=a+7: B)a=7+b++=a+7: C)a=7+b,b++,a+7; D)a=7+b,c=a+7;
(20)语句cout<<(a=2)&&(h=-2);的输出结果是 D
A)无输出 B)编译错误 C)-l D)l
(21)在下面的函数声明中,存在着语法错误的是 D A)VOid BC(int a,int)
B)void Bd(int,int) C)VOid(1 BE(int,int=5) D)int BF(Int x;int y)
(22)下列关于指针的操作中.错误的是 D
A)两个同类型的指针可以进行比较运算 B)可以用一个空指针赋给某个指针
C)一个指针可以加上两个整数之差 D)两个同类型的指针可以相加
(23)静态成员函数不能说明为 C A)整型函数 B)常函数 C)虚函数 D)内联函数
(24)静态成员函数没有 B
A)返回值 B)this指针 C)指针参数 D)返回类型 (25)以下程序的输出结果为
(25)以下程序的输出结果为 A
A)27.000000 B)27.500000 C)28.000000 D)28.500000
(26)执行下列语句后,输出结果为 COut.put(‘s’): cout<<’c’<<’a’: B
A)ca B)SCa C)S D)a
(27)下列运算符中,不能重载的是 A
A)?: B)+ C)一 D)<=
(28)所有在函数中定义的变量及函数的形式参数,都属于 B
A)全局变量 B)局部变量 C)静态变量 D)常量
(29)为引入对象的同义词,对象的别名称为 B A)指针 B)引用 C)枚举 D)结构
(30)以下不属于构造函数特征的是 D A)构造函数名与类名相同 B)构造函数可以重载 C)构造函数可以设置默认参数 D)构造函数必须指定函数类型
31)以下关于虚函数的叙述中不正确的是C A)虚函数属于成员函数 B)虚函数不允许说明成静态的 C)凡是虚函数必须用virtual说明 D)虚函数可以被继承
(32)类的构造函数的作用是 C A)一般成员函数 B)类的初始化
C)对象的初始化 D)删除对象创建的所有对象
(33)继承机制的作用是 C A)信息隐藏 B)数据封装 C)定义新类 D)数据抽象
(34)关于虚函数的描述中正确的是 D
A)虚函数是一个静态成员函数 B)虚函数是一个非成员函数
C)虚函数既可以在函数说明时定义,也可以在函数实现时定义
D)派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型
(35)下列表示纯虚函数的成员函数是C
A)virtual int func(int); B)void func(int)=0; C)virtual void func=O;
D)virtual void func(int){}
(1)设一棵二叉树的中序遍历结果为ABCDEFG,前序遍历结果为DBACFEG,则后序遍
历结果为 【ACBEGFD】 。 (2)在面向对象方法中,属性与操作相似的一组对象称为 【类】 。
(3)在结构化设计方法中,数据流图表达了问题中的数据流与加工之间的关系,并且,每一个 【加工】 实际上对应一个处理模块。 (4)在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模 块。其中 【驱动模块】 的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。 (5)在关系运算中,【选择】运算是在指定的关系中选取所有满足给定条件的元组,构成一个新的关系,而这个新的关系是原关系的一个子集。 (6)为了表明一个函数不带返回值,应在定义函数时指定该函数类型为【void】 。
(7)下列程序如果去掉for循环外围的大括号对,则会出现编译错误。错误原因是【a重定义】 。
(8)对于下列语旬
其输出结果为:【Pello】。
(9)下列程序不能通过编译,应该在划线部分填写的语句是【return x】 。
(10)根据下面的主程序,完成类的一种构造函数的最简单形式。 Base(int n){}
#include
(11)下列程序的执行结果为【a=3,b=2】 。
(12)下列程序的运行结果是【in C】 。
(13)完成下列类的构造函数,初始化语句为【x=initx,y=initly】
(14)根据下列程序的执行结果,可以断定划线部分的修饰符应为【StatiC】 。
执行结果:
(15)下列程序的输出结果是【5,10,3】 。
(1)算法的时间复杂度是指 C
A)算法程序运行的具体时间 B)算法程序的长度
C)算法程序执行过程中基本运算的次数 D)运行时算法程序所占的内存容量
(2)下列数据结构中能使用对分查找的是 D
A)二叉链表 B)带链的栈 C)有序线性链表 D)有序顺序表
(3)按“先进先出”原则组织数据的结构是C A)有序表 B)栈 C)队列 D)二叉树
(4)对下列二叉树进行前序遍历的结果是 B
A)ZBTYCPXA B)ATBZXCYP C)ZBTACYXP D)ATBZXCPj
(5)下列叙述中正确的是 D A)软件就是程序清单
B)软件就是存放在计算机中的文件 c)软件应包括程序清单以及运行结果
D)软件包括程序和文档
(6)在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送 D
A)调用语句 B)命令 C)口令 D)消息
(7)在模块化程序设计中,按功能划分模块的原则是 A
A)各模块的功能尽量单一,且各模块之间的联系尽量的少
B)各模块的功能尽量单一,且各模块之间的联系尽量紧密
C)各模块应包括尽量多的功能 D)各模块应包括尽量多的输入输出操作
(8)下述关于数据库系统的叙述中正确的是 A
A)数据库系统减少了数据冗余 B)数据库系统避免了一切冗余
C)数据库系统中数据的一致性是指数据类型一致 D)数据库系统比文件系统能管理更多的数据
(9)在关系数据库中,用来表示实体之间联系的是 D
A)树结构 B)网结构 C)线性表 D)二维表
(1O)下列叙述中正确的是 B
A)数据库系统是一个独立的系统,不需要操作系统的支持
B)数据库技术的根本目标是要解决数据的共享问题
C)数据库管理系统就是数据库系统 D)以上三种说法都不对
11)设char型变量x中的值为1010011l,则表达式(2+x)^(~3)的值是 D
A)1010100l B)lOlOlOOO C)11111101 D)0101010]
(12)以下叙述中不正确的是 C
A)C++语言中的文本文件以ASCII码形式存储数据 B)C++语言中,对二进制文件的访问速度比文本文件快 C)C++语言中,随机读写方式不适用于文本文件
D)C++语言中,顺序读写方式不适用于二进制文件
(13)若已定义int a=256,执行语句cout< A A)100 B)256 C)ff D)ff
(14)执行下列程序的结果是 A
A)9.000000 B)6.000000 C)1.000000 D)程序有错误
(15)下面程序的输出结果是 A
A)l B)2 C)3 D)4
(16)有以下程序
执行后输出结果是 C A)3,4,5 B)j,3,4 C)j,4,3 D)3,5,4
(17)有以下程序
执行后输出结果是 D A)3,4,5 B)5,3,4 C)5,4,3 D)4,3,5
(18)与数学式子函,3X 对应的C++语言表达式是 C
A)3*xAn/(2*x一1) B)3*x**n/(2*x—1)
C)3*pow(x,n)*(1/(2*x一1)) D)3*pow(n,x)/(2*x一1)
(19)若有以下程序:
执行后的输出结果是 C A)8,6 B)8,3 C)6,4 D)7,4
(20)设有定义:
则以下叙述不正确的是 D
A)std是一个含有30个元素的对象数组 B)std数组中的每个元素都是person类的对象
C)std数组中的每个元素都有自己的私有变量hum和name
D)std数组中的每个元素都有各自的成员函数init
21)以下叙述中不正确的是 C
A)一个类的所有对象都有各自的数据成员,它们共享函数成员
B)一个类中可以有多个同名的成员函数 C)一个类中可以有多个构造函数、多个析构函数 D)在一个类中可以声明另一个类的对象作为它的数据成员
(22)以下关于私有和保护成员的叙述中,不正确的是 A
A)私有成员不能被外界引用,保护成员可以 B)私有成员不能被派生类引用,保护成员在公有继承下可以 C)私有成员不能被派生类引用,保护成员在保护继承下可以
D)私有成员不能被派生类引用,保护成员在私有继承下可以
(23)友元函数的作用是 A A)提高程序的效率 B)加强类的封装性
C)实现数据的隐蔽性 D)增加成员函数的种类
(24)使用静态数据成员的好处不包括 D
A)可以节省内存空间 B)是为了解决数据共享问题
C)可以直接用类名来引用 D)可以提高运算速度
(25)以下不能正确创建输出文件对象并使其与磁盘文件相关联的语句是 D
A)ofstream myfile;myfile.open(”d:ofile.txt'’):
B)ofstream*myfile=new ofstream;myfile一>open(”d:ofile.txt");
C)ofstream myfile(”d:ofile.txt”);
D)ofstream*myfile=new(”d:ofile:txt");
(26)有关析构函数的说法中错误的是C
A)析构函数有且只有一个 B)析构函数无任何函数类型
C)析构函数和构造函数一样可以有形参 D)析构函数的作用是在对象被撤销时做清理工作
(27)下列运算符中,不能重载的是 A A)?: B)+ C)- D)<=
(28)已知类A中有公用数据成员B*b;其中B为类名。则下列语句错误的是 C
A)A():d(new B)() B)A(const A&oo):d(new B){*d=*oo.d:}
C)~A(d){} D)~A(){delete d;}
(29)以下有关析构函数的叙述中错误的是 B
A)一个类只能定义一个析构函数 B)析构函数和构造函数一样可以有形参
C)析构函数不允许有显式的返回值 D)析构函数名前必须冠有符号“~”
(30)在C+十语言程序中 D
A)函数的定义可以嵌套,但函数的调用不可以嵌套 B)函数的定义和调用均可以嵌套
C)函数的定义和调用均不可以嵌套 D)函数的定义不可以嵌套,但函数的调用可以嵌套
(31)以下叙述中不正确的是 C
A)在类的定义中通常是用数据成员描述对象的属性,用成员函数描述对象的行为
B)类的一个成员只能具有一种访问控制属性 C)构造函数和析构函数是特殊的成员函数,因此不允许重载 D)通过对象只能访问类的公有成员
(32)磁盘文件操作中,打开磁盘文件的访问方式中以追加方式打开文件的 C
A)in B)out C)app D)ate
(33)假定AB为一个类,则执行AB x;语句时将自动调用该类的 B
A)有参构造函数 B)无参构造函数 C)拷贝构造函数 D)赋值重载函数
(34)通常初始化拷贝构造函数的参数是 C
A)某个对象名 B)某个对象的成员名 C)某个对象的引用名 D)某个对象的指针名
(35)实现运行时的多态性用 D
A)重载函数 B)构造函数 C)析构函数 D)虚函数
(1)在深度为4的满二叉树中,叶子结点的个数为 【8】 。 (2)在一个容量为25的循环队列中,若头指针front=9指针rea=16,则该循环队列中共有 【7】个元素。 (3)在面向对象方法中,允许作用于某个对象上的操作称为【方法】 。 (4)软件生命周期包括八个阶段。为使各时期的任务更明又可以分为以下三个时期:软件定义期,软件开发期,软件维护期。编码和测试属于【软件开发】 期。
(5)在数据库系统中,数据具有独立性。由于数据的存储结构与逻辑结构之间由系统提供映象,使得当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改。这种独立性称为【物理独立性】。 (6)在任何类中都有三种访问权限的数据成员,这三种权限是public、private和【protected】 。
(7)下列程序的输出结果是 【4 3 】
(8)如下程序编译时发生错误,错误的原因是show函数实现语句错误,则正确的语句应
该为 【void test::show(){cout <】 。
(9)下列程序的运行结果是【b=762】
(11)下面程序编译时发现ma[3]一9错误,其原因是 【1l】 。
(12)下列程序的执行结果是【400 60】
(13)下列程序中需要清理动态分配的的数组,划线处应有的语句【delete[]ptr】是 。
(14)下列程序完成从文件读取文件显示的同时写入第二个文件,则在程序中划线部分应
该出现的语句是【file 2.Open(fn2,ios::out);】。
(15)下列程序的输出结果是【60】
(1)为了培养良好的程序设计风格,下列描述中正确的是 A
A)程序应简单、清晰、可读性好 B)符号名的命名只要符合语法
C)充分考虑程序的执行效率 D)程序的注释可有可无
(2)在最坏情况下,下列各排序方法的比较次数正确的是 D
A)冒泡排序为n/2 B)冒泡排序为n(n+1)/2 C)快速排序为n/2
D)快速排序为n(n一1)/2
(3)按“先进后出”原则组织数据的结构是 B
A)有序表 B)栈 C)队列 D)二叉树
(4)对下列二叉树进行中序遍历的结果是 C
A)ZBTYCPXA B)ATBZXCYP C)ZBTACYXP D)ATBZXCPY
(5)下列叙述中正确的是 D
A)数据的逻辑结构与存储结构必定是一一对应的
B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构
C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构。
D)以上三种说法都不对
(6)下列叙述中正确的是 B
A)接口复杂的模块,其耦合程度一定低 B)耦合程度弱的模块,其内聚程度一定高
C)耦合程度弱的模块,其内聚程度一定低 D)上述三种说法都不对
(7)软件调试的目的是 B
A)发现错误 B)改正错误 C)改善软件的性能 D)挖掘软件的潜能
(8)下列叙述中正确的是D
A)买体集之间一对一的联系实际上就是一一对应的关系 B)关系模型只能处理实体集之间一对一的联系 C)关系模型属于格式化模型 D)以上三种说法都不对
(9)数据库概念设计中由分散到集中的设计方法是B
A)视图设计 B)视
成设计 C)集中式模式设计 D)分散式模式设计
(10)下列叙述中正确的是 C
A)程序设计就是编制程序 B)程序的测试必须由程序员自己去完成
C)程序经调试改错后还应进行再测试 D)程序经调试改错后不必进行再测试
(11)以下选项中,与k=n++完全等价的表达式是A
A)k=n,n=n+1 B)n=n+l,k=n C)k=++n D)k+=n+1
(12)已知char a;int b;float c;double d;则表达式a*b+c—d结果为A
A)double B)int C)float D)char
(13)假定有下列变量定义:
int k=7.X=12;
则能使值为O的表达式是 C
A)x*=k-k%5 B)x*一(k—k%5) C)x%=(k一5) D)(x-=k)=(k+=5)
(14)下面关于for循环的正确描述是 D
A)for循环只能用于循环次数已经确定的情况 B)for循环是先执行循环体语句,后判断表达式 C)在for循环中,不能用break语句跳出循环体
D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
(15)在int a=3,int*p=&a;中,p的值是A
A)变量a的地址值 B)无意义 C)变量p的地址值 D)3
(16)对于int a[3][7]:下列表示中错误的是B
A)*(*a+3) B)*(a十1)[5] C)*(*(a+1)) D)*(&a[O][O]+2)
(17)已知一函数的形参说明为int arr[5][6],则与此等效的形参说明为D
A)int arr[][] B)int [5][] C)int*a[6] D)intt(*a)[6]
(18)若有以下程序段:
int a=O,b=O,c=O:
c=(a-=a-5),(a=b,b+3);
cout<<”,”<
a=100; B)ptr=&obj2; C)ptr++; D)ptr=obj2;
(32)下面的描述中错误的是B
A)调用函数时,实参可以是表达式 B)调用函数时,实参与形参可以共用内存单元
C)调用函数时,将为形参分配内存单元 D)调用函数时,实参与形参的类型必须一致
(33)下列有关类和对象的叙述不正确的是C
A)任何一个对象都归属于一个具体的类 B)类与对象的关系和数据类型与变量的关系相似 C)类的数据成员不允许是另一个类的对象
D)一个类可以被实例化成多个对象
(34)下列关于抽象类的叙述不正确的是B
A)含有纯虚函数的类称作抽象类 B)抽象类只能是基类 C)抽象类不能被实例化
D)纯虚函数可以被继承
(35)下列描述中正确的是D
A)多重继承中,不同父类中不能有同名成员 B)多重派生中,所有父类的派生方式必须相同
C)多重派生的子类不能再派生子类 D)上述三种说法都不对
(1)在深度为5的完全二又树中,叶子结点的个数最多为 【16】 。 2)在一个容量为25的循环队列中.若头指针front=15,尾指针rear=6,则该循环队列中共有 【16】个元素。
(3)符合结构化原则的三种基本控制结构为:顺序结构,选择结构和 【缩放结构】 。
(4)在结构化分析方法中.用于描述系统中所用到的全部数据和文件的文档称为 【数据字典】
(5)数据库管理最本质的特点是实现数据的共享。为了实现数据的共享,保证数据的独
立性、完整性和安全性,需要有一组软件来管理数据库中的数据,处理用户对数据库的访问,这组软件称为【数据库管理系统】。 (6)假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为 【*(p->b)】 。 (7)设px是指向一个类动态对象的指针变量,则执行”delete px;”语句时,将自动调用该类的【析构函数】 。
(8)若需要把一个函数”void Func();”定义为一个类Sample的友元函数,则应在类Sample的定义中加入一条语句 【friend void Func()】 。
(9)类class one在声明func成员函数时发生错误,出错原因是【class one前没有声明语句class two】 。
(10)下列程序从保存整数的文本文件”c:Sample.dat”中依次取出每个数据并显示出来,同时统计并显示出所有数据的个数。程序划线处的表达式为 【fin>>x】 。
(11)类中包含了一个静态成员函数,则main函数中和P.f1(P);语句具有同样功能的语句为 【M::l1(P)】 。
Ptr->a:100 (13)下列程序中的重载函数(1isp()发生错误,错误原因是 【在静态成员函数的实现中不能直接引用类中说明的非静态成员】 。
include
class Sample
(14)类time可以输出12小时或24小时制的时间,现需要设计一个缺省构造函数,缺省值为O时0分O秒。该缺省构造函数为 【Time(){h=O;m=O;s=O;} 】 。
(15)在下列基类的定义中,有无virlual修饰use成员函数的结果将不同.其原因是【采用虚函数的每个派生类都含有一个指向虚函数表的指针,故多4字节】 。
当use()为虚拟函数时的程序执行结果:
sized(A)=8 sized(B)=12 sizeof(C)=16
当use()非虚拟函数时的程序执行结果:
sizeof(A)=4 sizeof(B)=8 sizeof(C)=12
源程序如下:
1)程序设计方法要求在程序设计过程中 D
A)先编制出程序,经调试使程序运行结果正确后再画出程序的流程图
B)先编制出程序,经调试使程序运行结果正确后再在程序中的适当位置处加注释
C)先画出流程图,再根据流程图编制出程序,最后经调试使程序运行结果正确后再在 程序中的适当位置处加注释 D)以上三种说法都不对
(2)下列叙述中正确的是 D
A)算法的空间复杂度是指算法程序的长度
B)算法的效率只与所处理数据的规模有关,而与数据的存储结构无关
C)数据的逻辑结构与存储结构是一一对应的 D)上述三种说法都不对
(3)下列数据结构中具有记忆作用的是 A A)栈 B)队列 C)有序表 D)二叉树
(4)对下列二又树进行后序遍历的结果是 A
A)ZBTYCPXA B)ATBZXCYP C)ZBTACYXP D)ATBZXCPY
(5)在长度为n的有序线性表中进行二分查找,需要的比较次数为 A
A)log2n B)nlog2n C)n/2 D)(n+1)/2
(6)在结构化分析方法中,数据字典的作用是 D
A)存放所有需要处理的原始数据 B)存放所有处理的结果 C)存放所有的程序文件
D)描述系统中所用到的全部数据和文件的有关信息
(7)下列叙述中正确的是 A
A)软件交付使用后还需要进行维护 B)软件一旦交付使用就不需要再进行维护
C)软件交付使用后其生命周期就结束 D)软件维护是指修复程序中被破坏的指令
(8)下列关于关系运算的叙述中正确的是 C
A)投影、选择、连接是从二维表的行的方向来进行运算 B)并、交、差是从二维表的列的方向来进行运算 C)投影、选择、连接是从二维表的列的方向来进行运算
D)以上三种说法都不对
(9)设有如下关系表:
则下列操作中正确的是 B
A)T=RnS B)T=RUS C)T=R×S D)T=R/S
(10)在下列数据管理的各阶段中,数据独立性最高的阶段是 D
A)手工管理 B)文件系统 C)数据项管理 D)数据库系统
(11)假定a为一个整型数组名,则元素a[4]的字节地址为 C
A)a+4 B)a+8 C)a+16 D)a+32
(12)以下的for循环 C
for(x=0,y=O;(y!=123)&&(x<4);x++);
A)是无限循环 B)循环次数不定 C)最多执行4次 D)最多执行3次
(13)已知int a,b;用语句scanf(”%d%d",&a,&b);输入a,b的值时,不能作为输入数据分隔符的是 A A), B).空格 C)回车 D)Tab键
(14)语句cout<<(a=2)&&(b=一2);的输出结果是 D
A)无输出 B)结果不确定 C)一1 D)1
(15)以下选项中与k—n++;完全等价的表达式是 A
A)k=n,n=n+1; B)n=n+1,k=n; C)k=++n; D)k+=n+1;
(16)以下程序运行后,输出结果是 B
A)49.5 B)9.5 C)22.O D)45.O
(17)设有以下类的定义:
若在类外定义成员函数setx(),以下定义形式中正确的是 B
A)VOld setx(Int t){...} B)VOid(Ex::Setx(int t){...}
C)Ex::void setx(int t){…} D)VOid(EX::setx(){...}
(18)关于const修饰符的说法中,错误的是 D
A)const既可以修饰成员函数,也可以修饰数据成员,还可以修饰对象
B)若const修饰了一个对象,则该对象中的所有数据成员都无法被更新
C)常对象无法调用一般成员函数 D)常成员函数只能被常对象调用,不能被一般对象调用
(19)以下不属于构造函数特征的是 D
A)构造函数名与类名相同 B)构造函数可以重载 C)构造函数可以设置默认参数
D)构造函数必须指定函数类型
(20)以下叙述正确的是 D
A)派生类中不可以定义与基类中同名的成员变量 B)派生类中不可以重载成员函数
C)派生类中不能调用基类中的同名函数 D)以上三项均不正确
(21)如果一个类含有-一个以上的纯虚函数,则称该类为 B
A)虚基类 B)抽象类 C)派生类 D)以上都不对
(22)下列各类函数中,不是类的成员函数的是 C
A)构造函数 B)析构函数 C)友元函数 D)拷贝构造函数
(23)在多继承中.公用派生和私有派生对于基类成员在派生类中的可访问性与单继
承规则 A A)完全相同 B)完全不同
C)部分相同,部分不同 D)以上都不对
(24)已知类A有公用数据成员a,并重载了一运算符,且有A obj2;const A*ptr=new A;则下列语句错误的是 A
A)ptr一>a=100; B)ptr=&obj2; C)ptr++; D)obj2=*ptr;
(25)已知语句int m—lO;则下列引用的表示中正确的是 A
A)int&x=m; B)int&y=10; C)int&z; D)float&t=&m;
(26)以下有关类与结构体关系的叙述不正确的是C
A)结构体中只包含数据;类中封装了数据和操作 B)结构体的成员对外界通常是开放的;类的成员可以被隐蔽 C)用struct不能声明一个类型名;而class可以声明一个类名
D)结构体成员默认为public;类成员默认为private
(27)以下不能作为输出流对象的是 B A)文件 B)内存 C)键盘 D)显示器
(28)以下不能够读入空格字符的语句是 C
A)char line;1ine=cin.get() B)char line;cin.get(1ine);
C)char line;cin>>line; D)char line[2];cin.getline(1ine,2);
(29)设有定义char str[80];以下不能将输入数据first\nsecond\n读取到数组str中的语句是 D A)cin.get(str,strlen(str)); B)cin.getline(str,strlen(str));
C)cin>>str; D)cin.read(str,strlen(str));
(30)当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 D
A)ios::in B)iOS::out C)iOS::int|iOS::out D)没有
(31)对于常数据成员,下面描述正确的是 B
A)常数据成员可以不初始化,并且不能更新 B)常数据成员必须被初始化,并且不能更新
C)常数据成员可以不初始化,并且可以被更新 D)常数据成员必须被初始化,并且可以被更新
(32)下列能对对象进行初始化的是 A
A)构造函数 B)析构函数 C)友元函数 D)静态成员函数
(33)下述说法错误的是 A
A)对象之间不可以相互赋值 B)对象可以用作函数参数
C)对象可以用作数组的元素 D)对象可以用作另一对象的成员
(34)设A为test类的对象且赋有初值,赋值符号已经重载,则语句test B=A;表示 C
A)语法错 B)为对象A定义一个别名 C)将对象A复制给对象B
D)仅说明B和A属于同一个类
(35)重载函数在调用时选择的依据中,错误的是 A
A)函数的参数名称 B)参数的类型 C)函数的名字 D)函数的类型
(1)数据结构分为逻辑结构与存储结构,循环队列属于 【存储结构】 。 (2)在最坏情况下,冒泡排序所需要的比较次数为 【n(n-1)/2】 。 (3)设一棵完全二叉树共有839个结点,则在该二叉树中有 【420】个叶子结点。 (4)数据模型分为格式化模型与非格式化模型,层次模型与网状模型属于 【格式化模型】 。 (5)在关系模型中,把数据看成一个二维表,每一个二维表称为一个【关系】。 (6)执行”cout<<
(7)下列函数的功能是【比较两个整数a和b的大小,若a>b则返回l,若a等于b,则返回O,否则返回一1】 。
(8)根据三角形的基本定理完成填空,则表达式应为【a>O&&b>O&&c>O&&a+b>c&&b+c)a&&c+a>b】 。
(9)下列程序的运行结果为 【i=3】。
(10)下列程序编译错误,因为add函数返回值是一个引用,故对return后返回值的要求是 【不能是表达式】 。
(11)在下面的类定义中,this指针的用途是【防止对类对象自己给自己赋值】
(12)参照函数模板的写法,完成非模板函数的定义,语句为 【return(strcmp(a,b) 】
(13)下列程序中的this指针的作用是【修改本对象的值】 。
(14)下列程序的运行结果为【a=lO,this一>a=5】
(15)下列程序的运行结果是【Derived=O Sample=9】
(1)下列叙述中正确的是 B
A)所有形态的二叉树都只能采用链式存储结构 B)循环队列是队列的一种存储方式
C)栈只能采用顺序存储结构 D)循环队列与循环链表都属于链式存储结构
(2)下列叙述中正确的是 C
A)软件测试的主要目的是确定程序中错误的位置 B)软件调试的主要目的是发现程序中错误的类型 C)程序经调试后还应进行测试 D)软件的测试与调试工作最好都由程序