栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++PTA判断,选择题整理(前六章)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++PTA判断,选择题整理(前六章)

1-1判断

1.The cin stream normally is connected to the display screen.(F)
2.使用提取符(<<)可以输出各种基本数据类型的变量的值,也可以输出指针值。(T)
3.使用new运算符开辟存储空间后,不必使用delete运算符撤销相应的空间。(F)
4.int i; int &ri=i;对于这条语句,ri和i这两个变量代表的是同一个存储空间。(T)

1-1选择

1.C++对C语言作了很多改进,下列描述中(D)使得C语言发生了质变,从面向过程变成了面向对象。
A.增加了一些新的运算符;
B.允许函数重载,并允许设置缺省参数;
C.规定函数说明必须用原型;
D.引进了类和对象的概念;
2.cout 是由I/O 流库预定义的(B )。
A.类
B.对象
C.包含文件
D.常量
3.以下程序中,new语句干了什么。(C)
int** num;
num = new int* [20];
A.分配了长度为20的整数数组空间,并将首元素的指针返回。
B.分配了一个整数变量的空间,并将其初始化为20。
C.分配了长度为20的整数指针数组空间,并将num[0]的指针返回。
D.存在错误,编译不能通过。
4.关于delete运算符的下列描述中,()是错误的。
A.它必须用于new返回的指针;
B.使用它删除对象时要调用析构函数;
C.对一个指针可以使用多次该运算符;
D.指针名前只有一对方括号符号,不管所删除数组的维数。

1-2选择

2-1
重载函数在调用时选择的依据中,错误的是(D)。
A.函数的参数
B.参数的类型
C.函数的名字
D.函数的类型
2-2
对定义重载函数的下列要求中,( C)是错误的。

A.要求参数的个数不同

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

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

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

2-1判断

1.函数的参数个数和类型都相同,只是返回值不同,这不是重载函数。(T)
2.The types of arguments in a function call must match the types of the corresponding parameters in the function prototype’s parameter list.。(T)
3.在C++语言中引入内联函数(inline function)的主要目的是降低空间复杂度,即缩短目标代码长度。(F)
4.using namespace std; 这条语句的作用是将命名空间std内的所有标识符暴露在当前作用域内。(T)
5.通过命名空间可以区分具有相同名字的函数(T)

2-1选择

2-1
关于new运算符的下列描述中,(D)是错误的。

A.它可以用来动态创建对象和对象数组;

B.使用它创建的对象或对象数组可以使用运算符delete删除;

C.使用它创建对象时要调用构造函数;

D.使用它创建对象数组时必须指定初始值;

2-2
关于delete运算符的下列描述中,(C)是错误的。

A.它必须用于new返回的指针;

B.使用它删除对象时要调用析构函数;

C.对一个指针可以使用多次该运算符;

D.指针名前只有一对方括号符号,不管所删除数组的维数。

2-3
以下程序中,new语句干了什么。(C)

int** num;

num = new int* [20];

A.分配了长度为20的整数数组空间,并将首元素的指针返回。

B.分配了一个整数变量的空间,并将其初始化为20。

C.分配了长度为20的整数指针数组空间,并将num[0]的指针返回。

D.存在错误,编译不能通过。
2-4
以下程序存在的问题是:©

void fun()
{
int *num1, *num2;
num1 = new int[10];
num2 = new int[20];
num1[0] = 100;
num2[0] = 300;
num1 = num2;
delete [] num1;
}

A.num2不能给num1赋值

B.num2最初指向的空间没有释放

C.num1最初指向的空间没有释放

D.程序没有问题
2-5
设void f1(int * m,long & n);int a;long b;则以下调用合法的是(B)。

A.f1(a,b);

B.f1(&a,b);

C.f1(a,&b);

D.f1(&a,&b);
2-6
2020final)一个函数功能不太复杂,但要求被频繁调用,可选用( A)。

A.内联函数

B.重载函数

C.递归函数

D.嵌套函数
2-7
重载函数在调用时选择的依据中,错误的是(D)。

A.函数的参数

B.参数的类型

C.函数的名字

D.函数的类型
2-8

在(C )情况下适宜采用inline定义内联函数。

A.函数体含有循环语句

B.函数体含有递归语句

C.函数代码少、频繁调用

D.函数代码多、不常调用
2-9
下面说法正确的是(B)。

A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方

B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方

C.类的内联函数必须在类体内定义

D.类的内联函数必须在类体外通过加关键字inline定义
2-10
对定义重载函数的下列要求中,( C)是错误的。

A.要求参数的个数不同

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

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

D.要求参数个数相同时,参数类型不同
2-11
命名空间应用于:(B)

A.在类外定义类的成员函数

B.避免各个不同函数、变量等的名称冲突

C.提高代码的执行速度

D.以上答案都正确
2-12
要说明标识符是属于哪个命名空间时,需要在标识符和命名空间名字之间加上:(A)

A.::

B.->

C. .

D.( )

2-2判断

1.重载函数可以带有默认值参数,但是要注意二义性。(T)
2.通过命名空间可以区分具有相同名字的函数(T)
3.using namespace std; 这条语句的作用是将命名空间std内的所有标识符暴露在当前作用域内。(T)
4.符号常量在定义时一定要初始化。(T)

2-2选择

1.如果在函数中定义的局部变量与命名空间中的变量同名时,(B)被隐藏。

A.函数中的变量

B.命名空间中的变量

C.两个变量都

D.两个变量都不
2.如果程序中使用了using命令同时引用了多个命名空间,并且命名空间中存在相同的函数,将出现:(A)

A.编译错误

B.语法错误

C.逻辑错误

D.无法判定错误类型
3.如果默认参数的函数声明为“ void fun(int a,int b=1,char c=‘a’,float d=3.2);”,
则下面调用写法正确的是( B)。

A.fun();

B.fun(2,3);

C.fun(2, ,‘c’,3.14)

D.fun(int a=1);
解析:C++规定,默认参数只能放在形参列表的最后,而且一旦为某个形参指定了默认值,那么它后面的所有形参都必须有默认值。

3-1选择

1.给定以下类声明,哪个成员函数可能改变成员变量data?
(D)
class A {

public:

void f1 (int d);
void f2 (const int &d);
void f3 (int d) const;
private:

int data;
};

A.f1

B.f2

C.f3

D.f1和f2
解析:类成员函数后加const,能有效的阻止成员函数自身修改类属性
2.在下列关键字中,用以说明类中公有成员的是( A)。

A.public

B.private

C.protected

D.friend
3.有关类和对象的说法下列不正确的有(C )。

A.对象是类的一个实例

B.任何一个对象只能属于一个具体的类

C.一个类只能有一个对象

D.类与对象和关系与数据类型和变量的关系相似
4.类成员的默认访问属性是:(A)

A.private

B.protected

C.public

D.以上答案都不对
5.
在面向对象的软件系统中,不同类对象之间的通信的一种构造称为__(D)_____。

A.属性

B.封装

C.类

D.消息

3-2选择

1.类的实例化是指(B )。

A.定义类

B.定义对象

C.调用类的成员函数

D.访问对象的数据成员
2.关于成员函数特征的描述中,( B)是错误的。

A.成员函数可以重载

B.成员函数一定是内联函数

C.一个类可以没有成员函数

D.成员函数可以设置参数的默认值
3.如果类定义中没有使用 private、protected、或public 关键字,则所有成员( C)

A.都是 public 成员

B.都是 proctected 成员

C.都是 private 成员

D.不一定
4.在面向对象系统中,对象是基本的运行时实体,它 ___C 。

A.只能包括数据(属性)

B.只能包括操作(行为)

C.把属性和行为封装为一个整体

D.必须具有显式定义的对象名
5.在面向对象系统中,对象的属性是___C_____。

A.对象的行为特性

B.和其他对象相关联的方式

C.和其他对象相互区分的特性

D.与其他对象交互的方式

4-1判断(构造函数与析构函数)

1.C++程序中,类的构造函数名与类名相同。(T)
2.在C++语言中引入内联函数(inline function)的主要目的是降低空间复杂度,即缩短目标代码长度。(F)
3.对于有返回值的return语句,用它可以返回一个表达式的值,从而实现函数之间的信息传递,分值为5分。(T)
4.形参 int fun(int a=1,int b,int c=2)合法(F)

4-1选择

1.下列函数中,( C)不能重载。

A.成员函数

B.非成员函数

C.析构函数

D.构造函数
2.下列对重载函数的描述中,( A)是错误的。

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

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

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

D.构造函数重载将会给初始化带来多种方式
3.在下面类声明中,关于生成对象不正确的是( C)。
class point
{ public:
int x;
int y;
point(int a,int b) {x=a;y=b;}
};

A.point p(10,2);

B.point *p=new point(1,2);

C.point *p=new point[2];

D.point *p[2]={new point(1,2), new point(3,4)};
4.设A为自定义类,现有普通函数int fun(A& x)。则在该函数被调用]时:©

A.将执行复制构造函数来初始化形参x

B.仅在实参为常量时,才会执行复制构造函数以初始化形参x

C.无需初始化形参x

D.仅在该函数为A类的友元函数时,无需初始化形参x
5.析构函数可以返回:(D)

A.指向某个类的指针

B.某个类的对象

C.状态信息表明对象是否被正确地析构

D.不可返回任何值
6.建立一个类对象时,系统自动调用(A)

A.构造函数

B.析构函数

C.友元函数

D.成员函数
7.下列属于类的析构函数特征的是(A)

A.一个类中只能定义一个析构函数

B.析构函数名与类名不同

C.析构函数的定义只能在类体内

D.析构函数可以有一个或多个参数
8.下列各类函数中,不是类的成员函数的是(C)

A.构造函数

B.析构函数

C.友元函数

D.拷贝构造函数

4-2选择

1.在下面类声明中,关于生成对象不正确的是(C)。
class point
{ public:
int x;
int y;
point(int a,int b) {x=a;y=b;}
};

A.point p(10,2);

B.point *p=new point(1,2);

C.point *p=new point[2];

D.point *p[2]={new point(1,2), new point(3,4)};
2.所有类都应该有:(C)

A.构造函数

B.析构函数

C.构造函数和析构函数

D.以上答案都不对
3.析构函数可以返回:(D)

A.指向某个类的指针

B.某个类的对象

C.状态信息表明对象是否被正确地析构

D.不可返回任何值
4.下列属于类的析构函数特征的是(A)

A.一个类中只能定义一个析构函数

B.析构函数名与类名不同

C.析构函数的定义只能在类体内

D.析构函数可以有一个或多个参数
5.建立一个类对象时,系统自动调用(A)

A.构造函数

B.析构函数

C.友元函数

D.成员函数
6.以下说法中正确的是(C)

A.一个类一定会有无参构造函数

B.构造函数的返回值类型是void

C.一个类只能定义一个析构函数,但可以定义多个构造函数

D.一个类只能定义一个构造函数,但可以定义多个析构函数
7.下列函数中,(C )不能重载。

A.成员函数

B.非成员函数

C.析构函数

D.构造函数
8.下列对重载函数的描述中,( A)是错误的。

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

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

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

D.构造函数重载将会给初始化带来多种方式
9.下列关于构造函数的描述中,错误的是(B)

A.构造函数名与类名相同

B.构造函数可以有返回值

C.构造函数可以重载

D.每个类都有构造函数

5-1判断(对象数组和对象指针)

1.静态成员的特点是不管这个类创建了多少个对象,其静态成员在内存中只保留一份副本,这个副本为该类的所有对象共享,或者说静态成员为类所有。(T)
2.静态数据成员不能在类中初始化,使用时需要在类体外声明。(T)

5-1选择

1.Given the declaration Circle x[10], which of the following statements is Wrong?
(A)

A.x contains an array of ten int values.

B.x contains an array of ten objects of the Circle type.

C.Each element in the array is a Circle object.

D.You can change the contents in each object element.
2.
下列关于this指针的叙述中,正确的是(D)

A.任何与类相关的函数都有this指针

B.类的成员函数都有this指针

C.类的友元函数都有this指针

D.类的非静态成员函数才有this指针
3.以下说法正确的是(C)。

A.在静态成员函数中可以调用同类的其他任何成员函数

B.const成员函数不能作用于非const对象

C.在静态成员函数中不能使用this指针

D.静态成员变量每个对象有各自的一份

5-2判断

1.对象数组生命期结束时,对象数组的每个元素的析构函数并不会都被调用。(F)
2.若new一个对象数组,那么用delete释放时应该写[],否则只delete一个对象(调用一次析构函数)。(T)

5-2选择

1.下列关于this指针的叙述中,正确的是(D)

A.任何与类相关的函数都有this指针

B.类的成员函数都有this指针

C.类的友元函数都有this指针

D.类的非静态成员函数才有this指针
2.以下关于this指针的说法不正确的是(A)

A.const成员函数内部不可以使用this指针

B.成员函数内的this指针指向成员函数所作用的对象

C.在构造函数内部可以使用this指针

D.在析构函数内部可以使用this指针

6-1判断(静态成员与友元)

1.静态数据成员不能在类中初始化,使用时需要在类体外声明(T)
2.静态成员变量的访问控制权限没有意义,静态成员变量均作为公有成员使用。(F)
3.友元函数不是类的成员函数,只是独立于该类的一般函数。(T)
4.一个类的友元函数可以访问该类的私有成员。(T)
5.如果A是B的友元类,那么B的成员函数可以访问A的私有成员。(F)

6-1选择

1.下面关于友元的描述中,错误的是:(D)

A.
友元函数可以访问该类的私有数据成员

B.
一个类的友元类中的成员函数都是这个类的友元函数

C.
友元可以提高程序的运行效率

D.
类与类之间的友元关系可以继承
2.关于友元函数的描述中,错误的是 (B)

A.友元函数不是成员函数

B.友元函数必须在类体内定义

C.友元函数可以访问类的私有数据成员

D.友元函数破坏了类的封装
3.引入友元的主要目的是为了 ©

A.
增强数据安全性

B.
提高程序的可靠性

C.
提高程序的效率和灵活性

D.
保证类的封装性
4.下面程序的输出结果是(D)

#include 
using namespace std;

class MyClass {
public:
    MyClass() {
        ++count;
    }
    ~MyClass() {
        --count;
    }
    static int getCount() {
        return count;
    }
private:
    static int count;
};
int MyClass::count = 0;
int main() {
    MyClass obj;
    cout << obj.getCount();
    MyClass obj2;
    cout << MyClass::getCount();
    cout << obj2.getCount();
    return 0;
}

A.121

B.232

C.221

D.122
5.
下面对静态数据成员的描述中正确的是(B)。

A.
类的不同对象有不同的静态数据成员值

B.
静态数据成员是类的所有对象共享的数据

C.
类的每个对象都有自己的静态数据成员

D.
静态数据成员不能通过类的对象调用
6.在下面有关静态成员函数的描述中,正确的是(A)。

A.
在建立对象前,就可以为静态数据成员赋值

B.
静态成员函数在类外定义时要用static前缀

C.
静态成员函数只能在类外定义

D.
在静态成员函数中可以使用this指针

6-2选择

1.Variables that are shared by every instances of a class are D.
(类的每个实例共享的变量为 静态成员变量)

A.
public variables

B.
private variables

C.
instance variables

D.
static variables
2.A function that is associated with an individual object is called __C.
(与单个对象关联的函数称为 实例函数)

A.
a static function

B.
a class function

C.
an instance function

D.
an object function
3.静态成员函数没有:(B)

A.
返回值

B.
this指针

C.
指针参数

D.
返回类型
4.下面对静态数据成员的描述中,正确的是(A)

A.
静态数据成员是类的所有对象共享的数据

B.
类的每个对象都有自己的静态数据成员

C.
类的不同对象有不同的静态数据成员

D.
静态数据成员不能通过类的对象调用,只能通过“类名::标识符”调用
5.对于以下关于友元的说法(D)

A.
如果函数fun被声明为类A的友元函数,则该函数成为A的成员函数

B.
如果函数fun被声明为类A的友元函数,则该函数能访问A的保护成员,但不能访问私有成员

C.
如果函数fun被声明为类A的友元函数,则fun的形参类型不能是A。

D.
以上答案都不对
6.友元的作用是(A)

A.
提高程序的运用效率

B.
加强类的封装性

C.
实现数据的隐藏性

D.
增加成员函数的种类
7.下面关于友元的描述中,错误的是:(D)

A.
友元函数可以访问该类的私有数据成员

B.
一个类的友元类中的成员函数都是这个类的友元函数

C.
友元可以提高程序的运行效率

D.
类与类之间的友元关系可以继承

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/994157.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号