《面向对象程序设计》第1.7.9.11.12章在线测试
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4、下面关于string类型的说法正确的是( )AD
A、使用string类型前,程序必须包含头文件string B、string类型是C++的一部分
C、string类型与char* 类型的作用一样 D、string相当于一个保存字符的序列容器
5、下面属于顺序容器的是( ) ABD
A、向量 B、双队列 C、堆栈 D、列表
C、流是用流类定义的对象,而流类是用于完成输入输出的类。 D、流是IO设备
2、下面的说法正确的是( ) BD
A、缓冲流就是缓冲区
B、缓冲流当缓冲区满时才刷新流的数据 C、非缓冲流不处理数据 D、非缓冲流也要使用缓冲区
3、下面属于标准错误输出的流是( ) CD
A、cin B、cout C、clog D、cerr
C、全部变成私有
D、仍然相应保持为公有和保护
答案ABDDD
第二题、多项选择题(每题2分,5道题共10分)
1、在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是 ( )AC
A、派生类的对象可以赋给基类的对象 B、派生类的对象可以初始化基类的引用 C、派生类的对象可以直接访问基类中的成员
D、派生类的对象的地址可以赋给指向基类的指针
正确
9章
第一题、单项选择题(每题1分,5道题共5分)
1、执行语句序列 ofstream outf( “ salary.dat ” ) ; if(...)cout<< “成功”; else cout<< “失败”;后,如文件打开成功,显示”成功”,否则显示”失败” . 由此可知,上面 if 语句的条件表达式是 ( ) 。
1章
第一题、单项选择题(每题1分,5道题共5分)
1、下面不属于C++语言的特点的是
A、C++支持数据封装 B、C++支持继承性 C、C++支持动态绑定
D、C++不允许破环封装
2、下面的步骤不属于C++程序开发步骤的是
A、编辑程序 B、编译程序 C、连接程序
D、程序分析
3、执行完下列语句后,a、b、c三个变量的值为多少?( ) a = 30; b = a++; c = ++a;
错误
12章试题
第一题、单项选择题(每题1分,5道题共5分)
1、面向对象的程序设计语言必须具备的关键要素是( )
A、抽象和封装
B、抽象和多态性 C、抽象、封装、继承和多态性
D、抽象、封装和继承性
2、封装性应具有的条件是()
A、有一个清晰的边界 B、有确定的接口 C、受保护的内部实现
D、以上所有
3、OOD的作用是( )
B、void f2(int a,int c,int b=-1); C、void f3(int a ,int b=-1, int c); D、int f4(„);
5、C++程序中声明变量 int *p1 , *p2 ,m=5, n;下面错误的语句是 ABD
A、p1=&m; p2=&p1; B、p1=&m; p2=&n;*p1=*p2 C、p1=&m;p2=p1; D、p1=&m;*p2=*p1;
A、组合 B、联合 C、聚合 D、整合
2、对象之间存在的关系包括( )AB
A、部分与整体 B、一般与特殊 C、实例连接 D、消息连接
3、关于多态的说法正确的是( ) ABC
A、不同类型的对象接收相同的消息产生不同的行为 B、多态的成员函数需要定义为虚函数 C、在C++中通过基类指针调用虚函数实现多态 D、多态是指对象的多种表现形式
4、关于软件生命周期的说法正确的是( )BD
A、开发程序就是直接编码
B、在程序设计之前需要先进行软件设计 C、软件投入使用后软件生命周期结束 D、软件维护也是软件生命周期的一个阶段
5、下面关于面向对象的特征说法正确的是( ) ACD
A、每一个对象都具有唯一的标识
B、任何类的划分都是客观的,程序员必须遵守其规定 C、继承性是子类自动共享父类数据结构和方法的机制
A、a:32 ; b:30 ; c:32; B、a:30 ; b:31 ; c:32;
C、a:32 ; b:31 ; c:30;
D、a:31 ; b:32 ; c:30;
4、VC项目中可以添加的文件类型不可以是
A、.CPP B、.C C、.H
D、.LIB
5、下列关于条件语句的描述中,错误的是
A、if语句中只有一个else子句 B、if语句中可以有多个else if子句 C、if 语句中if体内不能是开关语句
A、部分特性,并允许增加新的特性或重定义基类的特性
B、部分特性,但不允许增加新的特性或重定义基类的特性
C、所有特性,并允许增加新的特性或重定义基类的特性
D、所有特性,但不允许增加新的特性或重定义基类的特性
5、对于公有继承,基类的公有和保护成员在派生类中将( )成员。
A、全部变成公有 B、全部变成保护
2、在公有继承的情况下,基类成员在派生类中的访问权限( )
A、受限制 B、保持不变 C、受保护
D、不受保护
3、可以用 p.a 的形式访问派生类对象 p 的基类成员 a ,其中 a 是 ( )
A、私有继承的公有成员 B、公有继承的私有成员 C、公有继承的保护成员
D、公有继承的公有成员
4、C++的继承性允许派生类继承基类的( )。
第三题、判断题(每题1分,5道题共5分)
1、if ( x = 3 ) 和 if (x = = 3) 这两条语句的作用是一样的。
错误
2、对内联函数不能进行异常接口声明。
正确
3、重载的函数的函数名是相同的,但它们的参数的个数和数据类型不同。
正确
4、重载的函数的函数名是相同的,但它们的参数的个数、参数数据类型或返回值类型中至少应有一种是不同的。
第三题、判断题(每题1分,5道题共5分)
1、容器是能够保存其它类型的对象的类。
错误
2、算法就是一个按照一组定义明确的步骤来解决某个问题的处理过程。
正确
3、向量(vector)、双队列(deque)、列表(list)都是顺序容器
正确
4、前向容器是指一种长度可变的容器,直接继承于顺序容器
错误
5、顺序容器是指一种长度可变的容器,它支持高效的数据查询和数据操作。
D、上次读写操作失败,但流不可使用
5、数字12在二进制流中的表示方式是( )
A、12 B、31H32H C、00001100
D、00010010
答案:DADCC
第二题、多项选择题(每题2分,5道题共10分)
1、下面的说法正确的是( ) AC
A、输入输出流是指变量或者对象与外设之间的输入输出操作。 B、实现输入输出操作的cin和cout是C++的语句
正确
4、clear(int nState = 0)函数用于清除参数指定的状态
正确
5、调用clear函数后,流就变成可用
正确
11章
第一题、单项选择题(每题1分,5道题共5分)
1、STL中能够保存其他类型的对象的类是( )
A、容器 B、迭代器 C、算法
D、数组
2、双队列(deque)属于( )
A、顺序容器 B、关联容器 C、前向容器
D、多态是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果
第三题、判断题(每题1分,5道题共5分)
1、面向对象开发技术分三个阶段:面向对象分析,面向对象设计和面向对象实现。
A、提取需求 B、逻辑建模 C、求解域建模
D、分析用例
4、按钮与电梯按钮的关系是( )
A、部分与整体 B、一般与特殊 C、实例连接
D、消息连接
5、面向对象模型不包括( )
A、静态模型 B、对象模型 C、功能模型
D、动态模型
答案DDBBA
第二题、多项选择题(每题2分,5道题共10分)
1、部分与整体的关系有( )方式 AC
错误
5、在for循环设置条件的第一个";"前,可以用“,”分隔不同的赋值表达式。
正确
7章
第一题、单项选择题(每题1分,5道题共5分)
1、下面叙述不正确 的是 ( )
A、派生类都用公有派生产生
B、对基类成员的访问必须是无二义性的 C、赋值兼容规则也适用于多重继承的组合
D、基类的公有成员在派生类中仍然是公有的
1、下面属于适配器容器的是( ) AB
A、优先队列 B、堆栈 C、集合 D、映射
2、下面属于容器的头文Байду номын сангаас是( )ABCD
A、vector B、list C、quene D、set
3、下面的说法正确的是( )题太坑!!!对的也显示错误!
A、容器用于存放数据对象 B、算法用于操作容器中的数据对象 C、迭代器是容器的代替 D、迭代器用于链接容器和算法
D、fstream
3、相对于文本文件,下列关于二进制文件的说法中,不正确的是(D)
A、占用空间小 B、无法用常规的编辑工具看懂 C、执行效率高
D、可移植性好
4、流有一个状态标志字,关于failbit的下列说法中,正确的是(C)
A、上次读写操作成功,但流仍可用 B、上次读写操作成功,但流不可使用 C、上次读写操作失败,但流仍可用
第三题、判断题(每题1分,5道题共5分)
1、C++语言中,既允许单继承,又允许多继承。
正确
2、派生类的继承方式有两种,公有继承和私有继承。
错误
3、在公有继承中,基类中只有公有成员对派生类是可见的。
错误
4、析构函数不能被继承。
正确
5、多继承情况下,派生类的构造函数的执行顺序取决于定义派生时所指定的各基类的顺序。
D、if语句的if体内可以是循环语句
答案:DDADC
第二题、多项选择题(每题2分,5道题共10分)
1、C++的输出可以使用 BC
A、scanf B、printf C、cout D、out
2、以下语句循环次数为无限次的是 BCD
A、for ( y=0,x=1;x>++y;x=I++) I=x; B、for(;;x++=I); C、while(1){x++;}
C、提取运算符读取键盘输入的所有字符,包括空格 D、一个语句中可以使用多个提取运算符
第三题、判断题(每题1分,5道题共5分)
1、文件是指存储在存储器的数据的集合。计算机中的程序、数据、文档通常以文件方式存放。
正确
2、trunc与out参数的作用是相同的。
正确
3、cout通常与显示器相连,cin通常与键盘相连
4、当派生类中有和基类一样名字的成员时,下面说法错误的是( )。 ACD
A、将产生二义性
B、派生类的同名成员将覆盖基类的成员 C、是不能允许的
D、基类的同名成员将覆盖派生类的成员
5、含有虚基类的派生类的构造函数调用次序错误的是( ) BCD
A、虚基类,基类,派生类, 对象成员 B、基类,派生类,对象成员,虚基类 C、对象成员,基类,虚基类,派生类 D、基类,虚基类,对象成员,派生类
2、对于公有继承,基类中的私有成员在派生类中将 ( )。AC
A、不能够直接使用成员名访问 B、能够通过成员运算符访问 C、仍然是基类的私有成员 D、变为派生类的私有成员
3、当保护继承时,下面说法正确的是( ) CD
A、基类的成员的访问权限在派生类中不变
B、在类作用域外能够通过派生类的对象来直接访问基类的公有成员 C、基类的保护成员和私有成员在派生类中的访问权限为受保护的 D、基类的公有成员在派生类中的访问权限为受保护的
D、双向容器
3、集合(set)属于( )
A、顺序容器 B、关联容器 C、前向容器
D、双向容器
4、多重集(multiset)属于( )
A、顺序容器 B、关联容器 C、前向容器
D、双向容器
5、映射(map)属于( )
A、顺序容器 B、关联容器 C、前向容器
D、双向容器
答案:AABBB
第二题、多项选择题(每题2分,5道题共10分)
D、for(I=10;;I--)sum+=I;
3、关于重载函数正确的说法是 ABD
A、函数重载指在同一作用域内多个函数使用相同的函数名 B、重载函数的参数必须不同 C、重载函数的返回值类型必须不同 D、两个功能相似的操作可以重载函数得到
4、下面函数声明正确的是 ABD
A、void f1(int a,int b);
4、下面关于cout的说法正确的是( ) AD
A、cout是与标准设备链接的预定义输出流 B、运算符>>向cout发送字符 C、一个语句中只能使用一个插入运算符 D、插入运算符是左结合的
5、下面关于cin的说法正确的是( ) AD
A、cin是与标准设备链接的预定义输入流 B、运算符>>向cin发送字符
A、!outf 或者 outf.fail() B、!outf 或者 outf.good() C、outf 或者 outf.fail()
D、outf 或者 outf.good()
2、在C++程序中使用的cin标识符是系统类库中定义的( )类中的一个对象。
A、istream B、ostream C、iostream
A、使用string类型前,程序必须包含头文件string B、string类型是C++的一部分
C、string类型与char* 类型的作用一样 D、string相当于一个保存字符的序列容器
5、下面属于顺序容器的是( ) ABD
A、向量 B、双队列 C、堆栈 D、列表
C、流是用流类定义的对象,而流类是用于完成输入输出的类。 D、流是IO设备
2、下面的说法正确的是( ) BD
A、缓冲流就是缓冲区
B、缓冲流当缓冲区满时才刷新流的数据 C、非缓冲流不处理数据 D、非缓冲流也要使用缓冲区
3、下面属于标准错误输出的流是( ) CD
A、cin B、cout C、clog D、cerr
C、全部变成私有
D、仍然相应保持为公有和保护
答案ABDDD
第二题、多项选择题(每题2分,5道题共10分)
1、在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是 ( )AC
A、派生类的对象可以赋给基类的对象 B、派生类的对象可以初始化基类的引用 C、派生类的对象可以直接访问基类中的成员
D、派生类的对象的地址可以赋给指向基类的指针
正确
9章
第一题、单项选择题(每题1分,5道题共5分)
1、执行语句序列 ofstream outf( “ salary.dat ” ) ; if(...)cout<< “成功”; else cout<< “失败”;后,如文件打开成功,显示”成功”,否则显示”失败” . 由此可知,上面 if 语句的条件表达式是 ( ) 。
1章
第一题、单项选择题(每题1分,5道题共5分)
1、下面不属于C++语言的特点的是
A、C++支持数据封装 B、C++支持继承性 C、C++支持动态绑定
D、C++不允许破环封装
2、下面的步骤不属于C++程序开发步骤的是
A、编辑程序 B、编译程序 C、连接程序
D、程序分析
3、执行完下列语句后,a、b、c三个变量的值为多少?( ) a = 30; b = a++; c = ++a;
错误
12章试题
第一题、单项选择题(每题1分,5道题共5分)
1、面向对象的程序设计语言必须具备的关键要素是( )
A、抽象和封装
B、抽象和多态性 C、抽象、封装、继承和多态性
D、抽象、封装和继承性
2、封装性应具有的条件是()
A、有一个清晰的边界 B、有确定的接口 C、受保护的内部实现
D、以上所有
3、OOD的作用是( )
B、void f2(int a,int c,int b=-1); C、void f3(int a ,int b=-1, int c); D、int f4(„);
5、C++程序中声明变量 int *p1 , *p2 ,m=5, n;下面错误的语句是 ABD
A、p1=&m; p2=&p1; B、p1=&m; p2=&n;*p1=*p2 C、p1=&m;p2=p1; D、p1=&m;*p2=*p1;
A、组合 B、联合 C、聚合 D、整合
2、对象之间存在的关系包括( )AB
A、部分与整体 B、一般与特殊 C、实例连接 D、消息连接
3、关于多态的说法正确的是( ) ABC
A、不同类型的对象接收相同的消息产生不同的行为 B、多态的成员函数需要定义为虚函数 C、在C++中通过基类指针调用虚函数实现多态 D、多态是指对象的多种表现形式
4、关于软件生命周期的说法正确的是( )BD
A、开发程序就是直接编码
B、在程序设计之前需要先进行软件设计 C、软件投入使用后软件生命周期结束 D、软件维护也是软件生命周期的一个阶段
5、下面关于面向对象的特征说法正确的是( ) ACD
A、每一个对象都具有唯一的标识
B、任何类的划分都是客观的,程序员必须遵守其规定 C、继承性是子类自动共享父类数据结构和方法的机制
A、a:32 ; b:30 ; c:32; B、a:30 ; b:31 ; c:32;
C、a:32 ; b:31 ; c:30;
D、a:31 ; b:32 ; c:30;
4、VC项目中可以添加的文件类型不可以是
A、.CPP B、.C C、.H
D、.LIB
5、下列关于条件语句的描述中,错误的是
A、if语句中只有一个else子句 B、if语句中可以有多个else if子句 C、if 语句中if体内不能是开关语句
A、部分特性,并允许增加新的特性或重定义基类的特性
B、部分特性,但不允许增加新的特性或重定义基类的特性
C、所有特性,并允许增加新的特性或重定义基类的特性
D、所有特性,但不允许增加新的特性或重定义基类的特性
5、对于公有继承,基类的公有和保护成员在派生类中将( )成员。
A、全部变成公有 B、全部变成保护
2、在公有继承的情况下,基类成员在派生类中的访问权限( )
A、受限制 B、保持不变 C、受保护
D、不受保护
3、可以用 p.a 的形式访问派生类对象 p 的基类成员 a ,其中 a 是 ( )
A、私有继承的公有成员 B、公有继承的私有成员 C、公有继承的保护成员
D、公有继承的公有成员
4、C++的继承性允许派生类继承基类的( )。
第三题、判断题(每题1分,5道题共5分)
1、if ( x = 3 ) 和 if (x = = 3) 这两条语句的作用是一样的。
错误
2、对内联函数不能进行异常接口声明。
正确
3、重载的函数的函数名是相同的,但它们的参数的个数和数据类型不同。
正确
4、重载的函数的函数名是相同的,但它们的参数的个数、参数数据类型或返回值类型中至少应有一种是不同的。
第三题、判断题(每题1分,5道题共5分)
1、容器是能够保存其它类型的对象的类。
错误
2、算法就是一个按照一组定义明确的步骤来解决某个问题的处理过程。
正确
3、向量(vector)、双队列(deque)、列表(list)都是顺序容器
正确
4、前向容器是指一种长度可变的容器,直接继承于顺序容器
错误
5、顺序容器是指一种长度可变的容器,它支持高效的数据查询和数据操作。
D、上次读写操作失败,但流不可使用
5、数字12在二进制流中的表示方式是( )
A、12 B、31H32H C、00001100
D、00010010
答案:DADCC
第二题、多项选择题(每题2分,5道题共10分)
1、下面的说法正确的是( ) AC
A、输入输出流是指变量或者对象与外设之间的输入输出操作。 B、实现输入输出操作的cin和cout是C++的语句
正确
4、clear(int nState = 0)函数用于清除参数指定的状态
正确
5、调用clear函数后,流就变成可用
正确
11章
第一题、单项选择题(每题1分,5道题共5分)
1、STL中能够保存其他类型的对象的类是( )
A、容器 B、迭代器 C、算法
D、数组
2、双队列(deque)属于( )
A、顺序容器 B、关联容器 C、前向容器
D、多态是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果
第三题、判断题(每题1分,5道题共5分)
1、面向对象开发技术分三个阶段:面向对象分析,面向对象设计和面向对象实现。
A、提取需求 B、逻辑建模 C、求解域建模
D、分析用例
4、按钮与电梯按钮的关系是( )
A、部分与整体 B、一般与特殊 C、实例连接
D、消息连接
5、面向对象模型不包括( )
A、静态模型 B、对象模型 C、功能模型
D、动态模型
答案DDBBA
第二题、多项选择题(每题2分,5道题共10分)
1、部分与整体的关系有( )方式 AC
错误
5、在for循环设置条件的第一个";"前,可以用“,”分隔不同的赋值表达式。
正确
7章
第一题、单项选择题(每题1分,5道题共5分)
1、下面叙述不正确 的是 ( )
A、派生类都用公有派生产生
B、对基类成员的访问必须是无二义性的 C、赋值兼容规则也适用于多重继承的组合
D、基类的公有成员在派生类中仍然是公有的
1、下面属于适配器容器的是( ) AB
A、优先队列 B、堆栈 C、集合 D、映射
2、下面属于容器的头文Байду номын сангаас是( )ABCD
A、vector B、list C、quene D、set
3、下面的说法正确的是( )题太坑!!!对的也显示错误!
A、容器用于存放数据对象 B、算法用于操作容器中的数据对象 C、迭代器是容器的代替 D、迭代器用于链接容器和算法
D、fstream
3、相对于文本文件,下列关于二进制文件的说法中,不正确的是(D)
A、占用空间小 B、无法用常规的编辑工具看懂 C、执行效率高
D、可移植性好
4、流有一个状态标志字,关于failbit的下列说法中,正确的是(C)
A、上次读写操作成功,但流仍可用 B、上次读写操作成功,但流不可使用 C、上次读写操作失败,但流仍可用
第三题、判断题(每题1分,5道题共5分)
1、C++语言中,既允许单继承,又允许多继承。
正确
2、派生类的继承方式有两种,公有继承和私有继承。
错误
3、在公有继承中,基类中只有公有成员对派生类是可见的。
错误
4、析构函数不能被继承。
正确
5、多继承情况下,派生类的构造函数的执行顺序取决于定义派生时所指定的各基类的顺序。
D、if语句的if体内可以是循环语句
答案:DDADC
第二题、多项选择题(每题2分,5道题共10分)
1、C++的输出可以使用 BC
A、scanf B、printf C、cout D、out
2、以下语句循环次数为无限次的是 BCD
A、for ( y=0,x=1;x>++y;x=I++) I=x; B、for(;;x++=I); C、while(1){x++;}
C、提取运算符读取键盘输入的所有字符,包括空格 D、一个语句中可以使用多个提取运算符
第三题、判断题(每题1分,5道题共5分)
1、文件是指存储在存储器的数据的集合。计算机中的程序、数据、文档通常以文件方式存放。
正确
2、trunc与out参数的作用是相同的。
正确
3、cout通常与显示器相连,cin通常与键盘相连
4、当派生类中有和基类一样名字的成员时,下面说法错误的是( )。 ACD
A、将产生二义性
B、派生类的同名成员将覆盖基类的成员 C、是不能允许的
D、基类的同名成员将覆盖派生类的成员
5、含有虚基类的派生类的构造函数调用次序错误的是( ) BCD
A、虚基类,基类,派生类, 对象成员 B、基类,派生类,对象成员,虚基类 C、对象成员,基类,虚基类,派生类 D、基类,虚基类,对象成员,派生类
2、对于公有继承,基类中的私有成员在派生类中将 ( )。AC
A、不能够直接使用成员名访问 B、能够通过成员运算符访问 C、仍然是基类的私有成员 D、变为派生类的私有成员
3、当保护继承时,下面说法正确的是( ) CD
A、基类的成员的访问权限在派生类中不变
B、在类作用域外能够通过派生类的对象来直接访问基类的公有成员 C、基类的保护成员和私有成员在派生类中的访问权限为受保护的 D、基类的公有成员在派生类中的访问权限为受保护的
D、双向容器
3、集合(set)属于( )
A、顺序容器 B、关联容器 C、前向容器
D、双向容器
4、多重集(multiset)属于( )
A、顺序容器 B、关联容器 C、前向容器
D、双向容器
5、映射(map)属于( )
A、顺序容器 B、关联容器 C、前向容器
D、双向容器
答案:AABBB
第二题、多项选择题(每题2分,5道题共10分)
D、for(I=10;;I--)sum+=I;
3、关于重载函数正确的说法是 ABD
A、函数重载指在同一作用域内多个函数使用相同的函数名 B、重载函数的参数必须不同 C、重载函数的返回值类型必须不同 D、两个功能相似的操作可以重载函数得到
4、下面函数声明正确的是 ABD
A、void f1(int a,int b);
4、下面关于cout的说法正确的是( ) AD
A、cout是与标准设备链接的预定义输出流 B、运算符>>向cout发送字符 C、一个语句中只能使用一个插入运算符 D、插入运算符是左结合的
5、下面关于cin的说法正确的是( ) AD
A、cin是与标准设备链接的预定义输入流 B、运算符>>向cin发送字符
A、!outf 或者 outf.fail() B、!outf 或者 outf.good() C、outf 或者 outf.fail()
D、outf 或者 outf.good()
2、在C++程序中使用的cin标识符是系统类库中定义的( )类中的一个对象。
A、istream B、ostream C、iostream