C++模拟试题笔试07.docx
- 文档编号:24369398
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:21
- 大小:27.75KB
C++模拟试题笔试07.docx
《C++模拟试题笔试07.docx》由会员分享,可在线阅读,更多相关《C++模拟试题笔试07.docx(21页珍藏版)》请在冰豆网上搜索。
C++模拟试题笔试07
下列选项中不属于软件生命周期开发阶段任务的是______。
A、软件测试
B、概要设计
C、软件维护
D、详细设计
下列选项中不符合良好程序设计风格的是______。
A、源程序要文档化
B、数据说明的次序要规范化
C、避免滥用goto语句
D、模块设计要保证高耦合、高内聚
在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为______。
A、63
B、64
C、6
D、7
从工程管理角度,软件设计一般分为两步完成,它们是______。
A、概要设计与详细设计
B、过程控制
C、软件结构设计与数据设计
D、程序设计与数据设计
数据库技术的根本目标是解决数据的______
A、存储问题
B、共享问题
C、安全问题
D、保护问题
在数据库系统中,用户所见数据模式为______。
A、概念模式
B、外模式
C、内模式
D、物理模式
数据库设计的四个阶段是:
需求分析、概念设计、逻辑设计和______。
A、编码设计
B、测试阶段
C、运行阶段
D、物理设计
下列叙述中正确的是______。
A、一个算法的空间复杂度大,则其时间复杂度也必定大
B、一个算法的空间复杂度大,则其时间复杂度必定小
C、一个算法的时间复杂度大,则其空间复杂度必定小
D、上述三种说法都不对
设有如下三个关系表
RST
下列操作中正确的是______。
A、T=R∩S
B、R∪S
C、
D、T=R∕S
对下列二叉树
进行中序遍历的结果是______。
A、ACBDFEG
B、ACBDFGE
C、ABDCGEF
D、FCADBEG
若有下面的函数调用:
fun(a+b,3,max(n-1,b))
则fun的实参个数是______。
A、3
B、4
C、5
D、6
有如下程序
#include
usingnamespacestd;
classA{
public:
virtualvoidfunc1(){cout<<"Al";}
voidfunc2(){cout<<"A2";}
};
classB:
publicA{
public:
voidfunc1(){cout<<"B1";}
voidfunc2(){cout<<"B2";}
};
intmain(){
A*p=newB;
p->func1();
p->func2();
return0;
}
运行此程序,屏幕上将显示输出______。
A、B1B2
B、A1A2
C、B1A2
D、A1B2
有如下程序
#include
usingnamespacestd;
classBase{
protected:
Base(){cout<<'A';}
Base(charc){cout< }; classDerived: publicBase{ public: Derived(charc){cout< }; intmain(){ Derivedd1('B'); return0; } 执行这个程序屏幕上将显示输出______。 A、B B、BA C、AB D、BB 以下关键字不能用来声明类的访问权限的是______。 A、public B、static C、protected D、private 下列语句中,错误的是______。 A、constintbuffer=256; B、constdouble*point; C、intconstbuffer=256; D、double*constpoint; 有如下的运算符重载函数定义: doubleoperator+(inti,intk){returndouble(i+k);} 但定义有错误,对这个错误最准确的描述是______。 A、+只能作为成员函数重载,而这里的+是作为非成员函数重载的 B、两个int型参数的和也应该是int型,而这里将+的返回类型声明为double C、没有将运算符重载函数声明为某个类的友元 D、C++已经提供了求两个int型数据之和的运算符+,不能再定义同样的运算符 下列有关继承和派生的叙述中,正确的是______。 A、如果一个派生类私有继承其基类,则该派生类中的成员不能访问基类的保护成员 B、派生类的成员函数可以访问基类的所有成员 C、基类对象可以赋值给派生类对象 D、如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类 有如下程序: #include usingnamespacestd; classObj{ staticinti; public: Obj(){i++;} ~Obj(){i--;} staticintgetVal(){returni;} }; intObj: : i=0; voidf(){Objob2;cout< intmain(){ Objobl; f(); Obj*ob3=newObj;cout< deleteob3;cout< : getVal(); return0; } 程序的输出结果是______。 A、232 B、231 C、222 D、221 有如下类定义: classMyBase{ intk; public: MyBase(intn=0): k(n){} intvalue()const{returnk;} }; classMyDerived: MyBase{ intj; public: MyDerived(inti): j(i){} intgetK()const{returnk;} intgetj()const{returnj;} }; 编译时发现有一处语法错误,对这个错误最准确的描述是______。 A、函数getK试图访问基类的私有成员变量k B、在类MyDerived的定义中,基类名MyBase前缺少关键字public、protected或private C、类MyDerived缺少一个无参的构造函数 D、类MyDerived的构造函数没有对基类数据成员k进行初始化 有如下程序 #include #include usingnamespacestd; intmain(){ cout< cout<<12.345<<______<<34.567; return0; } 若程序的输出是: **12.345**34.567 则程序中下划线处遗漏的操作符是______。 A、setprecision B、fixed C、setfill('*') D、setw(8) 有如下程序 #include #include usingnamespacestd; classMyClass{ public: MyClass(){cout<<'A';} MyClass(charc){cout< ~MyClass(){cout<<'B';} }; intmain(){ MyClasspl,*p2; p2=newMyClass('X'); deletep2; return0; } 执行这个程序屏幕上将显示输出______。 A、ABX B、ABXB C、AXB D、AXBB 语句ofstreamf("SALARY.DAT",ios_base: : app);的功能是建立流对象f,并试图打开文件SALARY.DAT与f关联,而且______。 A、若文件存在,将其置为空文件;若文件不存在,打开失败 B、若文件存在,将文件指针定位于文件尾;若文件不存在,建立一个新文件 C、若文件存在,将文件指针定位于文件首;若文件不存在,打开失败 D、若文件存在,打开失败;若文件不存在,建立一个新文件 关于关键字class和typename,下列表述中正确的是______。 A、程序中的typename都可以替换为class B、程序中的class都可以替换为typename C、在模板形参表中只能用typename来声明参数的类型 D、在模板形参表中只能用class或typename来声明参数的类型 关于运算符重载,下列表述中正确的是______。 A、C++已有的任何运算符都可以重载 B、运算符函数的返回类型不能声明为基本数据类型 C、在类型转换符函数的定义中不需要声明返回类型 D、可以通过运算符重载来创建C++中原来没有的运算符 下列有关内联函数的叙述中,正确的是______。 A、内联函数在调用时发生控制转移 B、内联函数必须通过关键字inline来定义 C、内联函数是通过编译器来实现的 D、内联函数函数体的最后一条语句必须是return语句 if语句的语法格式可描述为: 格式1: if(<条件>)<语句> 或 格式2: if(<条件>)<语句1>else<语句2> 关于上面的语法格式,下列表述中错误的是______。 A、<条件>部分可以是一个if语句,例如if(if(a==0)…)… B、<语句>部分可以是一个if语句,例如if(…)if(…)… C、如果在<条件>前加上逻辑非运算符! 并交换<语句1>和<语句2>的位置,语句功能不变 D、<语句>部分可以是一个循环语句,例如if(…)while(…)… 在公有继承的情况下,允许派生类直接访问的基类成员包括______。 A、公有成员 B、公有成员和保护成员 C、公有成员、保护成员和私有成员 D、保护成员 有如下说明 inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为9的表达式是______。 A、*p+9 B、*(p+8) C、*p+=9 D、p+8 关于在调用模板函数时模板实参的使用,下列叙述正确的是______。 A、对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略 B、对于虚拟类型参数所对应的模板实参,如果他们是参数表中的最后的若干参数,则都可以省略 C、对于虚拟类型参数所对应的模板实参,若能够省略则必须省略 D、对于常规参数所对应的模板实参,任何情况下都不能省略 在一个派生类对象结束其生命周期时______。 A、先调用派生类的析构函数后调用基类的析构函数 B、先调用基类的析构函数后调用派生类的析构函数 C、如果基类没有定义析构函数,则只调用派生类的析构函数 D、如果派生类没有定义析构函数,则只调用基类的析构函数 有如下程序 #include usingnamespacestd; inti=1; classFun{ public: staticinti; intvalue(){returni-1;} intvalue()const{returni+1;} }; intFun: : i=2; intmain(){ inti=3; Funfun1; constFunfun2; ______ return0; } 若程序的输出结果是: 123 则程序中下划线处遗漏的语句是______。 A、cout< : i< B、cout< : i< C、cout< : i; D、cout< : i< 下列符号中,正确的C++标识符是______。 A、enum B、2b C、foo-9 D、_32 下列运算符不能重载为友元函数的是______。 A、=()[]-> B、+-++-- C、><>=<= D、+=-=*=/= 下列关于输入流类成员函数getline()的描述中,错误的是______。 A、该函数是用来读取键盘输入的字符串的 B、该函数读取的字符串长度是受限制的 C、该函数读取字符串时,遇到终止符便停止 D、该函数读取字符串时,可以包含空格 下列情况中,不会调用拷贝构造函数的是______。 A、用一个对象去初始化同一类的另一个新对象时 B、将类的一个对象赋值给该类的另一个对象时 C、函数的形参是类的对象,调用函数进行形参和实参结合时 D、函数的返回值是类的对象,函数执行返回调用时 ______的任务是诊断和改正程序中的错误。 程序调试的任务是诊断和改正程序中的错误。 它与软件测试不同,软件测试是尽可能多地发现软件中的错误。 先要发现软件的错误,然后借助于一定的调试工具去找出软件错误的具体位置。 软件测试贯穿整个软件生命期,调试主要在开发阶段。 按"先进后出"原则组织数据的数据结构是______。 栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。 二者的区别是: 栈只允许在表的一端进行插入或删除操作,是一种“先进后出”的线性表;而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种“先进先出”的线性表。 数据结构分为线性结构和非线性结构,带链的队列属于______。 与栈类似,队列也是线性表,也可以采用链式存储结构。 一个关系表的行称为______。 设计数据库的目的实质上是设计出满足实际应用需求的实际关系模型;关系中的行称为元组,对应存储文件中的记录,关系中的列称为属性,对应存储文件中的字段。 下列软件系统结构图 的宽度为______。 软件系统结构图的宽度: 整体控制跨度(最大模块数的层)的表示。 如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。 下列程序没有使用多态机制,其输出结果是______。 #include usingnamespacestd; classBase{ public: voidprint(){cout<<'B';}}; classDerived: publicBase{ public: voidprint(){cout<<'D';}}; intmain() { Derived*pd=newDerived(); Base*pb=pd; pb->print(); pd->print(); deletepd; return0; } 本题考查的是派生类。 派生类Derived由基类Base公有继承而来,是基类的子类型。 调用pb->print();后,执行基类的函数voidprint(),因为尽管pb的函数print()可以对类Base的公有派生类Derived的对象pd进行操作,但是只能使用从基类Base中继承的成员;调用pd->print();后,执行派生类的函数voidprint()。 在声明派生类时,如果不显式地给出继承方式,缺省的类继承方式是私有继承private。 已知有如下类定义: classeBase{ protected: voidfun(){} }; classDerived: Base{}; 则Base类中的成员函数fun(),在Derived类中的访问权限是______。 (注意: 要求填写private、protected或public中的一项)。 本题考查的是派生类。 派生类的继承方式如果不显式的给出,缺省的继承方式是私有继承private。 派生类从基类私有继承时,基类的公有成员和保护成员在派生类中都改变为私有成员。 下列程序的输出结果是______。 #include usingnamespacestd; classA{ inta; public: A(): a(9){}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 模拟 试题 笔试 07