正确答案:-----
22春学期(高起本1709-2103、全层次2109-2103)《程序设计基础(下)》在线作业-00003
正确答案:-----
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 40 分)
1.假定X为一个类,执行X a[3],*p[2];语句时会自动调用该类的构造函数( )次。
A.2
B.3
C.4
D.5
正确答案:-----
2.一个顺序表第一个元素的存储地址是100,每个元素的长度为4个字节,则第5个元素的地址是( )。
A.100
B.108
C.116
D.120
正确答案:-----
3.下列虚基类的声明中正确的是( )。
A.class virtual B:public A
B.virtual class B:public
C.class B:public A virtual
D.class B: virtual public A
正确答案:-----
4.在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是()。
A.派生类的对象可以赋给基类对象
B.派生类的对象可以初始化基类的引用
C.派生类的对象可以直接访问基类的成员
D.派生类的对象的地址可以赋给指向基类的指针
正确答案:-----
5.对基类和派生类的描述中错误的是( )。
A.派生类是基类的具体化
B.基类继承了派生类的属性
C.派生类是基类定义的延续
D.派生类是基类的特殊化
正确答案:-----
6.在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的( )倍。
A.1
B.2
C.3
D.4
正确答案:-----
7.类B是类A的公有派生类,类A和类B中都定义了虚函数func(),p是一个指向类A对象的指针,则p->A::func()将( )。
A.调用类A中是函数func()
B.调用类B中是函数func()
C.根据P所指的对象类型而确定调用A中或类B中的函数func()
D.既调用类A中函数,也调用类B中的函数
正确答案:-----
8.下列静态数据成员的特性中,( )是错误的。
A.说明静态数据成员时前边要加关键字static来修饰
B.静态数据成员在类体外进行初始化
C.引用静态数据成员时,要在静态数据成员名前加和作用域运算符
D.静态数据成员不是所有对象所共有的
正确答案:-----
9.利用数组a[N]顺序存储一个栈时,用top表示栈顶指针,用top==-1表示栈空,并已知栈未满,当元素x进栈时所执行的操作是( )。
A.top--; a[top]=x;
B.a[top]=x; top--;
C.top++; a[top]=x;
D.a[top]=x; top++;
正确答案:-----
10.在一个链接队列中,假设f和r 分别是队头和队尾指针,则插入一个s结点的运算时( )。
A.f->next=s; f=s;
B.r->next=s; r=s;
C.s->next=r; r=s;
D.s->next=f; f=s;
正确答案:-----
11.在数据结构中,与所使用的计算机无关的是数据的( )结构。
A.逻辑
B.存储
C.逻辑和存储
D.物理
正确答案:-----
12.在树中,拥有相同双亲的两个结点称为( )结点。
A.兄弟
B.堂兄弟
C.父子
D.同等
正确答案:-----
13.线性表中的一个结点最多有( )个后继。
A.0
B.1
C.2
D.无数个
正确答案:-----
14.不同的对象可以调用相同名称的函数,并可导致完全不同的行为的现象称为( )。
A.多态性
B.抽象
C.继承
D.封装
正确答案:-----
15.下面说法中正确的是( )。
A.一个类只能定义一个构造函数,但可以定义多个析构函数
B.一个类只能定义一个析构函数,但可以定义多个构造函数
C.构造函数与析构函数同名,只要名字前加了一个求反符号(~)
D.构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是void类型也不可以
正确答案:-----
16.在一个顺序循环队列中,队尾指针指向队尾元素的( )位置。
A.前一个
B.后一个
C.当前
D.最后
正确答案:-----
17.在类的定义形式中,数据成员、成员函数和( )组成了类定义体。
A.成员的访问控制信息
B.公有消息
C.私有消息
D.保护消息
正确答案:-----
21.下列关于类的继承描述中,( )是错误的。
A.派生类可以访问基类的所有数据成员,也能调用基类的所有成员函数
B.派生类也是基类,但基类不一定具有派生类的全部属性和方法
C.继承描述类的层次关系,派生类可以具有与基类相同的属性和方法
D.一个基类可以有多个派生类,一个派生类可以有多个基类
正确答案:-----
19.下面描述中,错误的是( )。
A.虚函数是没有实现的函数
B.纯虚函数的实现在派生类中
C.抽象类是有纯虚函数的类
D.抽象类指针可以指向不同的派生类
正确答案:-----
正确答案:-----
20.下面程序段中,说法正确的是( ) class location{ public : int GetX(); }; class rectangle:private location { public: int GetW(); };
A.类rectangle的私有派生类是location
B.类rectangle中的public成员在类 location中是私有的
C.类location中的public成员在类 rectangle中是不可访问的
D.viod f( ) { Rectangle r; int X=r .GetX( ); } 其中int X = r .GetX( );是非法语句
正确答案:-----
南开22春学期《程序设计基础(下)》在线作业[答案]多选题答案
正确答案:-----
二、多选题 (共 15 道试题,共 30 分)21.下面描述中,正确的是( )。
A.在基类定义的public成员在公有继承的派生类中可见,也能在类外被访问
B.在基类定义的public和protected成员在私有继承的派生类中可见,在类外可以被访问
正确答案:-----
C.在基类定义的public和protected成员在保护继承的派生类中可见
正确答案:-----
D.在派生类中不可见的成员要变成可访问的,需要进行访问声明
正确答案:-----
22.下面对对象成员的正确描述是( )。
A.可以在构造函数的初始化列表中给出对象成员的初始化
B.可以在构造函数的函数体中给出对象成员的初始化
C.如果一个对象成员有无参构造函数,则可以省略对象成员的初始化语句
D.若A类中有B类对象成员,则在创建A类对象时,先执行B类的构造函数,再执行A类的构造函数
正确答案:-----
23.二叉树可以采用的存储方式包括:
A.顺序存储
B.二叉链表
C.三叉链表
D.队列
正确答案:-----
24.下面对友元的正确描述是( )。
A.关键字friend用于声明友元
正确答案:-----
B.一个类的成员函数可以是另一个类的友元
C.友元函数访问对象的成员不受访问特性影响
D.友元函数通过this指针访问对象成员
正确答案:-----
25.下面对析构函数的正确描述是( )。
A.系统可以提供默认的析构函数
B.析构函数必须由用户定义
C.析构函数没有参数
D.析构函数可以设置默认参数
正确答案:-----
26.下面描述中,错误的是( )。
A.虚函数是没有实现的函数
B.纯虚函数是没有实现的函数
C.抽象类可以用于创建对象
D.抽象类指针可以指向不同的派生类
27.函数模板可以与()重载。
A.函数模板
B.普通函数
C.类模板
D.普通类
正确答案:-----
28.下列关于类模板的描述中,正确的是( )。
A.类模板中可以有静态数据成员
B.类模板的静态数据成员由所有该类模板实例化的模板类共享
C.类模板的静态数据成员需要在类体外进行定义和初始化
D.类模板中可以用类型形参声明静态数据成员
正确答案:-----
29.如果类A继承了类B,则类A称为()。
A.派生类
B.继承类
C.子类
D.父类
正确答案:-----
正确答案:-----
30.下列关于类的常量数据成员的说法中,正确的是( )。
A.常量数据成员只能是公有成员
B.可以在构造函数的初始化列表中为常量数据成员赋初值
C.可以在构造函数的函数体中为常量数据成员赋初值
D.常量数据成员的值初始化后就只能访问、无法修改
正确答案:-----
31.下面描述中,正确的是( )。
A.使用fstream类必须包含头文件fstream
B.ostream对象用来实现输出操作
C.ios是iostream的直接基类
D.iostream是通过多重继承得到的派生类
正确答案:-----
32.下列关于类的常量成员函数的说法中,正确的是( )。
A.只有类的成员函数可以在函数头后面加const关键字
B.在常量成员函数中可以获取成员变量的值、但不能修改
C.在常量成员函数中只能访问常量数据成员
D.在类体外定义常量成员函数时,函数头后面的const关键字可以省略
正确答案:-----
33.下列函数中,可以作为虚函数的是( )。
A.普通成员函数
B.构造函数
C.静态成员函数
D.析构函数
正确答案:-----
34.如果类A继承了类B,则类B称为()。
A.派生类
B.基类
C.子类
D.父类
35.下列关于类的常量数据成员的说法中,正确的是( )。
A.一个类的常量数据成员必须在类体中初始化
B.一个类的常量数据成员由该类的所有对象共享
C.一个类的常量数据成员对于该类的不同对象可以取不同的值
D.使用const关键字可以将一个数据成员声明为常量数据成员
正确答案:-----
三、判断题 (共 15 道试题,共 30 分)
36.根据二叉树的中序遍历序列并不能确定二叉树的根结点。
37.深度优先遍历类似于树的先序遍历。
38.含有纯虚函数的类是抽象类。
39.类非成员函数形式的运算符重载函数通常采用友元函数,是为了在运算符重载中方便访问类中的非公有成员。
40.说明或定义对象时,类名前面不需要加class关键字。
41.邻接链表只能用于有向图的存储,邻接矩阵对于有向图和无向图的存储都适用。
42.线性结构的特点是只有一个结点没有前驱,只有一个结点没有后继,其余的结点只有一个前驱和后继。
43.用邻接链表存储一个图时,边数越多,占用的存储空间越大。
44.如果某个有向图的邻接链表中第i个顶点的链表为空,则第i个顶点的入度为零。
45.在树中,一个结点的后继结点称为该结点的孩子,相应地,一个结点的前驱结点称为该结点的双亲。
46.边上带权的图就称为带权图。
47.getline()函数从流中提取终止字符,但终止字符被丢弃。
48.根据二叉树的先序遍历序列并不能确定二叉树的根结点。
49.线性表的链式存储结构是可以用不连续的的存储单元来存储线性表中的数据元素。
50.顺序表能够存放的最大元素数量n称为线性表的长度。
南开22春学期《程序设计基础(下)》在线作业[答案]历年参考题目如下:
2021学期(1709、2103、2109、1903、1909、2003、2009、2103、2109)《程序设计基础(下)》在线作业
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 40 分)
1.在C++中,要实现动态联编,可以使用( )调用虚函数。
A.类名
B.派生类指针
C.对象名
D.基类指针
2.在一个具有n个顶点的有向图中,若所有顶点的入度之和为s,则所有顶点的度之和为( )。
A.s
B.s+1
C.s-1
D.2s
3.下面程序段中,说法正确的是( ) class location{ public : int GetX(); }; class rectangle:private location { public: int GetW(); };
A.类rectangle的私有派生类是location
B.类rectangle中的public成员在类 location中是私有的
C.类location中的public成员在类 rectangle中是不可访问的
D.viod f( ) { Rectangle r; int X=r .GetX( ); } 其中int X = r .GetX( );是非法语句
4.进行文件操作时需要包含_ ()头文件。
A.iostream
B.fstream
C.stdio
D.stdlib
5.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储()。
A.数据的处理方法
B.数据元素的类型
C.数据元素之间的关系
D.数据的存储方法
6.在一个链接队列中,假设f和r 分别是队头和队尾指针,则插入一个s结点的运算时( )。
A.f->next=s; f=s;
B.r->next=s; r=s;
C.s->next=r; r=s;
D.s->next=f; f=s;
7.在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为( )。
A.e
B.2e
C.n的平方减e
D.n的平方2减2e
8.多态调用是指( )。
A.以任何方式调用一个虚函数
B.以任何方式调用一个纯虚函数
C.借助于指向对象的基类指针或引用调用一个虚函数
D.借助于指向对象的基类指针或引用调用一个纯虚函数
9.友元运算符obj1>obj2被C++编译器解释为()。
A.operator>(obj1,obj2)
B.>(obj1,obj2)
C.jobj2.operator>(obj1)
D.obj1.operator(obj2)
10.下列描述中,()是抽象类的特性。
A.可以说明虚函数
B.可以定义友元函数
C.可以进行构造函数重载
D.不能说明其对象
11.若类A和类B的定义如下: class A { int i,j; public: void get(); }; class B:A//默认为私有派生 { int k; public; void make(); }; void B:: make() { k=i*j; } 则上述定义中,()是非法的表达式。
A.void get();
B.int k;
C.void make();
D.k=i*j;
12.设无向图G中的边集E={(a,b),(a,c),(c,d),(c,e) },则从顶点a出发可以得到一种深度优先遍历的顶点序列为( )。
A.abced
B.acbed
C.acebd
D.acdbe
13.一个类的友元函数能够访问该类的( )。
A.私有成员
B.保护成员
C.公有成员
D.所有成员
14.下列关于类的继承描述中,( )是错误的。
A.派生类可以访问基类的所有数据成员,也能调用基类的所有成员函数
B.派生类也是基类,但基类不一定具有派生类的全部属性和方法
C.继承描述类的层次关系,派生类可以具有与基类相同的属性和方法
D.一个基类可以有多个派生类,一个派生类可以有多个基类
15.下面叙述错误的是( )。
A.派生类可以使用private派生
B.对基类成员的访问必须是无二义性的
C.基类成员的访问能力在派生类中维持不变
D.赋值兼容规则也适用于多继承的组合
16.在二叉树的第i层上至多有( )个结点(i≥1)。
A.2的i次方减1
B.2的i-1次方
C.2的i次方加+1
D.2的i+1次方
17.关于函数模板,描述错误的是( )。
A.函数模板必须由程序员实例化为可执行的函数模板
B.函数模板的实例化由编译器实现
C.一个类定义中,只要有一个函数模板,则这个类是类模板
D.类模板的成员函数都是函数模板
21.当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为( )。
A.ios::in
B.ios::out
C.ios::trunk
D.ios::binary
19.在一个长度为n(n>1)的单链表上,设有两个指针分别指向链表的第一个元素和最后一个元素,执行( )操作与链表的长度有关。
A.删除单链表中的第一个元素
B.删除单链表的最后一个元素
C.在单链表的第一个元素前插入一个新元素
D.在单链表的最后一个元素后插入一个新元素
20.设a,b为一棵二叉树上的两个结点,在中序遍历中,a 在b 前面的条件是( )。
A.a在b的右方
B.a在b的左方
C.a是b的祖先
D.a是b的子孙
二、多选题 (共 15 道试题,共 30 分)
21.不论派生类以何种方法继承基类,都可以使用基类的( )。
A.public成员
B.private成员
C.protected成员
D.所有成员
22.下列关于拷贝构造函数的说法中,正确的是( )。
A.拷贝构造函数是一个特殊的构造函数
B.一个类中只能有一个拷贝构造函数
C.如果定义一个类时没有定义拷贝构造函数,则系统会提供一个默认的不包含任何操作的拷贝构造函数
D.当一个类中有指针类型的成员变量时,则需要为这个类定义拷贝构造函数
23.下面描述中,正确的是( )。
A.虚拟继承可以解决多重继承中的二义性问题
B.类层次中的类从虚基类中直接继承虚基类的成员
C.在有虚基类的类层次中,创建派生类对象时,会先调用基类的构造函数再调用虚基类的构造函数
D.在有虚基类的类层次中,销毁派生类对象时析构函数的调用顺序与创建派生类对象时构造函数的调用顺序相反
24.系统提供的默认拷贝构造函数实现的是“浅拷贝”,下列关于浅拷贝的说法中正确的是( )。
A.当一个类中有指针成员变量时,浅拷贝有可能会导致一片内存被重复释放
B.当一个类中有指针成员变量时,浅拷贝有可能导致一个对象中保存的数据不正确
C.如果一个类中只有int型和double型的成员变量,则浅拷贝不会出现任何问题
D.如果一个类中有一个成员变量是char型数组,则使用浅拷贝会存在问题
25.下列关于类的常量数据成员的说法中,正确的是( )。
A.常量数据成员只能是公有成员
B.可以在构造函数的初始化列表中为常量数据成员赋初值
C.可以在构造函数的函数体中为常量数据成员赋初值
D.常量数据成员的值初始化后就只能访问、无法修改
26.已知in是ifstream对象,则下列语句正确的是( )。
A.in.seekg(5);
B.in.seekg(5, ios::beg);
C.in.seekg(5, ios::end);
D.in.seekg(-5);
27.下面对对象成员的正确描述是( )。
A.可以在构造函数的初始化列表中给出对象成员的初始化
B.可以在构造函数的函数体中给出对象成员的初始化
C.如果一个对象成员有无参构造函数,则可以省略对象成员的初始化语句
D.若A类中有B类对象成员,则在创建A类对象时,先执行B类的构造函数,再执行A类的构造函数
28.下面描述中,正确的是( )。
A.多重继承中,派生类对象被销毁时析构函数的调用顺序与派生类对象创建时构造函数的调用顺序相反
B.多重继承中,派生类对象被销毁时析构函数的调用顺序与派生类对象创建时构造函数的调用顺序一致
C.多重继承中创建派生类对象时各基类构造函数的调用顺序与基类构造函数在初始化列表中的出现顺序一致
D.多重继承中,如果派生类的初始化列表中没有某个基类构造函数的调用语句,则表示调用该基类的无参构造函数
29.下面关于自定义类的运算符重载的说法中,正确的是( )。
A.C++中的所有运算符都可以重载
B.不仅可以重载C++中已有的运算符,还可以创建ABC运算符
C.运算符重载实质上就是函数重载
D.运算符重载的函数名是operator
30.关于类和对象正确的说法包括( )。
A.类是一种类型,它封装了数据和操作
B.对象是类的实例
C.一个类的对象只有一个
D.一个对象必属于某个类
31.对象的核心概念就是通常所说的()。
A.继承
B.封装
C.传递
D.多态
32.下面描述中,错误的是( )。
A.虚函数是没有实现的函数
B.纯虚函数是没有实现的函数
C.抽象类可以用于创建对象
D.抽象类指针可以指向不同的派生类
33.下列关于类模板的描述中,正确的是( )。
A.类模板的模板形参表中既可以有类型形参也可以有普通形参
B.类模板的成员函数中可以用类型形参定义局部变量
C.类模板中可以用类型形参声明成员变量
D.类模板只能在类体中给出成员函数的实现
34.关于this指针的说法错误的是( )。
A.this指针必须显示说明
B.静态成员函数拥有this指针
C.成员函数拥有this指针
D.静态成员函数不拥有this指针
35.已知类Circle中有一个静态数据成员s_nNum,且有变量定义语句Circle c, *pc;,则下列选项中,能给s_nNum赋值为3的语句包括( )。
A.Circle.s_nNum=3
B.Circle::s_nNum=3
C.s_nNum=3
D.pc->s_nNum=3
三、判断题 (共 15 道试题,共 30 分)
36.对象成员的访问与结构变量成员的访问相同,使用运算符.或->。
37.在一个类中最多只能定义1个构造函数和1个析构函数。
38.函数模板可以与普通函数重载。
39.用邻接矩阵存储一个图时,边数越多,占用的存储空间越大。
40.顺序存储结构说的是数据的逻辑结构。
41.多继承情况下,派生类的构造函数中基类构造函数的执行顺序取决于定义派生类时所指定的各基类的顺序。
42.继承性是指同样的消息被不同对象接收时可产生不同的行为。
43.线性表的链式存储结构是可以用不连续的的存储单元来存储线性表中的数据元素。
44.树的根结点所在的层为第1层,其余结点的层等于其前驱结点的层加1;树中各结点的层的最大值称为树的深度。
45.链表的每个结点既可以存储一个基本数据类型的元素也可以存储一个自定义数据类型的元素。
46.类非成员函数形式的运算符重载函数通常采用友元函数,是为了在运算符重载中方便访问类中的非公有成员。
47.入对操作,在顺序存储结构上需要考虑“溢出”情况。
48.构造函数说明为纯虚函数是没有意义的。
49.顺序表能够存放的最大元素数量n称为线性表的长度。
50.邻接链表可以存储有向图和无向图,而邻接矩阵也可以存储无向图和无向图。
[奥鹏]南开22春学期《程序设计基础(下)》在线作业[答案]相关练习题:
保水性; (3 分)
在长时间耐力性运动时,对循环血中红细胞总数的影响表现为
单效溴化锂吸收式制冷机的热力系数随冷却水进口温度的下降而降低。
实施实际评价过程中的心理现象是()。
《面向 21 世纪教育振兴行动计划》中指出:实施素质教育要从幼儿阶段抓起,学前儿童处于人生的开端时期,所获的是先天的基础素质。其素质特殊性是( ) 。
8088/8086的基本总线周期由( )个时钟周期组成。
公司会计信息的内部使用者有( )
组织的目的性和社会职能的客观性,要求任何组织的成员都能明确认识自己组织的社会位置、社会地位和( )
#include "stdio.h"
当压力达到规定值时触点动作的继电器是( )。
固定资产计提折旧的原因是资产存在着有形损耗和无形损耗。( )
如果投机者预期价格上涨,但市场还没有明显上涨趋势时,也应该买入期货合约。( )
简便取穴法中,直立垂手,于腿外侧中指尖处的腧穴是
《经籍纂诂》的编排法是:
常用的项目风险应对措施包括()
文件筐测验的缺点是()。
信息媒体的不同是电脑文本与传统文本差别的根源。
1956年10月23日匈牙利事件爆发,同年11月4日匈牙利事件结束。
计算下列钢筋的下料长度。计算过程中如公式写对可以得相应的分。其中,钢筋90°弯折角的弯曲调整值取2d;钢筋45°弯折角的弯曲调整值取0.5d;d为相应钢筋的直径。
我国刑法规定中华人民共和国公民在中华人民共和国领域外犯任何罪,都适用本法。