[计算机类试卷]国家二级C++机试(运算符重载、C++流)模拟试卷2及答案与解析.doc
《[计算机类试卷]国家二级C++机试(运算符重载、C++流)模拟试卷2及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C++机试(运算符重载、C++流)模拟试卷2及答案与解析.doc(17页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C+机试(运算符重载、 C+流)模拟试卷 2及答案与解析 一、选择题 1 关于运算符重载,下列表述中正确的是 ( )。 ( A) C+已有的任何运算符都可以重载 ( B)运算符函数的返回类型不能声明为基本数据类型 ( C)在类型转换符函数的定义中不需要声明返回类型 ( D)可以通过运算符重载来创建 C+中原来没有的运算符 2 下列关于运算符重载的描述中,正确的是 ( )。 ( A)运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符 ( B)一元运算符只能作为成员函数重载 ( C)二元运算符重载为非成员函数时,参数表中有一个参数 ( D) C+中可以重载所有的运算符 3 运算
2、符重载时不需要保持的性质是 ( )。 ( A)操作数个数 ( B)操作数类型 ( C)优先级 ( D)结合性 4 下列关于运算符重载的描述中,错误的是 ( )。 ( A)可以通过运算符重载在 C+中创建新的运算符 ( B)赋值运算符只能重载为成员函数 ( C)运算符函数重载为类的成员函数时,第一操作数是该类对象 ( D)。重载类型转换运算符时不需要声明返回类型 5 已知在一个类体中包含 如下函数原型: VOLUME operator-(VOLUME)const;下列关于这个函数的叙述中,错误的是 ( )。 ( A)这是运算符的重载运算符函数 ( B)这个函数所重载的运算符是一个一元运算符 (
3、C)这是一个成员函数 ( D)这个函数不改变类的任何数据成员的值 6 有如下的运算符重载函数定义: double operator+(int i, int k)return double(i+k); 但定义有错误,对这个错误最准确的描述是 ( )。 ( A) +只能作为成员函数重载,而这里的 +是作为非成员函数重载的 ( B)两个 int型参数的和也应该是 int型,而这里将 +的返回类型声明为 double ( C)没有将运算符重载函数声明为某个类的友元 ( D) C+已经提供了求两个 int型数据之和的运算符 +,不能再定义同样的运算符 7 下列是重载乘法运算符的函数原型声明,其中错误的是
4、 ( )。 ( A) MyClass operator*(double, double); ( B) MyClass operator*(double, MyClass); ( C) MyClass operator*(MyClass, double); ( D) MyClass operator*(MyClass, MyClass); 8 如果表达式 a =b中的 “ =”是作为非成员函数重载的运算符,则可以等效地表示为 ( )。 ( A) a operator =(b) ( B) b operatotr =(a) ( C) operator =(a, b) ( D) operator =(
5、b, a) 9 将运算符重载为类成员函数时,其参数表中没有参数,说明该运算符是 ( )。 ( A)不合法的运算符 ( B)一元运算符 ( C)无操作数的运算符 ( D)二元运算符 10 下列关于赋值运算符 “=”重载的叙述中,正确的是 ( )。 ( A)赋值运算符只能作为类的成员函数重载 ( B)默认的赋值运算符实现了 “深层复制 ”功能 ( C)重载的赋值运算符函数有两个本类对象作为形参 ( D)如果已经定义了复制 (拷贝 )构造函数,就不能重载赋值运算符 11 若要对 Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。 ( A) Data+(Data); ( B) D
6、ata operator+Data; ( C) Data+operatorData; ( D) operator+(Data, Data); 12 为类 Matrix重载下列运算符时,只能作为 Matrix类成员函数重载的运算符是( )。 ( A) + ( B) = ( C) ( D) + 13 若需要为 XV类重载乘法运算符,运算结果为 XV类型,在将其声明为类的成员函数时,下列原型声明正确的是 ( )。 ( A) XV operator*(XV, XV); ( B) XV*(XV); ( C) operator*(XV); ( D) XV operator*(XV); 14 下列运算符不能
7、重载为友元函数的是 ( )。 ( A) = () - ( B) + - + - ( C) = = ( D) += -= *= = 15 下列关于 C+流的说明中,正确的是 ( )。 ( A)与键盘、屏幕、打印机和通信端口的交互都可以通过流类来实现 ( B)从流中获取数据的操作称为插入操作,向流中添加数据的操作称为提取操作 ( C) cin是一个预定义的输入流类 ( D)输出流有一个名为 open的成员函数,其作用是生成一个新的流对象 16 下列有关 C+流的叙述中,错误的是 ( )。 ( A) C+操作符 setw设置的输出宽度永久有效 ( B) C+操作符 endl可以实现输出的回车换行 (
8、 C)处理文件 I O时,要包含头文件 fstream ( D)进行输入操作时, eof()函数用于检测是否到达文件尾 17 在 C+中, cin是一个 ( )。 ( A)类 ( B)对象 ( C)模板 ( D)函数 18 要利用 C+流实现输入输出的各种格式控制,必须在程序中包含的头文件是( )。 ( A) fstream ( B) istreara ( C) ostream ( D) iomanip 19 在 C+中既可以用于文件输入又可以用于文件输出的流类是 ( )。 ( A) fstream ( B) ifstream ( C) ofstream ( D) iostream 20 下面
9、关于 C+流的叙述中,正确的是 ( )。 ( A) cin是一个输入流对象 ( B)可以用 ifstream定义一个输出流对象 ( C)执行语句序列 char *y=“PQMN“; cout y;将输出字符串 “PQMN“的地址 ( D)执行语句序列 char x80; cin getline(x,80);时,若键入 Happy new year则x中的字符串是 “Happy“ 21 有如下程序 #include iostream #include iomanip using namespace std; int main() cout setprecision(3) fixed setfil
10、l(*) setW(8); cout 12 345 _ 34 567; return 0; 若程序的输出是: *12 345*34 567 则程序中下划线处遗漏的操作符是 ( )。 ( A) setprecision(3) ( B) fixed ( C) setfill(*) ( D) setw(8) 22 有如下 4个语句: cout A setfill(*) lefc setw(7) B endl; cout setfill(*) left setw(7) A B endl; cout A serfill(*) right setw(7) B endl; cout setfill(*) r
11、ight setw(7) A B endl; 其中能显示 A*B的是 ( )。 ( A) 和 ( B) 和 ( C) 和 ( D) 和 23 有如下程序: include iostream include iomanip using namespace std; int main() int s=123, 234; cout right setfill(*) setw(6); for(int i=0; i 2; i+)cout si endl; return 0; 运行时的输出结果是 ( )。 ( A) 123 234 ( B) *123 234 ( C) *123 *234123 ( D)
12、*123 234* 24 下列语句都是程序运行时的第 1条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是 ( )。 ( A) cout intemal 12345; ( B) cout left 12345; ( C) cout right 12345; ( D) cout setw(6) 12345; 25 有如下程序: #include iostream #include iomanip using namespace std; int main() cout setfill(#) setw(4) “OK“ 123 endl; return 0; 运行这个程序的输出结果是 (
13、 )。 ( A) OKl23 ( B) OK123 ( C) OK 123 ( D) OK 123 26 如下函数的作用是以 双倍行距输出文件: void double_space(ifstream&f, ofstream&t) char c; while(_) ; _ if( c= n)t put(c); 画线处缺失的部分是 ( )。 ( A) f get(c)与 t put(c) ( B) f put(c)与 t get(c) ( C) t get(c)与 f put(c) ( D) t put(c)与 f get(c) 27 要建立文件流并打开当前目录下的文件 rile dat用于输入,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 机试 运算 重载 模拟 答案 解析 DOC
