川大《面向对象程序设计2261》21秋在线作业1[答案]答案
《面向对象程序设计2261》21秋在线作业1-00001
试卷总分:100 得分:100
一、单选题 (共 30 道试题,共 60 分)
1.两个指针变量不可以()
A.相加
B.比较
C.相减
D.指向同一地址
正确答案:-----
2.执行下列语句段后,输出字符“*”的个数是()for(inti=50;i>1;I-=2)cout<<~*~;
正确答案:-----
A.24
B.25
C.26
D.50
正确答案:-----
3.有如下类和对象的定义: class Constants{ public: static double getPI(){return 3.1416;} }; Constants constants; 下列各组语句中,能输出 3.1416 的是 ( )
正确答案:-----
A.cout< B.cout< C.cout< D.cout< 正确答案:----- 4.队列的最大特征是() A.先进先出 B.后进先出 C.自动排序 D.大数优先 正确答案:----- 5.C++函数的声明和定义可以分开,函数声明不需要() A.返回类型 B.函数名 C.参数表 D.函数体 正确答案:----- 6.多重继承时,如果派生类的两个父类有一个共同的虚基类,那么虚基类的初始化参数由()的构造函数来传递 A.第一个父类 B.第二个父类 C.派生类 D.以上都不是 正确答案:----- 7.如果定义了一个类myclass,则为myclass类对象以成员函数形式重载后++运算符的声明应该为() A.myclassoperator++(); B.myclass& operator++(); C.myclassoperator++(int); D.myclass& operator++(int); 正确答案:----- 8.private访问属性限制对象的成员可以在()中访问 A.本类的成员函数 B.main函数 C.父类的成员函数 D.子类的成员函数 正确答案:----- 9.在下列关键字中,不能用来表示继承方式的是() A.private B.static C.public D.protected 正确答案:----- 10.已知Value是一个类,Value是Value的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是() A.Valueoperator+(Valuev,inti); B.Valueoperator+(Valuev=value,inti); C.Valueoperator+(Valuevinti=0); D.Valueoperator+(Valuev=value,inti=0); 正确答案:----- 11.执行语句 char ch[] = "Hello"; char * p = &ch[0]; cout<<*p 结果是输出 ( )。 A.一个地址 B.H C.Hello D.乱码 正确答案:----- 12.若有定义:intaa[8];则以下表达式中不能代表数组元aa[1]的地址的是() A.&aa[0]+1 B.&aa[1] C.&aa[0]++ D.aa+1 正确答案:----- 13.如果有如下定义:constchar*str="OK";那么,sizeof(str)的值应该是() A.1 B.2 C.3 D.4 正确答案:----- 14.多态性是通过()实现的 A.构造函数 B.析构函数 C.虚函数 D.函数重载 正确答案:----- 15.有如下 4 个语句: ① cout<<~A~< 正确答案:----- A.①和③ B.①和④ C.②和③ D.②和④ 正确答案:----- 16.以下对二维数组a的正确说明是:() A.inta[3][]; B.floata(3,4); C.doublea[1][4]; 正确答案:----- D.floata(3)(4); 正确答案:----- 17.假定a为一个短整型(shortint)数组名,则元素a[8]的地址为() A.a+4 B.a+8 C.a+16 D.a+32 正确答案:----- 21.在每个C++程序中都必须包含有这样一个函数,该函数的名称为() A.main B.MAIN C.name D.function 正确答案:----- 19.父类和子类各自定义一个成员函数,函数名相同,参数表不同,那么() A.在子类中这两个函数构成重载关系 B.子类不会继承父类的这个函数 C.子类中的函数会覆盖父类中的函数 D.编译时会发生错误 正确答案:----- 20.函数的形参是() A.全局变量 B.局部变量 C.静态变量 D.部变量 正确答案:----- 21.下面是一个模板声明的开始部分: templute 正确答案:----- A.这可能是一个函数模板的声明 B.这可能是一个类模板的声明 C.这既可能是一个函数模板的声明,也可能是一个类模板的声明 D.这肯定是一个错误的模板声明 正确答案:----- 22.若有说明:int*p1,*p2,m=5,n;以下均是正确赋值语句的是() A.p1=&m,p2=&p1 B.p1=&m;p2=&n;*p1=*p2 C.p1=&m;p1=p2 D.p1=&m;*p2=*p1 正确答案:----- 23.下面函数调用语句含有实参的个数为: ( ) func((exp1,exp2),(exp3,exp4,exp5)) A.1 B.2 C.4 D.5 正确答案:----- 24.链表的基本单元是() A.节点 B.头指针 C.尾指针 D.数据域 正确答案:----- 25.C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是() A.增加了一些ABC运算符 B.允许函数重载,并允许设置缺省参数 C.规定函数说明符必须用原型 D.引进了类和对象的概念 正确答案:----- 26.C++源文件的缺省扩展名为() A.cpp B.exe C.obj D.lik 正确答案:----- 27.下列排序算法中,平均效率最低的排序算法是() A.插入法 B.冒泡法 C.选择法 D.快速排序法 正确答案:----- 28.设有定义intx;floatv;,则10+x+v值的数据类型是() A.int B.double 正确答案:----- C.float D.不确定 正确答案:----- 正确答案:----- 29.以下不能正确进行字符串赋初值的语句是() A.charstr[5]="good!"; 正确答案:----- 正确答案:----- 正确答案:----- B.charstr[]="good!"; C.char*str="good!"; D.charstr[5]={‘g',‘o',‘o',‘d'}; 正确答案:----- 30.用cin为整型变量输入数据时,如果从键盘输入的不是数字,输入后整型变量中的结果会是:() A.0 B.负数 C.正数 D.不确定 川大《面向对象程序设计2261》21秋在线作业1[答案]多选题答案 二、多选题 (共 5 道试题,共 20 分) 31.C++中变量要求() A.有明确的类型 B.先声明后使用 C.名字中不能使用下划线 D.严格区分大小写 正确答案:----- 32.两个同名函数构成重载关系,只要()不同 A.返回类型 B.参数个数 C.参数类型 D.函数头后有无const 正确答案:----- 33.面向对象的编程方法的主要特征包括() A.封装 B.继承 C.多态 D.消息 正确答案:----- 34.for语句的格式为for(表达式1;表达式2;表达式3),其中可以省略的是() A.两个分号 B.表达式1 C.表达式2 D.表达式3 正确答案:----- 35.流程控制语句有()几种 A.条件语句 B.循环语句 C.分支语句 D.表达式语句 正确答案:----- 三、判断题 (共 5 道试题,共 20 分) 36.逻辑运算符两侧运算对象的数据类型只能是0或1。() 37.结构化程序设计的基本方法是递归法。() 38.C++语言是从早期的C语言逐渐发展演变而来的,与C语言相比,它在求解问题方法上进行的最大改进是面向过程。() 39.宏名必须用大写字母表示。() 40.1.234e0为C++语言合法常量。() 川大《面向对象程序设计2261》21秋在线作业1[答案]历年参考题目如下: 《面向对象程序设计2261》在线作业2 试卷总分:100 得分:100 一、单选题 (共 30 道试题,共 60 分) 1.执行语句 char ch[] = "Hello"; char * p = &ch[0]; cout<<*p 结果是输出 ( )。 A.一个地址 B.H C.Hello D.乱码 2.C++函数的声明和定义可以分开,函数声明不需要() A.返回类型 B.函数名 C.参数表 D.函数体 3.二叉查找树按()遍历时访问到节点的数据是排好序的 A.前序 B.中序 C.后序 D.层次 4.下列排序算法中,平均效率最低的排序算法是() A.插入法 B.冒泡法 C.选择法 D.快速排序法 5.在每个C++程序中都必须包含有这样一个函数,该函数的名称为() A.main B.MAIN C.name D.function 6.用cin为整型变量输入数据时,如果从键盘输入的不是数字,输入后整型变量中的结果会是:() A.0 B.负数 C.正数 D.不确定 7.如果在try块中用throw"error";语句抛出一个异常,则参数类型是()的catch块能够捕获这个异常。 A.char* B.constchar* C.Char D.constchar 8.已知Value是一个类,Value是Value的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是() A.Valueoperator+(Valuev,inti); B.Valueoperator+(Valuev=value,inti); C.Valueoperator+(Valuevinti=0); D.Valueoperator+(Valuev=value,inti=0); 9.已知函数 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) 10.以下不能正确进行字符串赋初值的语句是() A.charstr[5]="good!"; B.charstr[]="good!"; C.char*str="good!"; D.charstr[5]={‘g',‘o',‘o',‘d'}; 11.两个指针变量不可以() A.相加 B.比较 C.相减 D.指向同一地址 12.C++异常处理机制中没有() A.try B.throw C.catch D.finally 13.数组名表示的是数组的() A.类型 B.用途 C.地址 D.长度 14.数组名作为实参传递给形参时,数组名被处理为该数组的() A.长度 B.元素个数 C.首地址 D.各元素的值 15.如果myclass类定义了拷贝构造函数和一个整型参数的构造函数,还重载了赋值运算符,那么语句myclassobj=100;会( ) A.调用拷贝构造函数 B.调用整型参数的构造函数 C.调用赋值运算符 D.引起编译错误 16.假定a为一个短整型(shortint)数组名,则元素a[8]的地址为() A.a+4 B.a+8 C.a+16 D.a+32 17.private访问属性限制对象的成员可以在()中访问 A.本类的成员函数 B.main函数 C.父类的成员函数 D.子类的成员函数 18.C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是() A.增加了一些ABC运算符 B.允许函数重载,并允许设置缺省参数 C.规定函数说明符必须用原型 D.引进了类和对象的概念 19.使用流控制符()需要头文件 A.endl B.hex C.setw D.left 20.若有说明:int*p1,*p2,m=5,n;以下均是正确赋值语句的是() A.p1=&m,p2=&p1 B.p1=&m;p2=&n;*p1=*p2 C.p1=&m;p1=p2 D.p1=&m;*p2=*p1 21.队列的最大特征是() A.先进先出 B.后进先出 C.自动排序 D.大数优先 22.函数的形参是() A.全局变量 B.局部变量 C.静态变量 D.部变量 23.下列有关抽象类和纯虚函数的叙述中,错误的是() A.拥有纯虚函数的类是抽象类,不能用来定义对象 B.抽象类的派生类若不实现纯虚函数,它也是抽象类 C.纯虚函数的声明以“=0;”结束 D.纯虚函数都不能有函数体 24.在定义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] 25.如果有如下定义:constchar*str="OK";那么,sizeof(str)的值应该是() A.1 B.2 C.3 D.4 26.十进制数127转换成二进制数是() A.11111111 B.01111111 C.10000000 D.11111110 27.要打开一个文件并从中读取数据,应该使用()类的对象 A.istream B.ostream C.ifstream D.ofstream 28.执行下列语句段后,输出字符“*”的个数是()for(inti=50;i>1;I-=2)cout<<~*~; A.24 B.25 C.26 D.50 29.C++泛型编程通过()实现 A.void B.template C.NULL D.typedef 30.下面是一个模板声明的开始部分: templute A.这可能是一个函数模板的声明 B.这可能是一个类模板的声明 C.这既可能是一个函数模板的声明,也可能是一个类模板的声明 D.这肯定是一个错误的模板声明 二、多选题 (共 5 道试题,共 20 分) 31.构造函数() A.函数名只能是类名 B.返回类型可以是任意的 C.参数个数和类型可以是任意的 D.在对象创建时自动调用 32.面向对象的编程方法的主要特征包括() A.封装 B.继承 C.多态 D.消息 33.类成员的访问属性可以是() A.public B.protected C.private D.default 34.for语句的格式为for(表达式1;表达式2;表达式3),其中可以省略的是() A.两个分号 B.表达式1 C.表达式2 D.表达式3 35.流程控制语句有()几种 A.条件语句 B.循环语句 C.分支语句 D.表达式语句 三、判断题 (共 5 道试题,共 20 分) 36.字符串"ab "在机器中占6个字节。() 37.重载函数形参个数可以不同。() 38.结构化程序设计的基本方法是递归法。() 39.宏名必须用大写字母表示。() 40.C++语言是从早期的C语言逐渐发展演变而来的,与C语言相比,它在求解问题方法上进行的最大改进是面向过程。()