在线作业 发表于 2017-11-6 16:06:41

川大《面向对象程序设计(1)》17秋在线作业12资料

《面向对象程序设计(1)》17秋在线作业1
一、单选题:
1.<p>若k为整形,则while循环执行( )次。</p><p>k=2; </p><p>while(k==0) printf(“%d”,k); </p><p>k--; </p><p>printf(“\\\\n”);</p>          (满分:2)
    A.10    B.9
    C.0    D.1
2.以下不能正确进行字符串赋初值的语句是(   )。          (满分:2)
    A.char str=\\\good!\\\;
    B.char str[]=\\\good!\\\;
    C.char *str=\\\good!\\\;
    D.char str={'g','o','o','d'};
3.在每个C++程序中都必须包含有这样一个函数,该函数的名称为()。          (满分:2)
    A.main
    B.MAIN
    C.name
    D.function
4.数组名作为实参传递给形参时,数组名被处理为该数组的(   )。          (满分:2)
    A.长度
    B.元素个数
    C.首地址
    D.各元素的值
5.C++异常处理机制中没有(   )。          (满分:2)
    A.try
    B.throw
    C.catch
    D.finally
6.如果有如下定义: const char* str = \\\OK\\\;那么,sizeof(str)的值应该是(   )。          (满分:2)
    A.1
    B.2
    C.3
    D.4
7.如果myclass类定义了拷贝构造函数和一个整型参数的构造函数,还重载了赋值运算符,那么语句myclass obj = 100;会(  )。          (满分:2)
    A.调用拷贝构造函数
    B.调用整型参数的构造函数
    C.调用赋值运算符
    D.引起编译错误
8.<p>有如下类定义:</p><p>class Point{</p><p>private;</p><p>static int how_many;</p><p>};</p><p>___________ how_many=0; </p><p>要初始化 Point 类的静态成员 how_many,下划线处应填入的内容是:</p>          (满分:2)
    A.ing
    B.static int
    C.int Point::
    D.static int Point::
9.<p>有如下类定义:</p><p>class MyClass{ </p><p>         int value; </p><p>public:</p><p>MyClass(int n): value (n) {}</p><p>         int gerValue()const{ return value;}</p><p>};</p><p>则类 MyClass 的构造函数的个数是( )。</p>          (满分:2)
    A.1个
    B.2个
    C.3个
    D.4个
10.程序运行中需要从键盘上输入多于一个数据时,各数据之间应该使用(   )符号作为分隔符。          (满分:2)
    A.空格或逗号
    B.逗号或回车
    C.逗号或分号
    D.空格或回车
11.函数的形参是()。          (满分:2)
    A.全局变量
    B.局部变量
    C.静态变量
    D.部变量
12.<p>下面函数调用语句含有实参的个数为:</p><p>func((exp1,exp2),(exp3,exp4,exp5))</p>          (满分:2)
    A.1
    B.2
    C.4
    D.5
13.如果定义了一个类myclass,则为myclass类对象以成员函数形式重载后++运算符的声明应该为(   )。          (满分:2)
    A.myclass operator++();
    B.myclass& operator++();
    C.myclass operator++( int );
    D.myclass&  operator++( int );
14.已知 Value 是一个类,Value 是 Value 的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是(   )。          (满分:2)
    A.Value operator+(Value v, int i);
    B.Value operator+(Value v=value, int i);
    C.Value operator+(Value vint i=0);
    D.Value operator+(Value v=value, int i=0);
15.<p>有如下 4 个语句:</p><p>① cout<<~A~<<setfill(~*~)<<left<<setw(7)<<~B~<<endl;</p><p>② cout<<setfill(~*~)<<left<<setw(7)<<~A~<<~B~<<endl;</p><p>③ cout<<~A~<<serfill(~*~)<<right<<setw(7)<<~B~<<endl;</p><p>④ cout<<setfill(~*~)<<right<<setw(7)<<~A~<<~B~<<endl;</p><p>其中能显示 A******B 的是( )。</p>          (满分:2)
    A.①和③
    B.①和④
    C.②和③
    D.②和④
16.使用流控制符(   )需要头文件。          (满分:2)
    A.endl
    B.hex
    C.setw
    D.left
17.数组名表示的是数组的(   )。          (满分:2)
    A.类型
    B.用途
    C.地址
    D.长度
18.多态性是通过(   )实现的。          (满分:2)
    A.构造函数
    B.析构函数
    C.虚函数
    D.函数重载
19.下列语句分别是不同程序中的第一个输入输出语句,若去掉其中的“<<left”,输出效果将发生变化的是(   )。          (满分:2)
    A.cout<<left<<setfill(~*~)<<357;
    B.cout<<left<<setw(5)<<357;
    C.cout<<left<<setw(5)<<\\\ABCDE\\\;
    D.cout<<left<<\\\ABCDE\\\;
20.<p>执行下列语句段后,输出字符“*”的个数是 ( )。</p><p>for (int i=50; i>1; I-=2)cout<<~*~;</p>          (满分:2)
    A.24
    B.25
    C.26
    D.50
21.多重继承时,如果派生类的两个父类有一个共同的虚基类,那么虚基类的初始化参数由(   )的构造函数来传递。          (满分:2)
    A.第一个父类
    B.第二个父类
    C.派生类
    D.以上都不是
22.下面不支持下标操作的容器是(   )。          (满分:2)
    A.vector
    B.deque
    C.list
    D.map
23.用cin为整型变量输入数据时,如果从键盘输入的不是数字,输入后整型变量中的结果会是:          (满分:2)
    A.0
    B.负数
    C.正数
    D.不确定
24.在下列关键字中,不能用来表示继承方式的是(   )。          (满分:2)
    A.private
    B.static
    C.public
    D.protected
25.两个指针变量不可以(   )。          (满分:2)
    A.相加
    B.比较
    C.相减
    D.指向同一地址
26.下面的选项中正确的赋值语句是(char a,*p=a;)。          (满分:2)
    A.p=“abcd”;
    B.a=“abcd”;
    C.*p=“abcd”;D*a=“abcd”;
27.<p>执行语句</p><p>char ch[] = "Hello";</p><p>char * p = &ch;</p><p>cout<<*p </p><p>结果是输出 ( )。</p>          (满分:2)
    A.一个地址
    B.H
    C.Hello
    D.乱码
28.有如下定义:\\nint a={1,3,5,7,9},*p=a;\\n下列表达式中不能得到数值 5 的是 (   )。          (满分:2)
    A.a
    B.a
    C.*(p+2)
    D.*p+4
29.二进制数00001001跟01000011异或的结果为(   )。          (满分:2)
    A.01001011
    B.00000001
    C.01001010
    D.01001100
30.要打开一个文件并从中读取数据,应该使用(   )类的对象。          (满分:2)
    A.istream
    B.ostream
    C.ifstream
    D.ofstream
二、多选题:
31.类成员的访问属性可以是(   )。          (满分:4)
    A.public
    B.protected
    C.private
    D.default
32.构造函数(   )。          (满分:4)
    A.函数名只能是类名
    B.返回类型可以是任意的
    C.参数个数和类型可以是任意的
    D.在对象创建时自动调用
33.两个同名函数构成重载关系,只要(   )不同。          (满分:4)
    A.返回类型
    B.参数个数
    C.参数类型
    D.函数头后有无const
34.面向对象的编程方法的主要特征包括(    )。          (满分:4)
    A.封装
    B.继承
    C.多态
    D.消息
35.模板定义中的类型参数可以用作(   )。          (满分:4)
    A.局部变量类型
    B.函数参数类型
    C.函数返回值类型
    D.数据成员类型
三、判断题:
36.C++语言是从早期的C语言逐渐发展演变而来的,与C语言相比,它在求解问题方法上进行的最大改进是面向过程。          (满分:4)
    A.错误
    B.正确
37.重载函数形参个数可以不同。          (满分:4)
    A.错误
    B.正确
38.字符串\\\ab\\\\\\\\\\\\n\\\在机器中占6个字节。          (满分:4)
    A.错误
    B.正确
39.C++程序从上机到得到结果的几个操作步骤依次是:编辑、编译、连接、运行。          (满分:4)
    A.错误
    B.正确
40.结构化程序设计的基本方法是递归法。          (满分:4)
    A.错误
    B.正确
《面向对象程序设计(1)》17秋在线作业2

一、单选题:
1.多态性是通过(   )实现的。          (满分:2)
    A.构造函数
    B.析构函数
    C.虚函数
    D.函数重载
2.父类和子类各自定义一个成员函数,函数名相同,参数表不同,那么(   )。          (满分:2)
    A.在子类中这两个函数构成重载关系
    B.子类不会继承父类的这个函数
    C.子类中的函数会覆盖父类中的函数
    D.编译时会发生错误
3.如果myclass类定义了拷贝构造函数和一个整型参数的构造函数,还重载了赋值运算符,那么语句myclass obj = 100;会(  )。          (满分:2)
    A.调用拷贝构造函数
    B.调用整型参数的构造函数
    C.调用赋值运算符
    D.引起编译错误
4.在下列关键字中,不能用来表示继承方式的是(   )。          (满分:2)
    A.private
    B.static
    C.public
    D.protected
5.若有定义:int aa[ 8];。则以下表达式中不能代表数组元aa的地址的是(   )。          (满分:2)
    A.&aa+1
    B.&aa
    C.&aa++
    D.aa+1
6.判断一个ofstream类对象file打开文件是否失败,应该判断(   )。          (满分:2)
    A.创建文件流对象时是否抛出异常
    B.open成员函数的返回值
    C.feof成员函数的返回值
    D.!file是否为真
7.如果有如下定义: const char* str = \\\OK\\\;那么,sizeof(str)的值应该是(   )。          (满分:2)
    A.1
    B.2
    C.3
    D.4
8.用cin为整型变量输入数据时,如果从键盘输入的不是数字,输入后整型变量中的结果会是:          (满分:2)
    A.0
    B.负数
    C.正数
    D.不确定
9.以下对二维数组a的正确说明是:()。          (满分:2)
    A.int a[];
    B.float a(3,4);
    C.double a;
    D.float a(3)(4);
10.二进制数00001001跟01000011异或的结果为(   )。          (满分:2)
    A.01001011
    B.00000001
    C.01001010
    D.01001100
11.如果定义了一个类myclass,则为myclass类对象以成员函数形式重载后++运算符的声明应该为(   )。          (满分:2)
    A.myclass operator++();
    B.myclass& operator++();
    C.myclass operator++( int );
    D.myclass&  operator++( int );
12.设有定义int x; float v;,则10+x+v值的数据类型是(   )。          (满分:2)
    A.int
    B.double
    C.float
    D.不确定
13.在定义int a;后,第10个元素是(   )。          (满分:2)
    A.a
    B.a
    C.a
    D.a
14.下面的选项中正确的赋值语句是(char a,*p=a;)。          (满分:2)
    A.p=“abcd”;
    B.a=“abcd”;
    C.*p=“abcd”;D*a=“abcd”;
15.下列语句分别是不同程序中的第一个输入输出语句,若去掉其中的“<<left”,输出效果将发生变化的是(   )。          (满分:2)
    A.cout<<left<<setfill(~*~)<<357;
    B.cout<<left<<setw(5)<<357;
    C.cout<<left<<setw(5)<<\\\ABCDE\\\;
    D.cout<<left<<\\\ABCDE\\\;
16.假定AB   为一个类,则执行“AB   a(4),b,*p”语句时,自动调用该类构造函数的次数为(   )。          (满分:2)
    A.4
    B.5
    C.8
    D.13
17.C++异常处理机制中没有(   )。          (满分:2)
    A.try
    B.throw
    C.catch
    D.finally
18.有如下定义:\\nint a={1,3,5,7,9},*p=a;\\n下列表达式中不能得到数值 5 的是 (   )。          (满分:2)
    A.a
    B.a
    C.*(p+2)
    D.*p+4
19.如果短整型的长度是2字节,有一个短整型指针p的值是0xFFED1200,那么p+1的值为(   )。          (满分:2)
    A.0xFFED1201
    B.0xFFED1202
    C.0xFFED1203
    D.0xFFED1204
20.private访问属性限制对象的成员可以在(   )中访问。          (满分:2)
    A.本类的成员函数
    B.main函数
    C.父类的成员函数
    D.子类的成员函数
21.C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是(   )。          (满分:2)
    A.增加了一些新的运算符
    B.允许函数重载,并允许设置缺省参数
    C.规定函数说明符必须用原型
    D.引进了类和对象的概念
22.多重继承时,如果派生类的两个父类有一个共同的虚基类,那么虚基类的初始化参数由(   )的构造函数来传递。          (满分:2)
    A.第一个父类
    B.第二个父类
    C.派生类
    D.以上都不是
23.以下不能正确进行字符串赋初值的语句是(   )。          (满分:2)
    A.char str=\\\good!\\\;
    B.char str[]=\\\good!\\\;
    C.char *str=\\\good!\\\;
    D.char str={'g','o','o','d'};
24.<p>有如下类定义:</p><p>class Point{</p><p>private;</p><p>static int how_many;</p><p>};</p><p>___________ how_many=0; </p><p>要初始化 Point 类的静态成员 how_many,下划线处应填入的内容是:</p>          (满分:2)
    A.ing
    B.static int
    C.int Point::
    D.static int Point::
25.<p>有如下类和对象的定义:</p><p>class Constants{</p><p>public: </p><p>      static double getPI(){return 3.1416;}</p><p>};</p><p>Constants constants;</p><p>下列各组语句中,能输出 3.1416 的是( )。</p>          (满分:2)
    A.cout<<constants->getPI();和 cout<<Constants::gerPI();
    B.cout<<constants.getPI();和 cout<<Constants.getPI();
    C.cout<<constants->getPI();和 cout<<Constants->getPI();
    D.cout<<constants.getPI();和 cout<<Constants::getPI()。
26.<p>若k为整形,则while循环执行( )次。</p><p>k=2; </p><p>while(k==0) printf(“%d”,k); </p><p>k--; </p><p>printf(“\\\\n”);</p>          (满分:2)
    A.10
    B.9
    C.0
    D.1
27.下列排序算法中,平均效率最低的排序算法是(   )。          (满分:2)
    A.插入法
    B.冒泡法
    C.选择法
    D.快速排序法
28.若有说明:int *p1,*p2,m=5,n;以下均是正确赋值语句的是(   )。          (满分:2)
    A.p1=&m,p2=&p1
    B.p1=&m;p2=&n;*p1=*p2
    C.p1=&m;p1=p2
    D.p1=&m;*p2=*p1
29.在每个C++程序中都必须包含有这样一个函数,该函数的名称为()。          (满分:2)
    A.main
    B.MAIN
    C.name
    D.function
30.下列哪个是C++语言的有效标识符?          (满分:2)
    A._No1
    B.No、1
    C.12345
    D.int
二、多选题:
31.关于公共静态数据成员,下面说法正确的是(    )。          (满分:4)
    A.在main函数之前创建
    B.跟某个具体对象无关
    C.可以用类名和成员名直接访问
    D.需要在类体外初始化
32.面向对象的编程方法的主要特征包括(    )。          (满分:4)
    A.封装
    B.继承
    C.多态
    D.消息
33.流程控制语句有(    )几种。          (满分:4)
    A.条件语句
    B.循环语句
    C.分支语句
    D.表达式语句
34.类成员的访问属性可以是(   )。          (满分:4)
    A.public
    B.protected
    C.private
    D.default
35.C++中变量要求(    )。          (满分:4)
    A.有明确的类型
    B.先声明后使用
    C.名字中不能使用下划线
    D.严格区分大小写
三、判断题:
36.宏名必须用大写字母表示。          (满分:4)
    A.错误
    B.正确
37.字符串\\\ab\\\\\\\\\\\\n\\\在机器中占6个字节。          (满分:4)
    A.错误
    B.正确
38.C++语言是从早期的C语言逐渐发展演变而来的,与C语言相比,它在求解问题方法上进行的最大改进是面向过程。          (满分:4)
    A.错误
    B.正确
39.重载函数形参个数可以不同。          (满分:4)
    A.错误
    B.正确
40.C++语言的跳转语句中,break语句只应用于循环体中。          (满分:4)
    A.错误
    B.正确

页: [1]
查看完整版本: 川大《面向对象程序设计(1)》17秋在线作业12资料