17春秋华师《面向对象程序设计》在线作业
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A.错误
B.正确
正确答案:
7.变量在使用之前需要首先声明其类型和名称。
A.错误
B.正确
正确答案:
8.把所有类组织在一个树形结构中,这时所有类,不管它们之间的差别有多大,都有一个共同的相关类,这种结构被称为类树。类群是由一些彼此密切相关的类和类族组成的。
A.错误
B.正确
正确答案:
9.每个cpp文件是单独编译的,但一个程序中多个cpp文件的编译顺序是不固定的。
A. pb=b;
B. pb=&b[0];
C. *pb=new int;
D. pb=b[5];
正确答案:
3.假定p是具有double类型的指针变量,则表达式++p使p的值(以字节为单位)增加()。
A. 1
B. 4
C. sizeof(double)
D. sizeof(p)
正确答案:
4.存储以下数据,占用存储字节最多的是()。
B.正确
正确答案:
3.当函数的返回值是数组类型的,传递的是数组第一个元素的地址。
A.错误
B.正确
正确答案:
4. C++程序中,通常使用const来定义符号常量,定义时必须指出类型。
A.错误
B.正确
正确答案:
5.使用赋值运算符可以对字符数组整体赋值。
A.错误
B.正确
正确答案:
6.程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所带来的编译工作量。
A.不允许设置参数的默认值
B.设置参数的默认值只能在定义函数时设置
C.设置参数的默认值时,应该设置右边的参数
D.设置参数的默认值时,应该全部参数都设置
正确答案:
13.下面的表达式中值为0的()。
A. 3/5
B. 5>>3
C. !3
D. 5%3
正确答案:
14.以下关于函数模板叙述错误的是()。
A.函数模板也是一个具体类型的函数
B.函数模板的定义采用关键字template开始
C.通过使用不同的类型参数,函数模板可以生成不同类型的函数
D.用函数模板定义的函数没有类型
正确答案:
15.若有以下定义和语句: int w[2][3],(*pw)[3]; pw=w;则对w数组元素合法引用是()。
A. pw[0][0]
B. *(pw[1]+2)
B. BOOK x={"C++Programming",27.0};
C. BOห้องสมุดไป่ตู้K *x=new BOOK;
D. BOOK *x=book;
正确答案:
9.关于消息,下列说法中正确的是()。
A.发送消息的对象请求服务,接受消息的对象提供服务
B.消息的发送者必须了解消息的接收者如何响应消息
C.在C++中,消息的发送具体体现为对接收消息的对象的某个函数的调用
A. 0
B. ‘0’
C. “0”
D. 0.0
正确答案:
5. switch语句能够改写为()语句。
A. for
B. if
C. do
D. while
正确答案:
6.设x和y均为bool量,则x && y为真的条件是( )。
A.它们均为真
B.其中一个为真
C.它们均为假
D.其中一个为假
正确答案:
7.设x和y均为布尔型变量,则x&&y为真的条件是()。
C.虚机制在构造函数和析构函数中仍然可以很好的工作,以实现多态性
D.构造函数和析构函数不接受任何参数,也不带有任何类型的返回值
正确答案:
8.假定有“struct BOOK{char title[40];float price;};BOOK *book;”,则正确的语句为()。
A. BOOK *x=new book;
C. *(w[0]+2)
D. *(pw+1)[2]
正确答案:
华师《面向对象程序设计》在线作业
三、判断题(共15道试题,共30分。)
1.构造函数的初始化列表中的内容,不会影响构造对象中成员数据的初始化顺序。
A.错误
B.正确
正确答案:
2.派生类可以访问基类的所有数据成员,调用基类的所有成员函数。
A.错误
A.错误
B.正确
正确答案:
10.在C++语言中,非保值转换应用强制类型转换。
A.错误
B.正确
正确答案:
11.基类中被说明为protected和private的成员只能被其派生类的成员函数访问,不能被其它的函数访问。
A.错误
B.正确
正确答案:
12. cout函数不能输出包含空格的字符串。
A.错误
B.正确
A. template<T>
B. template <class T1, T2>
C. template<class T1, class T2>
D. template <T1, T2>
正确答案:
华师《面向对象程序设计》在线作业
二、多选题(共15道试题,共30分。)
1.下列说法中,正确的是()。
A.被调用函数中可以不用return语句
B. int a[][5];
C. int a[][3]={{1,3,5},{2}};
D. int a[](10);
正确答案:
15.以下叙述中正确的是( )。
A.使用#define可以为常量定义一个名字,该名字在程序中可以再赋另外的值
B.使用const定义的常量名有类型之分,其值在程序运行时是不可改变的
C.在程序中使用内联函数使程序的可读性变差
D.在定义函数时可以在形参表的任何位置给出缺省形参值
正确答案:
16.在下面的字符数组定义中,哪一个有语法错误____。
A. char a[20]=”abcdefg”;
B. char a[]=”x+y=55.”;
C. char a[15];
D. char a[10]=’5’;
A. A &f(int,int=50);
B. void f(int&)const;
C. const A *f(const int);
D. A f(const int&)const;
正确答案:
5.下列说法中正确的是()。
A.在一个函数中,可以有多条return语句
B.函数的定义不能嵌套,但函数的调用可以嵌套
正确答案:
17.下面关于break语句的描述中,不正确的是()。
A. break可以用于循环体内
B. break语句可以在for循环语句中出现多次
C. break语句可以在switch语句中出现多次
D. break语句可用于if条件判断语句内
正确答案:
18.下列if语句的条件为真的是()。
A. if(0)
A.数组的首地址
B.数组中第一个元素的值
C.数组全部元素的值
D.数组元素的个数
正确答案:
11.
A. n^2
B. (n+1)/2
C. n(n-1)/2
D. n(n+1)/2
正确答案:
12.假定下列x和y均为int型变量,则不正确的赋值为()。
A. x+=y++
B. x++=y++
C. x=++y
D. ++x=++y
C.函数必须有返回值
D.即使在不同的函数中,也不可以使用相同名字的变量
正确答案:
6.在C++语言中,不合法的字符常量是()。
A. \x43'
B. 'ab'
C. '\084'
D. "\0"
正确答案:
7.在下列说法中,不正确的是()。
A.静态成员函数不能利用this指针
B.非静态成员可以使用this关键字
B. if(3)
C. bool bFlag=true;if(!bFlag)
D. if(a)
正确答案:
19.判断字符串s1和s2是否相等的表达式为()。
A. s1=s2
B. s1==s2
C. strcmp(s1,s2)==0
D. strcpy(s1,s2)==0
正确答案:
20.以上对模板的声明,正确的是()。
D.派生类无法给基类的数据成员初始化
正确答案:
3.在类的静态成员函数的实现体中,可以访问或调用()。
A.本类中的静态数据成员
B.本类中非静态的常量数据成员
C.本类中其它的静态成员函数
D.本类中非静态的成员函数
正确答案:
4.类A中有唯一的一个公有成员函数f,对于类A的一个对象a,执行语句f(100);成功,那么f的函数原型可以为()。
正确答案:
13.下面说法中正确的是()。
A. C++程序总是从第一个定义的函数开始执行
B. C++程序总是从main函数开始执行
C. C++函数必须有返回值,否则不能使用函数
D. C++程序中有调用关系的所有函数必须放在同一个程序文件中
正确答案:
14.在下面的二维数组定义中,正确的是( )。
A. int a[5][];
B.被调用函数中可以使用多个return语句
C.被调用函数中,如果有返回值,就一定要有return语句
D.被调用函数中,一个return语句可以返回多个值给调用函数
正确答案:
2.关于派生类的说法不正确的是()。
A.派生类可显现基类的任何函数成员
B.派生类可重载已有的函数成员
C.派生类可以拥有自己的新成员
D.每个对象只能接收某些特定格式的消息
正确答案:
10.下面关于指针变量和引用变量的说法正确的是()。
A.指针变量存放的是内存地址,并且可以置为0
B.定义引用变量时,必须同时指明具体被引用的对象或变量
C.使用取地址操作符,可以取得指针变量自身的地址,但取不到引用变量自身的地址
D.类中的数据成员可以是指针变量,但不能是引用变量
正确答案:
13.输出字符指针就是输出字符串。
A.错误
B.正确
正确答案:
14.变量必须先定义或说明,后使用。
A.错误
B.正确
正确答案:
15.运算符重载可以改变运算符原来的结合性。
A.错误
B.正确
正确答案:
A.其中一个为假
B.它们均为假
C.其中一个为真
D.它们均为真
正确答案:
8.从键盘上输入数据的时候,只有在输入完数据并按下()后,系统才把该行数据存入缓冲区。
A.空格
B.回车
C. Tab
D.空格或回车
正确答案:
9.
A. 4
B. 3
C. 5
D. 2
正确答案:
10.若用数组名作为函数调用的实参,传递给形参的是()。
华师《面向对象程序设计》在线作业
一、单选题(共20道试题,共40分。)
1.假定变量m定义为“int m=7;”,则定义变量p的正确语句为()。
A. int p=&m;
B. int *p=&m;
C. int &p=*m;
D. int *p=m;
正确答案:
2.定有定义“int b[10]; int *pb;”,则不正确的赋值语句为()。
正确答案:
11.关于局部变量,下面说法错误的是()。
A.定义该变量的程序文件中的函数都可以访问
B.定义该变量的函数中的定义处以下的任何语句都可以访问
C.定义该变量的复合语句中的定义处以下的任何语句都可以访问
D.定义该变量的函数中的定义处以上的任何语句都可以访问
正确答案:
12.下列说法中错误的是()。
B.正确
正确答案:
7.变量在使用之前需要首先声明其类型和名称。
A.错误
B.正确
正确答案:
8.把所有类组织在一个树形结构中,这时所有类,不管它们之间的差别有多大,都有一个共同的相关类,这种结构被称为类树。类群是由一些彼此密切相关的类和类族组成的。
A.错误
B.正确
正确答案:
9.每个cpp文件是单独编译的,但一个程序中多个cpp文件的编译顺序是不固定的。
A. pb=b;
B. pb=&b[0];
C. *pb=new int;
D. pb=b[5];
正确答案:
3.假定p是具有double类型的指针变量,则表达式++p使p的值(以字节为单位)增加()。
A. 1
B. 4
C. sizeof(double)
D. sizeof(p)
正确答案:
4.存储以下数据,占用存储字节最多的是()。
B.正确
正确答案:
3.当函数的返回值是数组类型的,传递的是数组第一个元素的地址。
A.错误
B.正确
正确答案:
4. C++程序中,通常使用const来定义符号常量,定义时必须指出类型。
A.错误
B.正确
正确答案:
5.使用赋值运算符可以对字符数组整体赋值。
A.错误
B.正确
正确答案:
6.程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所带来的编译工作量。
A.不允许设置参数的默认值
B.设置参数的默认值只能在定义函数时设置
C.设置参数的默认值时,应该设置右边的参数
D.设置参数的默认值时,应该全部参数都设置
正确答案:
13.下面的表达式中值为0的()。
A. 3/5
B. 5>>3
C. !3
D. 5%3
正确答案:
14.以下关于函数模板叙述错误的是()。
A.函数模板也是一个具体类型的函数
B.函数模板的定义采用关键字template开始
C.通过使用不同的类型参数,函数模板可以生成不同类型的函数
D.用函数模板定义的函数没有类型
正确答案:
15.若有以下定义和语句: int w[2][3],(*pw)[3]; pw=w;则对w数组元素合法引用是()。
A. pw[0][0]
B. *(pw[1]+2)
B. BOOK x={"C++Programming",27.0};
C. BOห้องสมุดไป่ตู้K *x=new BOOK;
D. BOOK *x=book;
正确答案:
9.关于消息,下列说法中正确的是()。
A.发送消息的对象请求服务,接受消息的对象提供服务
B.消息的发送者必须了解消息的接收者如何响应消息
C.在C++中,消息的发送具体体现为对接收消息的对象的某个函数的调用
A. 0
B. ‘0’
C. “0”
D. 0.0
正确答案:
5. switch语句能够改写为()语句。
A. for
B. if
C. do
D. while
正确答案:
6.设x和y均为bool量,则x && y为真的条件是( )。
A.它们均为真
B.其中一个为真
C.它们均为假
D.其中一个为假
正确答案:
7.设x和y均为布尔型变量,则x&&y为真的条件是()。
C.虚机制在构造函数和析构函数中仍然可以很好的工作,以实现多态性
D.构造函数和析构函数不接受任何参数,也不带有任何类型的返回值
正确答案:
8.假定有“struct BOOK{char title[40];float price;};BOOK *book;”,则正确的语句为()。
A. BOOK *x=new book;
C. *(w[0]+2)
D. *(pw+1)[2]
正确答案:
华师《面向对象程序设计》在线作业
三、判断题(共15道试题,共30分。)
1.构造函数的初始化列表中的内容,不会影响构造对象中成员数据的初始化顺序。
A.错误
B.正确
正确答案:
2.派生类可以访问基类的所有数据成员,调用基类的所有成员函数。
A.错误
A.错误
B.正确
正确答案:
10.在C++语言中,非保值转换应用强制类型转换。
A.错误
B.正确
正确答案:
11.基类中被说明为protected和private的成员只能被其派生类的成员函数访问,不能被其它的函数访问。
A.错误
B.正确
正确答案:
12. cout函数不能输出包含空格的字符串。
A.错误
B.正确
A. template<T>
B. template <class T1, T2>
C. template<class T1, class T2>
D. template <T1, T2>
正确答案:
华师《面向对象程序设计》在线作业
二、多选题(共15道试题,共30分。)
1.下列说法中,正确的是()。
A.被调用函数中可以不用return语句
B. int a[][5];
C. int a[][3]={{1,3,5},{2}};
D. int a[](10);
正确答案:
15.以下叙述中正确的是( )。
A.使用#define可以为常量定义一个名字,该名字在程序中可以再赋另外的值
B.使用const定义的常量名有类型之分,其值在程序运行时是不可改变的
C.在程序中使用内联函数使程序的可读性变差
D.在定义函数时可以在形参表的任何位置给出缺省形参值
正确答案:
16.在下面的字符数组定义中,哪一个有语法错误____。
A. char a[20]=”abcdefg”;
B. char a[]=”x+y=55.”;
C. char a[15];
D. char a[10]=’5’;
A. A &f(int,int=50);
B. void f(int&)const;
C. const A *f(const int);
D. A f(const int&)const;
正确答案:
5.下列说法中正确的是()。
A.在一个函数中,可以有多条return语句
B.函数的定义不能嵌套,但函数的调用可以嵌套
正确答案:
17.下面关于break语句的描述中,不正确的是()。
A. break可以用于循环体内
B. break语句可以在for循环语句中出现多次
C. break语句可以在switch语句中出现多次
D. break语句可用于if条件判断语句内
正确答案:
18.下列if语句的条件为真的是()。
A. if(0)
A.数组的首地址
B.数组中第一个元素的值
C.数组全部元素的值
D.数组元素的个数
正确答案:
11.
A. n^2
B. (n+1)/2
C. n(n-1)/2
D. n(n+1)/2
正确答案:
12.假定下列x和y均为int型变量,则不正确的赋值为()。
A. x+=y++
B. x++=y++
C. x=++y
D. ++x=++y
C.函数必须有返回值
D.即使在不同的函数中,也不可以使用相同名字的变量
正确答案:
6.在C++语言中,不合法的字符常量是()。
A. \x43'
B. 'ab'
C. '\084'
D. "\0"
正确答案:
7.在下列说法中,不正确的是()。
A.静态成员函数不能利用this指针
B.非静态成员可以使用this关键字
B. if(3)
C. bool bFlag=true;if(!bFlag)
D. if(a)
正确答案:
19.判断字符串s1和s2是否相等的表达式为()。
A. s1=s2
B. s1==s2
C. strcmp(s1,s2)==0
D. strcpy(s1,s2)==0
正确答案:
20.以上对模板的声明,正确的是()。
D.派生类无法给基类的数据成员初始化
正确答案:
3.在类的静态成员函数的实现体中,可以访问或调用()。
A.本类中的静态数据成员
B.本类中非静态的常量数据成员
C.本类中其它的静态成员函数
D.本类中非静态的成员函数
正确答案:
4.类A中有唯一的一个公有成员函数f,对于类A的一个对象a,执行语句f(100);成功,那么f的函数原型可以为()。
正确答案:
13.下面说法中正确的是()。
A. C++程序总是从第一个定义的函数开始执行
B. C++程序总是从main函数开始执行
C. C++函数必须有返回值,否则不能使用函数
D. C++程序中有调用关系的所有函数必须放在同一个程序文件中
正确答案:
14.在下面的二维数组定义中,正确的是( )。
A. int a[5][];
B.被调用函数中可以使用多个return语句
C.被调用函数中,如果有返回值,就一定要有return语句
D.被调用函数中,一个return语句可以返回多个值给调用函数
正确答案:
2.关于派生类的说法不正确的是()。
A.派生类可显现基类的任何函数成员
B.派生类可重载已有的函数成员
C.派生类可以拥有自己的新成员
D.每个对象只能接收某些特定格式的消息
正确答案:
10.下面关于指针变量和引用变量的说法正确的是()。
A.指针变量存放的是内存地址,并且可以置为0
B.定义引用变量时,必须同时指明具体被引用的对象或变量
C.使用取地址操作符,可以取得指针变量自身的地址,但取不到引用变量自身的地址
D.类中的数据成员可以是指针变量,但不能是引用变量
正确答案:
13.输出字符指针就是输出字符串。
A.错误
B.正确
正确答案:
14.变量必须先定义或说明,后使用。
A.错误
B.正确
正确答案:
15.运算符重载可以改变运算符原来的结合性。
A.错误
B.正确
正确答案:
A.其中一个为假
B.它们均为假
C.其中一个为真
D.它们均为真
正确答案:
8.从键盘上输入数据的时候,只有在输入完数据并按下()后,系统才把该行数据存入缓冲区。
A.空格
B.回车
C. Tab
D.空格或回车
正确答案:
9.
A. 4
B. 3
C. 5
D. 2
正确答案:
10.若用数组名作为函数调用的实参,传递给形参的是()。
华师《面向对象程序设计》在线作业
一、单选题(共20道试题,共40分。)
1.假定变量m定义为“int m=7;”,则定义变量p的正确语句为()。
A. int p=&m;
B. int *p=&m;
C. int &p=*m;
D. int *p=m;
正确答案:
2.定有定义“int b[10]; int *pb;”,则不正确的赋值语句为()。
正确答案:
11.关于局部变量,下面说法错误的是()。
A.定义该变量的程序文件中的函数都可以访问
B.定义该变量的函数中的定义处以下的任何语句都可以访问
C.定义该变量的复合语句中的定义处以下的任何语句都可以访问
D.定义该变量的函数中的定义处以上的任何语句都可以访问
正确答案:
12.下列说法中错误的是()。