21秋地大《C++程序设计》作业二[答案怎么获取?]答案
地大《C++程序设计》作业二
试卷总分:100 得分:100
一、单选题 (共 10 道试题,共 30 分)
1.下列关于对象的描述中,错误的是( C )。
A.对象是类的一个实例
B.对象是属性和行为的封装体
C.对象就是C语言中的结构变量
D.对象是现实世界中客观存在的某种实体
正确答案:-----
2.下列关于指针概念的描述中,错误的是( B )。
A.指针中存放的是某变量或对象的地址值
B.指针的类型是它所存放的数值的类型
C.指针是变量,它也具有一个内存地址值
D.指针的值(非常量指针)是可以改变的
正确答案:-----
3.下列关于语句的描述中,错误的是( A )。
A.C++程序中的函数是由若干条语句组成的
B.每条语句都要实现某种操作
C.条件语句是用来实现分支操作的
D.循环语句是用来在一定条件下重复执行某段程序的
正确答案:-----
4.下列while循环语句的循环次数是( A )。 while(int i(0)) i--;
A.0
B.1
C.2
D.无限
正确答案:-----
5.在函数体内定义变量a的方式为:int a,则a的存储类为( D ) 。
正确答案:-----
A.寄存器类
B.外部类
C.静态类
D.自动类
正确答案:-----
6.下列表达式中,其值为0的是( A )。
A.2020/5/10
B.!0
C.2>4?0:1
D.2&&2||0
正确答案:-----
7.下列变量名中,非法的是( C ) 。
A.A25
B.My_car
C.My-str
D.abc
正确答案:-----
8.下列设置函数参数默认值的说明语句中,错误的是( C )。
A.int fun(int x , int y=10);
B.int fun(int x=5, int =10);
C.int fun(int x=5, int y);
D.int fun(int x , int y=a+b);
正确答案:-----
9.已知:int a[5],*p=a;则与++*p相同的是( D )。
正确答案:-----
A.*++p
B.a[0]
C.*p++
D.++a[0]
正确答案:-----
10.下列关于面向对象概念的描述中,错误的是( C )。
A.面向对象方法比面向过程方法更加先进
B.面向对象方法中使用了一些面向过程方法中没有的概念
C.面向对象方法替代了结构化程序设计方法
D.面向对象程序设计方法要使用面向对象的程序设计语言
正确答案:-----
21秋地大《C++程序设计》作业二[答案怎么获取?]多选题答案
二、多选题 (共 10 道试题,共 40 分)
11.下述对 C 语言字符数组的描术正确的是( )。
A.不可以用关系运算符对字符数组中的字符串进行比较
B.字符数组可以存放字符串
C.字符数组中的字符串可以整体输入、输出
D.可以在赋值语句中通过赋值运算符 "=" 对字符数组整体赋值
正确答案:-----
12.以下说法中不正确的是 ( )。
A.C 语言程序中的 main() 函数必须放在程序的开始部分
B.C 语言程序总是从第一个函数开始执行
C.在 C 语言程序中 ,要调用的函数必须在 main() 函数中定义
D.C 语言程序总是从 main() 函数开始执行
正确答案:-----
13.以下不能对数组 a 进行正确初始化的语句是( )。
A.int a[]={};
B.int a[3]={1, 2};
C.int a[3]={0,1,2,3};
D.int a[]={1};
正确答案:-----
14.在 C 语言提供的不合法关键字是( )
A.Case
B.swicth
C.cher
D.default
正确答案:-----
15.若有定义: char *str[]={"one","two","three"},**p=str; 则可以表示出字符't'的表达是 ( )。
A.*str+2
B.*str[2]
C.*(p+1)
D.**++p
正确答案:-----
16.若有以下的定义: "int x[2][3];" ,能正确表示 x 数组元素地址的表达式是( )。
A.&x[2][3]
B.x[0]
C.x[2]
D.x[1]
正确答案:-----
17.下列 ( )函数能实现字符串的复制。
A.void f(char *s,char *t) { do{ *s++=*t++; } while(*t!='\0'); }
正确答案:-----
B.void f(char *s,char *t) { while(*t) { *s++=*t++; } *s='\0'; }
正确答案:-----
C.void f(char *s,char *t) { do { *s=*t; s++; }while(*t++); }
正确答案:-----
D.void f(char *s,char *t) { unsigned i; for (i=0;i< strlen(t);i++) s[i]=t[i]; }
正确答案:-----
21.以下定义中,不正确的是( )。
A.int x[3,4];
B.int x[1+2][3];
C.int x(3,4)
D.int x[ ][4];
正确答案:-----
19.不合法的数组定义是( )
A.char a[]={0,1,2,3,4,5};
B.int a[]="string";
C.int a[5]={0,1,2,3,4,5};
D.vhst s="string";
正确答案:-----
20.在 C 语言中,不合法的长整型常数是 ( )。
A.22169000000
B.0L2
C.4962710
D.0.054838743
正确答案:-----
三、判断题 (共 10 道试题,共 30 分)
21.T象数组的元素可以是不同类的对象 .
22.在私有继承中 ,基类中所有成员对派生类的对象都是不可见的 .
23.指向对象数组的指针不一定必须指向数组的首元素 .
24.使用关键字 class 定义的类中默认的访问权限是私有 (private) 的 .
25.只要是类 M 继承了类 N, 就可以说类 M 是类 N 的子类型 .
26.作用域运算符 (::) 只能用来限定成员函数所属的类 .
27.函数的定义不可以嵌套 , 类的定义可以嵌套 .
28.在私有继承中 ,基类中只有公有成员对派生类是可见的 .
29.子类型是不可逆的 .
30.已知: m 是类 A 的对象 ,n 是类 A 的公有数据成员 ,p 是指向类 A 中 n 成员的指针 .下述两种表示是等价的 m.n 和m.*p
21秋地大《C++程序设计》作业二[答案怎么获取?]历年参考题目如下:
C++程序设计21春在线作业2题目
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 60 分)
1.假定指针变量p定义“int *p=new int(100);”,要释放p所指向的动态内存,应使用语句()。
A.delete *p;
B.delete &p;
C.delete p;
D.delete []p;
2.下面关于运算符重载的描述错误的是()。
A.重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构
B.不是所有的运算符都可以进行重载
C.运算符函数的调用必须使用关键字operator
D.在C++语言中不可通过运算符重载创造出ABC运算符
3.类中定义的成员默认为()访问属性。
A.public
B.private
C.protected
D.friend
4.下列选项中,()是istream类的对象。
A.cin
B.cout
C.cerr
D.clog
5.析构函数是一种特殊的成员函数,显式定义时其访问属性应被定义为()。
A.public
B.private
C.protected
D.static
6.关于函数模板,描述错误的是()。
A.函数模板必须由程序员实例化
B.函数模板的实例化由编译器实现
C.一个类定义中,只要有一个函数模板,则这个类是类模板
D.若类模板的成员函数是函数模板,则类模板实例化后,成员函数也随之实例化
7.下列关于运算符重载的描述中,正确的是()。
A.可以改变运算符的目数
B.可以改变运算符的优先级
C.可以改变运算符的结合性
D.可以改变运算符的功能
8.面向对象程序设计将数据与()放在一起,作为一个相互依存、不可分割的整体来处理。
A.对数据的操作
B.信息
C.数据隐藏
D.数据抽象
9.在C++中,编写一个内联函数Fun,使用int类型的参数,求其平方并返回,返回值也为int类型,下列定义正确的是()。
A.int Fun(int x){return x*x;}
B.inline int Fun(int x){return x*x;}
C.int inline Fun(int x){return x*x;}
D.int Fun(int x){inline return x*x;}
10.定义类模板时要使用关键字()。
A.const
B.new
C.delete
D.template
11.要将类A说明是类B的虚基类,正确的描述是()。
A.class virtual B:public A
B.class B:virtual public A
C.virtual class B:public A
D.class B:public A virtual
12.下列格式控制符中不是定义于iostream.h中的是()。
A.endl
B.hex
C.flush
D.setw
13.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是()。
A.公有类型
B.私有类型
C.保护类型
D.友元类型
14.()不是构造函数的特征。
A.构造函数的函数名与类名相同
B.构造函数可以重载
C.构造函数可以设置缺省参数
D.构造函数必须指定类型说明
15.当将一个类A说明为另一个类B的友元后,类A能够直接访问类B的()。
A.只能是公有成员
B.只能是保护成员
C.只能是除私有成员之外的任何成员
D.具有任何权限的成员
16.对于类定义 class A{ public: virtual void func1( ){ } void func2( ){ } }; class B:public A{ public: void func1( ){cout<<″class B func 1″<<end1;} virtual void func2( ){cout<<″class B f
A.A::func2( )和B::func1( )都是虚函数
B.A::func2( )和B::func1( )都不是虚函数
C.B::func1( )是虚函数,而A::func2( )不是虚函数
D.B::func1( )不是虚函数,而A::func2( )是虚函数
17.在关键字public后面定义的成员为类的()成员。
A.公有
B.保护
C.私有
D.任何
18.在一个类的定义中,包含有数据成员和()的定义。
A.数据
B.函数
C.成员函数
D.友元
19.当使用ifstream流类定义一个流对象并打开一个磁盘文件时,隐含的打开方式为()。
A.ios::in
B.ios::out
C.ios::in|ios::out
D.ios::binary
20.类模板的模板参数()。
A.只可作为数据成员的类型
B.只可作用成员函数的返回类型
C.只可作为成员函数的参数类型
D.以上三者皆可
二、判断题 (共 20 道试题,共 40 分)
21.C++利用类来实现面向对象程序设计的继承性。
22.如果一个类至少有一个虚函数,那么该类就被称为抽象类。
23.类中含有指针数据成员时,若不定义拷贝构造函数则会产生指针悬挂问题。
24.成员函数体写在类的外部时一定要在类的内部保留函数声明。