川大《面向对象程序设计2261》21秋在线作业2[答案]答案
《面向对象程序设计2261》21秋在线作业2-00001
试卷总分:100 得分:100
一、单选题 (共 30 道试题,共 60 分)
1.C++泛型编程通过()实现
A.void
B.template
正确答案:-----
C.NULL
D.typedef
正确答案:-----
2.使用流控制符()需要头文件
A.endl
正确答案:-----
B.hex
C.setw
D.left
正确答案:-----
3.若k为整形,则while循环执行( )次。 k=2; while(k==0) printf(“%d”,k); k--; printf(“ ”);
正确答案:-----
A.10
B.9
C.0
D.1
正确答案:-----
4.C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是()
A.增加了一些ABC运算符
B.允许函数重载,并允许设置缺省参数
C.规定函数说明符必须用原型
D.引进了类和对象的概念
正确答案:-----
5.有如下定义: int a[5]={1,3,5,7,9},*p=a; 下列表达式中不能得到数值 5 的是 ( )
A.a[2]
B.a[3]
C.*(p+2)
D.*p+4
正确答案:-----
6.下面是一个模板声明的开始部分: templute
正确答案:-----
A.这可能是一个函数模板的声明
B.这可能是一个类模板的声明
C.这既可能是一个函数模板的声明,也可能是一个类模板的声明
D.这肯定是一个错误的模板声明
正确答案:-----
7.若有定义:intaa[8];则以下表达式中不能代表数组元aa[1]的地址的是()
A.&aa[0]+1
B.&aa[1]
C.&aa[0]++
D.aa+1
正确答案:-----
8.下面函数调用语句含有实参的个数为: ( ) func((exp1,exp2),(exp3,exp4,exp5))
A.1
B.2
C.4
D.5
正确答案:-----
9.多重继承时,如果派生类的两个父类有一个共同的虚基类,那么虚基类的初始化参数由()的构造函数来传递
A.第一个父类
B.第二个父类
C.派生类
D.以上都不是
正确答案:-----
10.已知函数 f 的原型是 void f(int *a, long & b);,变量 v1、v2 的定义是: int v1; loong v2; 下列调用语句中正确的是 ( )
正确答案:-----
A.f(v1,&v2)
B.f(v1,v2)
C.f(&v1,&v2)
D.f(&v1,v2)
正确答案:-----
11.以下不能正确进行字符串赋初值的语句是()
A.charstr[5]="good!";
正确答案:-----
正确答案:-----
正确答案:-----
B.charstr[]="good!";
C.char*str="good!";
D.charstr[5]={‘g',‘o',‘o',‘d'};
正确答案:-----
12.以下对二维数组a的正确说明是:()
A.inta[3][];
B.floata(3,4);
C.doublea[1][4];
正确答案:-----
D.floata(3)(4);
正确答案:-----
13.C++异常处理机制中没有()
A.try
B.throw
C.catch
D.finally
正确答案:-----
14.多态性是通过()实现的
A.构造函数
B.析构函数
C.虚函数
D.函数重载
正确答案:-----
15.用cin为整型变量输入数据时,如果从键盘输入的不是数字,输入后整型变量中的结果会是:()
A.0
B.负数
C.正数
D.不确定
正确答案:-----
正确答案:-----
16.如果myclass类定义了拷贝构造函数和一个整型参数的构造函数,还重载了赋值运算符,那么语句myclassobj=100;会( )
A.调用拷贝构造函数
B.调用整型参数的构造函数
C.调用赋值运算符
D.引起编译错误
正确答案:-----
17.在下列关键字中,不能用来表示继承方式的是()
A.private
B.static
C.public
D.protected
正确答案:-----
21.十进制数127转换成二进制数是()
A.11111111
B.01111111
C.10000000
D.11111110
正确答案:-----
19.C++源文件的缺省扩展名为()
A.cpp
B.exe
C.obj
D.lik
正确答案:-----
20.如果短整型的长度是2字节,有一个短整型指针p的值是0xFFED1200,那么p+1的值为()
正确答案:-----
A.0xFFED1201
正确答案:-----
B.0xFFED1202
正确答案:-----
C.0xFFED1203
正确答案:-----
D.0xFFED1204
正确答案:-----
21.下面不支持下标操作的容器是()
A.vector
B.deque
正确答案:-----
C.list
D.map
正确答案:-----
22.设有定义intx;floatv;,则10+x+v值的数据类型是()
A.int
B.double
正确答案:-----
C.float
D.不确定
23.两个指针变量不可以()
A.相加
B.比较
C.相减
D.指向同一地址
正确答案:-----
24.下列语句分别是不同程序中的第一个输入输出语句,若去掉其中的“< 正确答案:----- A.cout< B.cout< C.cout< 正确答案:----- D.cout< 正确答案:----- 25.程序运行中需要从键盘上输入多于一个数据时,各数据之间应该使用()符号作为分隔符 A.空格或逗号 B.逗号或回车 C.逗号或分号 D.空格或回车 正确答案:----- 26.二进制数00001001跟01000011异或的结果为() A.01001011 B.00000001 C.01001010 D.01001100 正确答案:----- 27.链表的基本单元是() A.节点 B.头指针 C.尾指针 D.数据域 正确答案:----- 28.判断一个ofstream类对象file打开文件是否失败,应该判断() A.创建文件流对象时是否抛出异常 B.open成员函数的返回值 C.feof成员函数的返回值 D.!file是否为真 正确答案:----- 29.函数的形参是() A.全局变量 B.局部变量 C.静态变量 D.部变量 正确答案:----- 30.有如下类定义: class Point{ private; static int how_many; }; ___________ how_many=0; 要初始化 Point 类的静态成员 how_many,下划线处应填入的内容是 A.ing B.staticint C.intPoint:: D.staticintPoint:: 正确答案:----- 川大《面向对象程序设计2261》21秋在线作业2[答案]多选题答案 二、多选题 (共 5 道试题,共 20 分) 31.关于公共静态数据成员,下面说法正确的是() A.在main函数之前创建 B.跟某个具体对象无关 C.可以用类名和成员名直接访问 D.需要在类体外初始化 正确答案:----- 32.面向对象的编程方法的主要特征包括() A.封装 B.继承 C.多态 D.消息 正确答案:----- 33.流程控制语句有()几种 A.条件语句 B.循环语句 C.分支语句 D.表达式语句 正确答案:----- 34.构造函数() A.函数名只能是类名 B.返回类型可以是任意的 C.参数个数和类型可以是任意的 D.在对象创建时自动调用 正确答案:----- 35.C++中变量要求() A.有明确的类型 B.先声明后使用 C.名字中不能使用下划线 D.严格区分大小写 正确答案:----- 三、判断题 (共 5 道试题,共 20 分) 36.结构化程序设计的基本方法是递归法。() 37.C++程序从上机到得到结果的几个操作步骤依次是:编辑、编译、连接、运行。() 38.宏名必须用大写字母表示。() 39.C++语言的跳转语句中,break语句只应用于循环体中。() 40.字符串"ab "在机器中占6个字节。() 川大《面向对象程序设计2261》21秋在线作业2[答案]历年参考题目如下: 《面向对象程序设计2261》18春在线作业2-0001 试卷总分:100 得分:0 一、 单选题 (共 30 道试题,共 60 分) 1.若k为整形,则while循环执行( )次。 k=2; while(k==0) printf(“%d”,k); k--; printf(“ ”); A.10 B.9 C.0 D.1 2.设有定义intx;floatv;,则10+x+v值的数据类型是() A.int B.double C.float D.不确定 3.下列排序算法中,平均效率最低的排序算法是() A.插入法 B.冒泡法 C.选择法 D.快速排序法 4.下面的选项中正确的赋值语句是(chara[5],*p=a;)() A.p=“abcd”; B.a=“abcd”; C.*p=“abcd”;D*a=“abcd”; 5.有如下 4 个语句: ① cout<<~A~< A.①和③ B.①和④ C.②和③ D.②和④ 6.下面函数调用语句含有实参的个数为: ( ) func((exp1,exp2),(exp3,exp4,exp5)) A.1 B.2 C.4 D.5 7.二进制数00001001跟01000011异或的结果为() A.01001011 B.00000001 C.01001010 D.01001100 8.数组名表示的是数组的() A.类型 B.用途 C.地址 D.长度 9.用cin为整型变量输入数据时,如果从键盘输入的不是数字,输入后整型变量中的结果会是:() A.0 B.负数 C.正数 D.不确定 10.在每个C++程序中都必须包含有这样一个函数,该函数的名称为() A.main B.MAIN C.name D.function 11.多态性是通过()实现的 A.构造函数 B.析构函数 C.虚函数 D.函数重载 12.有如下类定义: class MyClass{ int value; public: MyClass(int n): value (n) {} int gerValue()const{ return value;} }; 则类 MyClass 的构造函数的个数是 ( ) A.1个 B.2个 C.3个 D.4个 13.C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是() A.增加了一些ABC运算符 B.允许函数重载,并允许设置缺省参数 C.规定函数说明符必须用原型 D.引进了类和对象的概念 14.抽象类指的是() A.没有任何成员的类 B.只有成员函数没有数据成员的类 C.有虚函数的类 D.有纯虚函数的类 15.队列的最大特征是() A.先进先出 B.后进先出 C.自动排序 D.大数优先 16.在定义inta[3][4][2];后,第10个元素是() A.a[2][1][2] B.a[1][0][1] C.a[2][0][1] D.a[2][2][1] 17.执行下列语句段后,输出字符“*”的个数是()for(inti=50;i>1;I-=2)cout<<~*~; A.24 B.25 C.26 D.50 18.如果myclass类定义了拷贝构造函数和一个整型参数的构造函数,还重载了赋值运算符,那么语句myclassobj=100;会( ) A.调用拷贝构造函数 B.调用整型参数的构造函数 C.调用赋值运算符 D.引起编译错误 19.下面不支持下标操作的容器是() A.vector B.deque C.list D.map 20.在下列关键字中,不能用来表示继承方式的是() A.private B.static C.public D.protected 21.下列语句分别是不同程序中的第一个输入输出语句,若去掉其中的“< A.cout< B.cout< C.cout< D.cout< 22.程序运行中需要从键盘上输入多于一个数据时,各数据之间应该使用()符号作为分隔符 A.空格或逗号 B.逗号或回车 C.逗号或分号 D.空格或回车 23.C++源文件的缺省扩展名为() A.cpp B.exe C.obj D.lik 24.链表的基本单元是() A.节点 B.头指针 C.尾指针 D.数据域 25.C++函数的声明和定义可以分开,函数声明不需要() A.返回类型 B.函数名 C.参数表 D.函数体 26.判断一个ofstream类对象file打开文件是否失败,应该判断() A.创建文件流对象时是否抛出异常 B.open成员函数的返回值 C.feof成员函数的返回值 D.!file是否为真 27.二叉查找树按()遍历时访问到节点的数据是排好序的 A.前序 B.中序 C.后序 D.层次 28.函数的形参是() A.全局变量 B.局部变量 C.静态变量 D.部变量 29.如果有如下定义:constchar*str="OK";那么,sizeof(str)的值应该是() A.1 B.2 C.3 D.4 30.数组名作为实参传递给形参时,数组名被处理为该数组的() A.长度 B.元素个数 C.首地址 D.各元素的值 二、 多选题 (共 5 道试题,共 20 分) 1.设有定义语句: int x[6]={2,4,6,8,5,7},*p=x,i; 要求依次输出x数组6个元素中的值,下列选项中能完成次操作的语句有_( )、 A.for(i=0;i<6;i++)printf(“%2d”,*(p++)); B.for(i=0;i<6;i++)printf(“%2d”,*(p+i)); C.for(i=0;i<6;i++)printf(“%2d”,*p++); D.for(i=0;i<6;i++)printf(“%2d”,(*p)++); 2.关于公共静态数据成员,下面说法正确的是() A.在main函数之前创建 B.跟某个具体对象无关 C.可以用类名和成员名直接访问 D.需要在类体外初始化 3.面向对象的编程方法的主要特征包括() A.封装 B.继承 C.多态 D.消息 4.构造函数() A.函数名只能是类名 B.返回类型可以是任意的 C.参数个数和类型可以是任意的 D.在对象创建时自动调用 5.C++中变量要求() A.有明确的类型 B.先声明后使用 C.名字中不能使用下划线 D.严格区分大小写 三、 判断题 (共 5 道试题,共 20 分) 1.字符串"ab "在机器中占6个字节。() A.错误 B.正确 2.结构化程序设计的基本方法是递归法。() A.错误 B.正确 3._int可以定义为用户标识符。() A.错误 B.正确 4.宏名必须用大写字母表示。() A.错误 B.正确 5.1.234e0为C++语言合法常量。() A.错误 B.正确