在线作业答案北航12秋《C++程序设计》
北航《C++程序设计》在线作业二试卷总分:100 测试时间:--
一、单选题(共15道试题,共60分。)
1.静态成员函数仅能访问()
A. 静态的数据成员
B. 非静态的成员函数
C. 非静态的数据成员
D. 以上都不对
满分:4分
2.通常拷贝构造函数的参数是______。( )
A. 某个对象名
B. 某个对象的成员名
C. 某个对象的引用名
D. 某个对象的指针名
满分:4分
3.当说明一个结构变量时,系统分配给它的内存是()。
A. 各成员所需内存量的总和
B. 结构中第一个成员所需内存量
C. 成员中占内存量最大的成员所需的容量
D. 结构中最后一个成员所需内存量
满分:4分
4.下列各种高级语言中,______是面向对象编程语言。
A. BASIC
B. C语言
C. C++语言
D. Pascal语言
满分:4分
5.假定Myclass为一个类,则执行Myclass a,*p;语句时,自动调用该类构造函数_____次。
A. 2
B. 3
C. 4
D. 5
满分:4分
6.已知字符'b'的ASCII码为98,语句printf("%d,%c",'b','b'+1 );的输出为( )
A. 98,b
B. 语句不合法
C. 98,99
D. 98,c
满分:4分
7.下列说法中错误的是
A. 构造函数没有类型
B. 在一个类中,构造函数只能定义一个
C. 创建对象时构造函数自动调用
D. 构造函数的函数名与类同名
满分:4分
8.在类的定义中,引入友元的原因是______。( )
A. 提高效率
B. 深化使用类的封装性
C. 提高程序的可读性
D. 破坏程序的封装性
满分:4分
9.设B类是由A类继承的。当创建一个B类的对象时,构造函数的调用顺序是( )
A. 先调用A类的构造函数,然后调用B类的构造函数
B. 先调用B类的构造函数,然后调用A类的构造函数
C. 不调用A类的构造函数
D. 视定义时A类和B类出现的位置
满分:4分
10.为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择____.
A. 内联函数
B. 重载函数
C. 递归函数
D. 函数模板
满分:4分
11.当处理特定问题时的循环次数已知时,通常采用____来解决。
A. for循环
B. while循环
C. do循环
D. switch语句
满分:4分
12.在不同文件的函数中,对全局变量的引用要加上___关键字。
A. register
B. auto
C. static
D. extern
满分:4分
13.下列哪项不是面向对象程序设计的主要特征?
A. 封装
B. 继承
C. 多态
D. 结构
满分:4分
14.对于构造函数和析构函数,下面说法中正确的是
A. 构造函数和析构函数都可以重载
B. 构造函数和析构函数都必须是类的成员
C. 对同一个类,构造函数和析构函数都可以有多个
D. 构造函数和析构函数都是被其它函数调用而执行
满分:4分
15.以下关于函数模板叙述正确的是( ).
A. 函数模板也是一个具体类型的函数
B. 函数模板的类型参数与函数的参数是同一个概念
C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数
D. 用函数模板定义的函数没有类型
满分:4分
二、判断题(共10道试题,共40分。)
1.全局变量若不初始化,则系统默认它的值为0。( )
A. 错误
B. 正确
满分:4分
2.C语言程序总是从主函数开始执行,在主函数结束。
A. 错误
B. 正确
满分:4分
3.程序设计的目标在正确的前提下,其重要性排列次序依次为:可读,可维护,可移植和高效( )
A. 错误
B. 正确
满分:4分
4.在使用C语言库函数时,要用预编译命令“#include”将有关的头文件包括到用户源文件中。( )
A. 错误
B. 正确
满分:4分
5.C++中函数声明就是函数原型。( )
A. 错误
B. 正确
满分:4分
6.C++中,一个函数必须在函数声明后才能使用( )
A. 错误
B. 正确
满分:4分
7.C++中区分字母大小写。( )
A. 错误
B. 正确
满分:4分
8.在一个函数中,不允许定义与结构体类型的成员相同名的变量。( )
A. 错误
B. 正确
满分:4分
9.系统可以提供默认的析构函数。
A. 错误
B. 正确
满分:4分
10.运算符重载可以改变运算符原来的优先级。( )
A. 错误
B. 正确
满分:4分
北航《C++程序设计》在线作业三
试卷总分:100 测试时间:--
一、单选题(共15道试题,共60分。)
1.下列的符号常量定义中,错误的定义是____
A. const M=10;
B. const int M=20;
C. const char ch;
D. const bool mark=true;
满分:4分
2.在C++语言中,对函数参数默认值描述正确的是___.
A. 函数参数的默认值只有设定一个
B. 一个函数的参数若有多个,则参数默认值的设定可以不连续
C. 函数参数必须设定默认值
D. 在设定了参数的默认值后,该参数后面定义的所有参数都必须设定默认值
满分:4分
3.for(int x=0,y=0;!x&&y<=5;y++)语句执行循环的次数是
A. 0
B. 5
C. 6
D. 无数次
满分:4分
4.下列对基类和派生类关系的描述中,错误的是______。( )
A. 派生类是基类的具体化
B. 派生类是基类的子集
C. 派生类是基类定义的延续
D. 派生类是基类的组合
满分:4分
5.下列关于构造函数说法不正确的是______。
A. 构造函数必须与类同名
B. 在构造函数中可以对类中的成员进行初始化
C. 构造函数可以省略不写
D. 构造函数必须有返回值
满分:4分
6.下面列出的保留字中,不能作为函数的返回类型的是
A. void
B. int
C. new
D. long
满分:4分
7.假定指针变量p定义为"int *p=new int(100);",要释放p所指向的动态内存,应使用语句____.
A. delete p;
B. delete *p;
C. delete &p;
D. delete []p;
满分:4分
8.函数重载体现了面向对象的( )
A. 封装性
B. 多态性
C. 继承性
D. 抽象性
满分:4分
9.类模板的模板参数______。( )
A. 只可以作为数据成员的类型
B. 只可以作为成员函数的返回类型
C. 只可以作为成员函数参数类型
D. 以上都可以
满分:4分
10.如果变量x,y已经正确定义,下列语句哪一项不能正确将x,y的值进行交换
A. x=x+y,y=x-y,x=x-y
B. t=x,x=y,y=t
C. t=y,y=x,x=t
D. x=t,t=y,y=x
满分:4分
11.当#include后面的文件名用双引号括起来时,寻找被包含文件的方式是____
A. 直接按系统设定的标准方式搜索目录
B. 先在源程序所在目录搜索,再按系统设定的标准方式搜索目录
C. 仅仅搜索源程序所在目录
D. 搜索当前逻辑盘上的所有目录
满分:4分
12.下列各种高级语言中,______是面向对象编程语言。
A. BASIC
B. C语言
C. C++语言
D. Pascal语言
满分:4分
13.下列说法中,错误的是
A. 带有纯虚拟函数的类称为抽象类
B. 不能定义抽象类的对象,也不能说明抽象类的指针和引用
C. 不能定义抽象类的对象,但可以说明抽象类的指针和引用
D. 定义抽象类的目的是为整个类族规定一个统一接口形式
满分:4分
14.当一个派生类公有继承一个基类时,基类中的所有公有成员成为派生类的______。( )
A. public 成员
B. 友员
C. protected成员
D. private成员
满分:4分
15.C++语言提供的预处理语句有3种,下面不属于预处理语句的是______。( )
A. 宏定义预处理
B. 文件预处理
C. 条件编译预处理
D. 中止预处理
满分:4分
二、判断题(共10道试题,共40分。)
1.带extern的变量说明是变量声明,不是变量定义。( )
A. 错误
B. 正确
满分:4分
2.C++模板分为类模板和函数模板
A. 错误
B. 正确
满分:4分
3.内联函数是为了提高编程效率而实现的,它克服了用#define宏定义所带来的弊病 。( )
A. 错误
B. 正确
满分:4分
4.switch后面括号中的表达式只能是整型、字符型或枚举型表达式。( )
A. 错误
B. 正确
满分:4分
5.在一个函数中,不允许定义与结构体类型的成员相同名的变量。( )
A. 错误
B. 正确
满分:4分
6.引用的目的主要用于在函数参数传递中,解决大对象的传递效率和空间都不如意的问题。( )
A. 错误
B. 正确
满分:4分
7.指针在使用前可以不进行初始化( )
A. 错误
B. 正确
满分:4分
8.定义全局变量要在程序开始时进行,并且放在所有函数的外面,静态局部变量要在函数内部定义,但生命期却随函数的第一次被调用而产生。( )
A. 错误
B. 正确
满分:4分
9.在一个函数内的复合语句中定义的变量在本函数范围内有效。
A. 错误
B. 正确
满分:4分
10.sizeof运算符用于计算某种类型的对象在内存中所占的字节数。( )
A. 错误
B. 正确
满分:4分
北航《C++程序设计》在线作业一
试卷总分:100 测试时间:--
一、单选题(共15道试题,共60分。)
1.当#include后面的文件名用双引号括起来时,寻找被包含文件的方式是____
A. 直接按系统设定的标准方式搜索目录
B. 先在源程序所在目录搜索,再按系统设定的标准方式搜索目录
C. 仅仅搜索源程序所在目录
D. 搜索当前逻辑盘上的所有目录
满分:4分
2.预处理命令在程序中都是以____符号开头的
A. *
B. #
C. &
D. @
满分:4分
3.要使几个不同数据类型的数据共享同一块内存区域,应使用
A. 数组
B. 结构
C. 联合
D. 文件
满分:4分
4.下列四个运算符中,优先级最低的是______。
A. ()
B. ->
C. .
D. ++
满分:4分
5.当处理特定问题时的循环次数已知时,通常采用____来解决。
A. for循环
B. while循环
C. do循环
D. switch语句
满分:4分
6.已知:print( )函数是一个类的常成员函数,且无返回值。在下列表示中,正确的是
A. void print( ) const;
B. const void print( );
C.
void print( );
D. void print(const);
满分:4分
7.表达式9!=10的值为
A. 非零值
B. true
C. 0
D. 1
满分:4分
8.函数重载体现了面向对象的( )
A. 封装性
B. 多态性
C. 继承性
D. 抽象性
满分:4分
9.以下不属于类存取权限是______。( )
A. public
B. static
C. protected
D. private
满分:4分
10.可用作C++语言用户标识符的一组标识符是____
A. void define +WORD
B. a3_b3 _123 YN
C. for -abc Case
D. 2a DO sizeof
满分:4分
11.下列的符号常量定义中,错误的定义是____
A. const M=10;
B. const int M=20;
C. const char ch;
D. const bool mark=true;
满分:4分
12.不能作为函数重载判断依据的是______.
A. const
B. 返回类型
C. 参数个数
D. 参数类型
满分:4分
13.类MyClass的定义如下: class MyClass { public: MyClass() {value=0;} SetVaiable(int i){value=i;} private: int value; }; 则对下列语句序列正确的描述是______. MyClass * p,my;p=&my;
A. 语句p=&my;是把对象my赋值给指针变量p
B. 语句MyClass *p,my;会调用两次类MyClass的构造函数
C. 对语句*p.SetVariable(5)的调用是正确的
D. 语句p->SetVariable(5)与语句my.SetVariable(5)等价
满分:4分
14.假定变量b和pb定义为"int b, *pb=b;",要将24赋值给b元素中,不正确的语句是.____
A. *(pb+1)=24;
B. *(b+1)=24;
C. *++b=24;
D. *++pb=24;
满分:4分
15.可以访问类对象的私有数据成员的是______。( )
A. 该类的对象
B. 该类友元类派生的成员函数
C. 类中的友元函数
D. 公有派生类的成员函数
满分:4分
二、判断题(共10道试题,共40分。)
1.类是一种类型,它封装了数据和操作。( )
A. 错误
B. 正确
满分:4分
2.一个对象必属于某个类。( )
A. 错误
B. 正确
满分:4分
3.C++支持两种类型的多态性:编译时多态、运行时多态
A. 错误
B. 正确
满分:4分
4.静态就是让变量和函数在生命的区域内成为私有。( )
A. 错误
B. 正确
满分:4分
5.sizeof运算符用于计算某种类型的对象在内存中所占的字节数。( )
A. 错误
B. 正确
满分:4分
6.数据定义为全局变量,破坏了数据的封装性;较好的解决办法是将所要共享的数据定义为类的静态数据成员。
A. 错误
B. 正确
满分:4分
7.typedef没有实际地定义一个新的数据类型,在建立一个tepedef类型时没有分配内存空间( )
A. 错误
B. 正确
满分:4分
8.常对象必须进行初始化,而且不能被更新( )
A. 错误
B. 正确
满分:4分
9.指向同一数组的两指针p1、p2相减的结果与所指元素的下标相减的结果是相同的。( )
A. 错误
B. 正确
满分:4分
10.变量分为全局和局部两种,局部变量没有赋初值时,其值是不确定的。
A. 错误
B. 正确
满分:4分
页:
[1]