离线作业答案 发表于 2017-10-7 10:07:48

北航17秋《C++程序设计》在线作业123

北航《C++程序设计》在线作业一
一、单选题:【15道,总分:60分】
1.在面向对象的程序设计中,一切都是围绕着展开的。          (满分:4)
    A. 语言    B. 结构
    C. 数据类型    D. 类
2.以下哪个不是循环语句(    )          (满分:4)
    A. while语句
    B. do-while语句
    C. for语句
    D. if-else语句
3.循环体至少被执行一次的语句为(    )          (满分:4)
    A. for循环
    B. while循环
    C. do循环
    D. 任一种循环
4.以下不属于类存取权限是(    )。(    )          (满分:4)
    A. public
    B. static
    C. protected
    D. private
5.C++程序从上机到得到结果的几个操作步骤依次是(    )。          (满分:4)
    A. 编译、编辑、连接、运行
    B. 编辑、编译、连接、运行
    C. 编译、运行、编辑、连接
    D. 编辑、运行、编辑、连接
6.要声明一个有10个int型元素的数组,正确的语句是(    )          (满分:4)
    A. int a;
    B. int a;
    C. int a[];
    D. int *a;
7.编译预处理工作是在完成的。          (满分:4)
    A. 编译前
    B. 编译时
    C. 编译后
    D. 连接时
8.考虑函数原型void test(int a,int b=7,char="*"),下面的函数调用中,属于不合法调用的是          (满分:4)
    A. test(5);
    B. test(5,8);
    C. test(6,"#");
    D. test(0,0,"*");
9.下列运算符中优先级别最高的是          (满分:4)
    A. ++
    B. ?:
    C. !=
    D. +=
10.设有定义int x; float v;,则10+x+v值的数据类型是(    )。          (满分:4)
    A. int
    B. float
    C. double
    D. 不确定
11.关于对象的描述中,错误的是(    )          (满分:4)
    A. 创建对象时,系统将分配给它所有成员占用的内存空间
    B. 对象成员的表示与C语言中结构变量成员的表示方法相同
    C. 一个类可以定义多个对象、指向对象的指针和对象数组
    D. 创建对象时应调用相应的构造函数进行初始化
12.设”int a=15,b=26;”,则”cout<<(a,b);”的输出结果是(    )          (满分:4)
    A. 15
    B. 26,15
    C. 15,26
    D. 26
13.如果有char* ssl=“0123456789”,则,sizeof(ssl)的值是(    )          (满分:4)
    A. 4
    B. 10
    C. 11
    D. 40
14.在C++语言中,二维数组元素在内存中的存放顺序是(    )          (满分:4)
    A. 按行存放
    B. 按列存放
    C. 由用户自己定义
    D. 由编译器决定
15.以上对模板的声明,正确的是(    )。(    )          (满分:4)
    A. template<T>
    B. template <class T1, T2>
    C. template<class T1, class T2>
    D. template <T1,class T2>
二、判断题:【10道,总分:40分】

1.运算符重载可以改变运算符原来的优先级。(    )          (满分:4)
    A. 错误
    B. 正确
2.在一个函数内的复合语句中定义的变量在本函数范围内有效。          (满分:4)
    A. 错误
    B. 正确
3.在内存中,字符数据以ASCII码存储,即以整数表示。(    )          (满分:4)
    A. 错误
    B. 正确
4.带extern的变量说明是变量声明,不是变量定义。(    )          (满分:4)
    A. 错误
    B. 正确
5.C++中,一个函数必须在函数声明后才能使用(    )          (满分:4)
    A. 错误
    B. 正确
6.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是8。          (满分:4)
    A. 错误
    B. 正确
7.私有成员只能被本类的成员函数访问,来自类外部的任何访问都是非法的。(    )          (满分:4)
    A. 错误
    B. 正确
8.数据定义为全局变量,破坏了数据的封装性;较好的解决办法是将所要共享的数据定义为类的静态数据成员。          (满分:4)
    A. 错误
    B. 正确
9.switch后面括号中的表达式只能是整型、字符型或枚举型表达式。(    )          (满分:4)
    A. 错误
    B. 正确
10.输出字符指针就是输出字符串。(    )          (满分:4)
    A. 错误
    B. 正确
北航《C++程序设计》在线作业三
一、单选题:【25道,总分:100分】

1.如果有char* ssl=“0123456789”,则,sizeof(ssl)的值是(    )          (满分:4)
    A. 4
    B. 10
    C. 11
    D. 40
2.下面关于new 和delete操作符的说法,哪个是不正确的(    )          (满分:4)
    A. 使用new操作符,可以动态分配全局堆中的内存资源
    B. 若p的类型已由A*强制转换为void *,那么执行语句delete p;时,类A的析构函数不会被调用
    C. 实现全局函数时,new和delete通常成对地出现在由一对匹配的花括号限定的语句块中
    D. 执行语句A * p=new A;时,类A的构造函数只会被调用1次
3.通常拷贝构造函数的参数是(    )。(    )          (满分:4)
    A. 某个对象名
    B. 某个对象的成员名
    C. 某个对象的引用名
    D. 某个对象的指针名
4.C++程序从上机到得到结果的几个操作步骤依次是(    )。          (满分:4)
    A. 编译、编辑、连接、运行
    B. 编辑、编译、连接、运行
    C. 编译、运行、编辑、连接
    D. 编辑、运行、编辑、连接
5.C++程序的执行总是从哪里开始的?          (满分:4)
    A. main函数
    B. 第一行
    C. 头文件
    D. 函数注释
6.下列说法中错误的是          (满分:4)
    A. 构造函数没有类型
    B. 在一个类中,构造函数只能定义一个
    C. 创建对象时构造函数自动调用
    D. 构造函数的函数名与类同名
7.下面不能正确表示a*b/(c*d)的表达式是(    )          (满分:4)
    A.(a*b)/c*d
    B. a*b/(c*d)
    C. a/c/d*b
    D. a*b/c/d
8.以下各选项企图说明一种新的类型名,其中正确的是(    )          (满分:4)
    A. typedef v1 int;
    B. typedef v2=int;
    C. typedefint v3;
    D. typedef v4: int;
9.关于void 指针,下列说法正确的是(    )          (满分:4)
    A. void 指针就是未指向任何数据的指针
    B. void 指针就是已定义而未初始化的指针
    C. 指向任何类型数据的指针可直接赋值给一个void 指针
    D. void 指针值可直接赋给一个非void 指针
10.由C++源程序文件编译而成的目标文件的默认扩展名为(    )          (满分:4)
    A. cpp
    B. exe
    C. obj
    D. lik
11.以下不属于类存取权限是(    )。(    )          (满分:4)
    A. public
    B. static
    C. protected
    D. private
12.为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择(    ).          (满分:4)
    A. 内联函数
    B. 重载函数
    C. 递归函数
    D. 函数模板
13.函数重载体现了面向对象的(    )          (满分:4)
    A. 封装性
    B. 多态性
    C. 继承性
    D. 抽象性
14.考虑函数原型void test(int a,int b=7,char="*"),下面的函数调用中,属于不合法调用的是          (满分:4)
    A. test(5);
    B. test(5,8);
    C. test(6,"#");
    D. test(0,0,"*");
15.不能作为函数重载判断依据的是(    ).          (满分:4)
    A. const
    B. 返回类型
    C. 参数个数
    D. 参数类型
16.下列字符中不能构成标识符的是(    )          (满分:4)
    A. 数字字符
    B. 大写字母
    C. 下划线字符
    D. 连接符
17.假定Myclass为一个类,则执行Myclass a,*p;语句时,自动调用该类构造函数(    )次。          (满分:4)
    A. 2
    B. 3
    C. 4
    D. 5
18.在C++语言中,为了使得类中的某些数据成员及某些成员函数的返回值能取任意类型,应使用(    )          (满分:4)
    A. 类
    B. 类模板
    C. 抽象类
    D. 虚基类
19.以下错误的描述是(    ).          (满分:4)
    A. 被调用函数中可以不用return语句
    B. 被调用函数中可以用多个return语句
    C. 被调用函数中,如果有返回值,就一定要有return语句
    D. 被调用函数中,一个return语句可返回多个值给调用函数
20.C++程序基本单位是(    )。          (满分:4)
    A. 函数
    B. 语句
    C. 字符
    D. 数据
21.在C++语言中.表示一条语句结束的标号是(    )。          (满分:4)
    A. #
    B. ;
    C. //
    D. }
22.下列的各函数中, (    )不是类的成员函数          (满分:4)
    A. 构造函数
    B. 析构函数
    C. 友元函数
    D. 复制构造函数
23.下面有关重载函数的说法中正确的是(    )          (满分:4)
    A. 重载函数必须具有不同的返回值类型
    B. 重载函数形参个数必须不同
    C. 重载函数必须有不同的形参列表
    D. 重载函数名可以不同
24.以下关于类和对象叙述中,正确的是          (满分:4)
    A. 一般只有通过具体的对象才能访问类的成员函数
    B. 一个类的成员函数可以任意被调用
    C. 对象是抽象的,而类是具体实现
    D. 类和对象间没有联系
25.对于“int *pa;”的描述中,正确的是          (满分:4)
    A. pa是一个指向数组的指针,所指向的数组是5个int型元素
    B. pa是一个指向某数组中第5个元素的指针,该元素是int型变量
    C. pa 表示某个元素的第5个元素的值
    D. pa是一个具有5个元素的指针数组,每个元素是一个int型指针
北航《C++程序设计》在线作业二
一、单选题:【25道,总分:100分】

1.假定变量a和pa定义为"double a, *pa=a;",要将12.35赋值给a中的下标为5的元素,不正确的语句是(    ).          (满分:4)
    A. pa=12.35;
    B. a=12.35;
    C. *(pa+5)=12.35;
    D. *(a+5)=12.35;
2.设B类是由A类继承的。当创建一个B类的对象时,构造函数的调用顺序是(    )          (满分:4)
    A. 先调用A类的构造函数,然后调用B类的构造函数
    B. 先调用B类的构造函数,然后调用A类的构造函数
    C. 不调用A类的构造函数
    D. 视定义时A类和B类出现的位置
3.类MyClass的定义如下: class MyClass { public: MyClass(    ) {value=0;} SetVaiable(int i){value=i;} private: int value; }; 则对下列语句序列正确的描述是(    ). MyClass * p,my;p=&my;          (满分:4)
    A. 语句p=&my;是把对象my赋值给指针变量p
    B. 语句MyClass *p,my;会调用两次类MyClass的构造函数
    C. 对语句*p.SetVariable(5)的调用是正确的
    D. 语句p->SetVariable(5)与语句my.SetVariable(5)等价
4.能正确表示x>=3或者x<1的关系表达式是          (满分:4)
    A. x>=3 or x<1
    B. x>=3|x<1
    C. x>=3(    )x<1
    D. x> =3(    )|x<1
5.在一个源文件中定义的全局变量的作用域为(    )。          (满分:4)
    A. 本程序的全部范围
    B. 本函数的全部范围
    C. 从定义该变量的位置开始到本文件结束
    D. 以上说法都不正确
6.C++源程序文件的扩展名是(    )。          (满分:4)
    A. .CPP
    B. .C
    C. .DLL
    D. .EXE
7.以下叙述中正确的是(    ).          (满分:4)
    A. 使用#define可以为常量定义一个名字,该名字在程序中可以再赋另外的值
    B. 使用const定义的常量名有类型之分,其值在程序运行时是不可改变的
    C. 在程序中使用内联函数使程序的可读性变差
    D. 在定义函数时可以在形参表的任何位置给出缺省形参值
8.在c++语言中,main函数默认返回一个(    )类型的值          (满分:4)
    A. int
    B. float
    C. char
    D. void
9.下列的各函数中, (    )不是类的成员函数          (满分:4)
    A. 构造函数
    B. 析构函数
    C. 友元函数
    D. 复制构造函数
10.程序中主函数的名字为(    ).          (满分:4)
    A. main
    B. MAIN
    C. Main
    D. 任意标识符
11.C++程序从上机到得到结果的几个操作步骤依次是(    )。          (满分:4)
    A. 编译、编辑、连接、运行
    B. 编辑、编译、连接、运行
    C. 编译、运行、编辑、连接
    D. 编辑、运行、编辑、连接
12.C++语言的编译系统对宏命令的处理是(    ).          (满分:4)
    A. 在程序运行时进行
    B. 在程序连接时进行
    C. 和C++程序的其它语句同时进行编译
    D. 在对源程序中其它成分正式编译之前进行
13.关于对象的描述中,错误的是(    )          (满分:4)
    A. 创建对象时,系统将分配给它所有成员占用的内存空间
    B. 对象成员的表示与C语言中结构变量成员的表示方法相同
    C. 一个类可以定义多个对象、指向对象的指针和对象数组
    D. 创建对象时应调用相应的构造函数进行初始化
14.若用数组名作为函数调用时的实参,则实际上传递给形参的是(    )。          (满分:4)
    A. 数组首地址
    B. 数组的第一个元素值
    C. 数组中全部元素的值
    D. 数组元素的个数
15.虚函数使用关键字(    )。(    )          (满分:4)
    A. virtual
    B. static
    C. public
    D. private
16.可用作C++语言用户标识符的一组标识符是(    )          (满分:4)
    A. void    define    +WORD
    B. a3b3    123   YN
    C. for      -abc      Case
    D. 2a      DO      sizeof
17.在下列运算符中,优先级最低的是          (满分:4)
    A.(    )
    B. !=
    C. <
    D. +
18.以下叙述不正确的是(    ).          (满分:4)
    A. 宏替换不占用运行时间
    B. 宏名无类型
    C. 宏替换只是字符替换
    D. 宏名必须用大写字母表示
19.(    )不是构造函数的特征          (满分:4)
    A. 构造函数的函数名与类名相同
    B. 构造函数可以重载
    C. 构造函数可以设置缺省参数
    D. 构造函数必须指定类型说明.
20.在不同文件的函数中,对全局变量的引用要加上关键字。          (满分:4)
    A. register
    B. auto
    C. static
    D. extern
21.下列函数中,可以是虚函数的是(    )。(    )          (满分:4)
    A. 自定义的构造函数
    B. 拷贝构造函数
    C. 静态成员函数
    D. 析构函数
22.下列对基类和派生类关系的描述中,错误的是(    )。(    )          (满分:4)
    A. 派生类是基类的具体化
    B. 派生类是基类的子集
    C. 派生类是基类定义的延续
    D. 派生类是基类的组合
23.已知:print(    )函数是一个类的常成员函数,且无返回值。在下列表示中,正确的是          (满分:4)
    A. void print(    ) const;
    B. const void print(    );
    C. void print(    );
    D. void print(const);
24.C++语言是从早期的C语言逐渐发展演变来的,与C语言相比,它在求解问题方法上进行最大改进的是(    )。          (满分:4)
    A. 面向过程
    B. 面向对象
    C. 安全性
    D. 复用性
25.有关构造函数的说法,不正确的是(    )。          (满分:4)
    A. 对象是类的一个实例
    B. 任何一个对象只能属于一个具体的类
    C. 一个类只能有一个对象
    D. 类与对象的关系和数据类型与变量的关系相似

页: [1]
查看完整版本: 北航17秋《C++程序设计》在线作业123