电大c++语言程序设计,贵州电大2018年春季学期C++语言程序设计(本)任务01(含答案)...

2018年春季学期C++语言程序设计(本)任务01

一、单选题:【24道,总分:0分】

电大作业答案

贵州电大作业是随机作业详情请

1.[单选题]下列与流程控制有关的关键字是          (满分:)

A.gotoB)staticC)intD)sizeof

正确答案:——A——

2.[单选题]下列关于C++类的描述中错误的是          (满分:)

A.类与类之间可以通过一些手段进行通信和联络

B.类用于描述事物的属性和对事物的操作

C.类与类之间必须是平等的关系,而不能组成层次关系

D.类与类之间可以通过封装而具有明确的独立性

正确答案:——C——

3.[单选题]下列C++标点符号中表示行注释开始的是          (满分:)

A.:#,

B.//

C.}

正确答案:——C——

4.[单选题]系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是          (满分:)

A.参数个数

B.参数的类型     电大作业答案

C.函数名称

D.函数的类型

正确答案:————

5.[单选题]下列不正确的选项是          (满分:)

A.封装是一种信息隐藏技术

B.标识符是由字母、数字、下划线组成的字符串,必须以数字或下划线开头

C.编译是由源程序文件转换到目标文件的过程

D.一个C++程序可以认为是函数串

正确答案:————

6.[单选题]在函数的返回值类型与返回值表达式的类型的描述中,错误的是          (满分:)

A.函数返回值的类型是在定义函数时确定,在函数调用时是不能改变的

B.函数返回值的类型就是返回值表达式的类型

C.函数返回值表达式类型与返回值类型不同时,函数表达式类型应转换成返回值类型

D.函数返回值类型确定了返回值表达式的类型

正确答案:————

7.[单选题]下列字符串中不可以用作C++标示符的是          (满分:)

A._521

B.computer123

C.int

D.flower

正确答案:————

8.[单选题]下列表示引用的方法中,是正确的,已知:intk=1000          (满分:)

A.int&x=k

B.char&y

C.int&z=1000

D.float&t=&k

正确答案:————

9.[单选题]下列关于C++函数的描述中正确的是          (满分:)

A.主函数是程序的入口,它是由用户定义的函数调用

B.函数是C++中面向对象程序设计框架的基本组成元素

C.函数在调用前必须先被声明

D.每个用户定义函数只能被其他函数调用一次

正确答案:————

10.[单选题]若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是          (满分:)

A.extern

B.register

C.auto

D.static

正确答案:————

11.[单选题]对定义重载函数的下列要求中,是错误的          (满分:)

A.要求参数的个数不同

B.要求参数中至少有一个类型不同

C.要求参数个数相同时,参数类型不同

D.要求函数的返回值不同

正确答案:————

12.[单选题]下列引用的定义中,是错误的          (满分:)

A.intiint&j=i

B.intiint&jj=i

C.floatifloat&j=i

正确答案:————

13.[单选题]C++语言是以语言为基础逐渐发展而演变而成的一种程序设计语言          (满分:)

A.Pascal

B.C

C.Basic

D.Simula67

正确答案:————

14.[单选题]下列不正确的选项是          (满分:)

A.C++语言是一种面向对象的程序设计语言,它支持面向对象思想中的3个主要特征

B.标点符号是在程序中起分割内容和界定范围作用的一类单词

C.iostream是一个标准的头文件,定义了一些输入输出流对象

D.类与类之间不可以进行通信和联络

正确答案:————

15.[单选题]下列对重载函数的描述中,是错误的          (满分:)

A.重载函数中不允许使用默认参数

B.重载函数中编译时根据参数表进行选择

C.不要使用重载函数来描述毫无相干的函数

D.构造函数重载将会给初始化带来多种方式

正确答案:————

16.[单选题]下列关于C++与C语言关系的描述中错误的是          (满分:)

A.C++是C语言的超集

B.C++是C语言进行了扩充

C.C++和C语言都是面向对象的程序设计语言

D.C++包含C语言的全部语法特征

正确答案:————

17.[单选题]下列C++标点符号中表示复合语句结束的标记符是          (满分:)

A.

B.#//

C.}

D.;

正确答案:————

18.[单选题]下列表示引用的方法中,是正确的,已知:intm=10          (满分:)

A.int&x=m

B.int&y=10

C.int&z

D.float&t=&m

正确答案:————

19.[单选题]下列字符串中可以用作C++标示符的是          (满分:)

A._256

B.class

C.delete

D.5char

正确答案:————

20.[单选题]下列关键字中,即在C语言中使用,又在C++语言中使用          (满分:)

A.inline

B.break

C.private

D.public

正确答案:————

21.[单选题]是给对象取了一个别名,他引入了对象的同义词          (满分:)

A.指针

B.引用

C.枚举

D.结构

正确答案:————

22.[单选题]下列正确的选项是          (满分:)

A.继承是创建一个具有别的类的属性和行为的新类的能力

B.C语言支持面向对象的程序设计

C.空白符是一种可以被编译的符号

D.标示符不宜过长,一般设定为16个字符

正确答案:————

23.[单选题]在C++中,关于下列设置参数默认值的描述中,正确的是          (满分:)

A.不允许设置设置参数的默认值

B.设置参数默认值只能在定义函数时设置

C.设置参数默认值时,应该事先设置右边的再设置左边的

D.设置参数默认值时,应该全部参数都设置

正确答案:————

24.[单选题]下面函数调用语句中实参的个数是xxx((v1,v2),(v3,v4,v5),v6)          (满分:)

A.3

B.4

C.5

D.6

正确答案:————

25.[单选题]在函数声明时,下列项是不必要的          (满分:)

A.函数的类型

B.函数参数类型

C.函数的名字

D.返回值表达式

正确答案:————

电大作业答案

贵州电大作业是随机作业详情请

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《面向对象程序设计》试题 一、单选题(每空2分,共40分) 1、关于C++与C语言关系的描述中,( )是错误的。 A.C语言C++语言的一个子集 B.C语言C++语言是兼容的 C.C++语言对C语言进行了一些改进 D.C++语言和C语言都是面向对象的 2、已知:int m=10; 下列表示引用的方法中,( )是正确的。 A.int& x=m; B.int& y=10; C.int& z; D.float& t=&m; 3、考虑下面的函数原型声明: void DefPar(int a, int b=7, char z = '*'); 下面函数调用中,不合法的是( )。 A.DefPar(5); B.DefPar(5,8); C.DefPar(5,'#'); D.DefPar(0,0,'*'); 4、系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是( )。 A.函数的返回值型 B.参数的型 C.函数名称 D.参数个数 5、下列有关C++的说法中,不正确的是( )。 A.是一种用户自定义的数据型 B.只有中的成员函数或的友元函数才能存取中的私有成员 C.在中,如果不做特别说明,所有成员的访问权限均为私有的 D.在中,如果不做特别说明,所有成员的访问权限均为公用的 6、已知X,则当程序执行到语句X array[3];时,调用了( )次构造函数。 A.0 B.1 C.2 D.3 7、有关析构函数的说法,不正确的是( )。 A.析构函数有且仅有一个 B.析构函数和构造函数一样可以有形参 C.析构函数的功能是在系统释放对象之前作一些内存清理工作 D.析构函数无任何函数型 8、定义的内容允许被其对象无限制地存取的是( )。 A.private 部分 B. protected 部分 C.public 部分 D.以上都不对 9、关于常数据成员的说法,不正确的是( )。 A.常数据成员的定义形式与一般常变量的,只不过常数据成员的定义必须出现在体中 B.常数据成员必须进行初始化,并且不能被更新 C.常数据成员通过构造函数的成员初始化列表进行初始化 D.常数据成员可以在定义时直接初始化 10、运用运算符delete删除一个动态对象时( )。 A.系统首先为该动态对象调用构造函数,再释放其占用的内存 B.系统首先释放该动态对象占用的内存,再为其调用构造函数 C.系统首先为该动态对象调用析构函数,再释放其占用的内存 D.系统首先释放动态对象占用的内存,再为其调用析构函数 11、可在外用p.a的形式访问派生对象 p的基成员a,其中a是( )。 A.私有继承的公用成员 B.公用继承的私有成员 C.公用继承的保护成员 D.公用继承的公用成员 12、在公用继承方式下,有关派生对象和基对象的关系,不正确的叙述是(  )。 A.派生的对象可以赋给基的对象 B.派生的对象可以初始化基的引用 C.派生的对象可以直接访问基中的成员 D.派生的对象的地址可以赋给指向基的指针 13、设置虚基的目的是( )。 A.简化程序 B.消除二义性 C.提高运行效率 D.减少目标代码 14、在C++中,用于实现动态多态性的是( )。 A.内联函数 B.重载函数 C.模板函数 D.虚函数 15、不能说明为虚函数的是( )。 A.析构函数 B.构造函数 C.的成员函数 D.以上都不对 16、如果一个至少有一个纯虚函数,那么就称该为( )。 A.抽象 B.派生 C.纯基 D.以上都不对 17、下面关于友元的描述中,错误的是( )。 A.友元函数可以访问该的私有数据成员 B.一个的友元中的成员函数都是这个的友元函数 C.友元可以提高程序的运行效率 D.之间的友元关系可以继承 18、下列运算符中,( )运算符在C++不能被重载。 A.&& B.[ ] C.:: D.new 19、模板的使用实际上是将模板实例化成一个( )。 A.函数 B.对象 C. D.抽象 20、假定MyClass为一个,则该的拷贝构造函数的声明语句为( )。 A.MyClass(MyClass x) B.MyClass&(MyClass x) C.MyClass(MyClass &x) D.MyClass(MyClass *x) 二、填空题(前16个空,每空1分,后2个空,每空2分,共20分) 1、和对象的关系可表述为:是对象的 ,而对象则是的 。 2、在C++中,三种继承方式的说明符号为 、 和 ,如果不加说明,则默认的继承方式为 。 3、如果只想保留公共基的一个复制,就必须使用关键字 把这个公共基声明为虚基。 4、若要把void fun( )定义为A的友元函数,则应在A的定义中加入语句 。 5、的静态成员分为 和 。 6、运算符重载要求保持其原来的操作数个数、 、 和语法结构。 7、通过关键字 可以声明模板,通过关键字 指定函数模板的型参数,有几个型参数就有几个型关键字。 8、列出C++中两种用户自定义的数据型: 、 。 9、构造函数的作用是 。 10、后置自增运算符“++”重载为的成员函数(设名为A)的形式为 。 三、阅读下面3个程序,写出程序运行时输出的结果:(共13分) 1、#include <iostream> using namespace std; void fun(int &a,int &b) { int p; p=a; a=b; b=p; } void exchange(int &a,int &b,int &c) { if(a<b) fun(a,b); if(a<c) fun(a,c); if(b<c) fun(b,c); } void main() { int a=12,b=89,c=56; exchange(a,b,c); cout<<"a="<<a<<",b="<<b<< ",c="<<c<<endl; } 2、#include <iostream> using namespace std; class Date { public: Date(int,int,int); Date(int,int); Date(int); Date(); void display(); private: int month, day, year; }; Date::Date(int m, int d, int y) : month(m),day(d),year(y) { } Date::Date(int m,int d):month(m),day(d) { year=2009; } Date::Date(int m) : month(m) { day=1; year=2010; } Date::Date() { month=1; day=1; year=2010; } void Date::display() { cout <<month<<"/"<<day<<"/"<<year<<endl; } void main() { Date d1(12,31,2009); Date d2(12,31); Date d3(1); Date d4; d1.display(); d2.display(); d3.display(); d4.display(); } 3、#include <iostream> using namespace std; class A { public: A() { cout<<"constructing A "<<endl; } ~A() { cout<<"destructing A "<<endl; } }; class B: public A { public: B() { cout<<"constructing B "<<endl; } ~B() { cout<<"destructing B "<<endl; } }; class C : public B { public: C() { cout<<"constructing C "<<endl; } ~C() { cout<<"destructing C "<<endl; } }; void main() { C c1; } 四、编程题(共27分) 1、(10分)已知复数Complex的声明如下: class Complex { public: Complex(); Complex(double); Complex(double, double); friend Complex operator + (Complex&, Complex&); friend ostream & operator << (ostream&, Complex&); friend istream& operator >> (istream&, Complex&); private: double real, imag; }; 要求: (1)写出该的所有构造函数的外定义代码。 (2)写出对运算符“+”、“<<”、“>>”进行重载的运算符重载函数的定义。 2、(17分)下列Base是一个表示形状的抽象,area( )为求图形面积的函数,total( )则是一个通用的用以求不同形状的图形面积总和的函数。 class Base { public: virtual double area()=0; }; double total(Base *s[ ], int n) { double sum=0.0; for(int i=0; i<n; i++) sum+=s[i]->area( ); return sum; } 要求: (1)从Base派生圆(Circle)、正方形(Square),圆新增数据成员半径(radius),正方形新增数据成员边长(a),圆和正方形都有构造函数,修改、显示数据成员值的函数,求面积函数。 (2)写出main( )函数,计算半径为5.5的圆和边长为9.9的正方形的面积和(必须通过调用total函数计算)。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值