北航17春《C++程序设计》在线作业一二三答案
北航《C++程序设计》在线作业一一、单选题:转载请注明无忧答案网www.ap5u.com
1.虚函数使用关键字( )。( ) (满分:4)
A. virtual
B. static
C. public
D. private
2.预处理命令在程序中都是以( )符号开头的 (满分:4)
A. *
B. #
C. &
D. @
3.在不同文件的函数中,对全局变量的引用要加上关键字。 (满分:4)
A. register
B. auto
C. static
D. extern
4.在对typedef的叙述中错误的是( )。 (满分:4)
A. 用typedef可以定义各种类型名,但不能用来定义变量
B. 用typedef可以增加新类型
C. 用typedef只是将已存在的类型用一个新的标识符来代表
D. 使用typedef有利于程序的通用和移植
5.在一个被调用函数中,关于return语句使用的描述,错误的是 (满分:4)
A. 被调用函数中可以不用return语句
B. 被调用函数中可以使用多个return语句
C. 被调用函数中,如果有返回值,就一定要有return语句
D. 被调用函数中,一个return语句可以返回多个值给调用函数
6.考虑函数原型void test(int a,int b=7,char="*"),下面的函数调用中,属于不合法调用的是 (满分:4)
A. test(5);
B. test(5,8);
C. test(6,"#");
D. test(0,0,"*");
7.以下错误的描述是( ). (满分:4)
A. 被调用函数中可以不用return语句
B. 被调用函数中可以用多个return语句
C. 被调用函数中,如果有返回值,就一定要有return语句
D. 被调用函数中,一个return语句可返回多个值给调用函数
8.下列关于C++语言类的描述中错误的是( )。 (满分:4)
A. 类用于描述事物的属性和对事物的操作
B. 类与类之间通过封装而具有明确的独立性
C. 类与类之间必须是平等的关系,而不能组成层次结构
D. 类与类之间可以通过一些方法进行通信和联络
9.下面程序的结果是什么?Int i=3,j=4;i?i++:j++;printf(“%d %d\n”,i,j);( ) (满分:4)
A. 3 3
B. 4 4
C. 3 4
D. 4 3
10.字符串”a+b=12n”的长度为( ) (满分:4)
A. 6
B. 7
C. 8
D. 9
11.执行语句序列 int x; cin>>x; if(x>250) cout<<‘X‘; if(x<250) cout<<‘Y‘; else cout<<‘X‘; 时,不可能出现的情况是( ) (满分:4)
A. X
B. Y
C. XY
D. XX
12.设”int a=15,b=26;”,则”cout<<(a,b);”的输出结果是( ) (满分:4)
A. 15
B. 26,15
C. 15,26
D. 26
13.以下标识符中不全是C++保留字的是( ) (满分:4)
A. case for int
B. defaultthen while
C. bool class long
D. goto returnchar
14.设x和y均为bool量,则x&&y为真的条件是( )。 (满分:4)
A. 其中一个为假
B. 它们均为真
C. 其中一个为真
D. 它们均为假
15.能正确表示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
三、判断题:
1.typedef没有实际地定义一个新的数据类型,在建立一个tepedef类型时没有分配内存空间( ) (满分:4)
A. 错误
B. 正确
2.以面向IA-32处理器的VC++ 2008和gcc 4.2为准,float类型数据在内存中占4个字节,double型数据占8个字节,long double型数据占8个字节。( ) (满分:4)
A. 错误
B. 正确
3.用一个标识符代表一个常量的称为符号常量,符号常量不同于变量,它的值在其作用域内不能改变,也不能再被赋值。( ) (满分:4)
A. 错误
B. 正确
4.运算符重载可以改变运算符原来的优先级。( ) (满分:4)
A. 错误
B. 正确
5.类是一种类型,它封装了数据和操作。( ) (满分:4)
A. 错误
B. 正确
6.内联函数是为了提高编程效率而实现的,它克服了用#define宏定义所带来的弊病 。( ) (满分:4)
A. 错误
B. 正确
7.私有成员只能被本类的成员函数访问,来自类外部的任何访问都是非法的。( ) (满分:4)
A. 错误
B. 正确
8.在程序运行过程中,其值不能被改变的量称为常量( ) (满分:4)
A. 错误
B. 正确
9.变量分为全局和局部两种,局部变量没有赋初值时,其值是不确定的。 (满分:4)
A. 错误
B. 正确
10.左值是能出现在赋值表达式左边的表达式。( ) (满分:4)
A. 错误
B. 正确
北航《C++程序设计》在线作业二
一、单选题:
1.以下叙述中不正确的是( ). (满分:4)
A. 在一个函数中,可以有多条return语句
B. 函数的定义不能嵌套,但函数的调用可以嵌套
C. 函数必须有返回值
D. 不同的函数中可以使用相同名字的变量
2.下面有关重载函数的说法中正确的是( ) (满分:4)
A. 重载函数必须具有不同的返回值类型
B. 重载函数形参个数必须不同
C. 重载函数必须有不同的形参列表
D. 重载函数名可以不同
3.程序应该必须包含的部分是: (满分:4)
A. 头文件
B. 注释
C. 高级语言
D. 数据结构和算法
4.下列叙述正确的是( ) (满分:4)
A. 一个程序中可以有多个#include命令行
B. 在#include命令行中,用双引号和用尖括号将被包含的文件名括起来没有区别
C. #include命令行只能放在程序开始位置
D. #include命令后也必须以分号结束
5.设B类是由A类继承的。当创建一个B类的对象时,构造函数的调用顺序是( ) (满分:4)
A. 先调用A类的构造函数,然后调用B类的构造函数
B. 先调用B类的构造函数,然后调用A类的构造函数
C. 不调用A类的构造函数
D. 视定义时A类和B类出现的位置
6.在类的定义中,引入友元的原因是( )。( ) (满分:4)
A. 提高效率
B. 深化使用类的封装性
C. 提高程序的可读性
D. 破坏程序的封装性
7.若用数组名作为函数调用时的实参,则实际上传递给形参的是( )。 (满分:4)
A. 数组首地址
B. 数组的第一个元素值
C. 数组中全部元素的值
D. 数组元素的个数
8.C++语言中允许的基本数据类型包括( )。 (满分:4)
A. 整型、实型、逻辑型
B. 整型、实型、字符型
C. 整型、字符型、逻辑型
D. 整型、逻辑型、实型、字符型
9.C++语言提供的预处理语句有3种,下面不属于预处理语句的是( )。( ) (满分:4)
A. 宏定义预处理
B. 文件预处理
C. 条件编译预处理
D. 中止预处理
10.C++程序基本单位是( )。 (满分:4)
A. 函数
B. 语句
C. 字符
D. 数据
11.下列四个运算符中,优先级最低的是( )。 (满分:4)
A.( )
B. ->
C. .
D. ++
12.编译预处理工作是在完成的。 (满分:4)
A. 编译前
B. 编译时
C. 编译后
D. 连接时
13.下面说法中,正确的是( ) (满分:4)
A. 公有派生类的成员函数可以访问基类的私有成员
B. 私有派生类的成员函数可以访问基类的私有成员
C. 无论公有派生还是私有派生,派生类的成员函数均可以访问基类的公有成员
D. 无论公有派生还是私有派生,派生类的成员函数均可以访问基类的私有成员
14.下面关于new 和delete操作符的说法,哪个是不正确的( ) (满分:4)
A. 使用new操作符,可以动态分配全局堆中的内存资源
B. 若p的类型已由A*强制转换为void *,那么执行语句delete p;时,类A的析构函数不会被调用
C. 实现全局函数时,new和delete通常成对地出现在由一对匹配的花括号限定的语句块中
D. 执行语句A * p=new A;时,类A的构造函数只会被调用1次
15.下列运算符中优先级别最高的是 (满分:4)
A. ++
B. ?:
C. !=
D. +=
16.类B是通过public继承方式从类A派生而来的,且类A和类B都有完整的实现代码,则下列说法正确的是 (满分:4)
A. 类B中具有pubic可访问性的成员函数个数一定不少于类A中public成员函数的个数
B. 一个类B的实例对象占用的内存空间一定不少于一个类A的实例对象占用的内存空间
C. 只要类B中的构造函数都是public的,在main函数中就可以创建类B的实例对象
D. 类A和类B中的同名虚函数的返回值类型必须完全一致
17.下列函数中,可以是虚函数的是( )。( ) (满分:4)
A. 自定义的构造函数
B. 拷贝构造函数
C. 静态成员函数
D. 析构函数
18.能正确表示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
19.关于C++语言和C语言的关系的下列描述中,错误的是 (满分:4)
A. C语言是C++语言的一个子集
B. C语言和C++语言都是面向对象的语言
C. C++语言与C语言兼容
D. C++语言对C语言做了些改进
20.在C++中,要实现动态联编,必须使用( )调用虚函数。 (满分:4)
A. 类名
B. 派生类指针
C. 对象名
D. 基类指针
21.设有定义int x; float v;,则10+x+v值的数据类型是( )。 (满分:4)
A. int
B. float
C. double
D. 不确定
22.假定指针变量p定义为"int *p=new int(100);",要释放p所指向的动态内存,应使用语句( ). (满分:4)
A. delete p;
B. delete *p;
C. delete &p;
D. delete []p;
23.如果有char* ssl=“0123456789”,则,sizeof(ssl)的值是( ) (满分:4)
A. 4
B. 10
C. 11
D. 40
24.要使几个不同数据类型的数据共享同一块内存区域,应使用 (满分:4)
A. 数组
B. 结构
C. 联合
D. 文件
25.下列对基类和派生类关系的描述中,错误的是( )。( ) (满分:4)
A. 派生类是基类的具体化
B. 派生类是基类的子集
C. 派生类是基类定义的延续
D. 派生类是基类的组合
北航《C++程序设计》在线作业三
一、单选题:
1.假定变量b和pb定义为"int b, *pb=b;",要将24赋值给b元素中,不正确的语句是.( ) (满分:4)
A. *(pb+1)=24;
B. *(b+1)=24;
C. *++b=24;
D. *++pb=24;
2.for(int x=0,y=0;!x&&y<=5;y++)语句执行循环的次数是 (满分:4)
A. 0
B. 5
C. 6
D. 无数次
3.下列各种高级语言中,( )是面向对象编程语言。 (满分:4)
A. BASIC
B. C语言
C. C++语言
D. Pascal语言
4.下面关于类的对象性质的描述,正确的是 (满分:4)
A. 对象之间不可以相互赋值
B. 不可以说明指向对象的指针
C. 对象不能用作数组元素
D. 一个对象能用作另一个对象的成员
5.下面说法中,正确的是( ) (满分:4)
A. 公有派生类的成员函数可以访问基类的私有成员
B. 私有派生类的成员函数可以访问基类的私有成员
C. 无论公有派生还是私有派生,派生类的成员函数均可以访问基类的公有成员
D. 无论公有派生还是私有派生,派生类的成员函数均可以访问基类的私有成员
6.在C++语言中,下列变量命名正确的是( )。 (满分:4)
A. char 89name;
B. bool is-loan;
C. int class;
D. int abc;
7.可以访问类对象的私有数据成员的是( )。( ) (满分:4)
A. 该类的对象
B. 该类友元类派生的成员函数
C. 类中的友元函数
D. 公有派生类的成员函数
8.已知函数test定义为:void test( ) { ………… }则函数定义中void的含义是( ) (满分:4)
A. 执行函数test后,函数没有返回值
B. 执行函数test后,函数不再返回
C. 执行函数test后,函数返回任意类型值
D. 以上三个答案都是错误的
9.下列选项中,全部都是C++关键字的选项为( )。 (满分:4)
A. whileIFstatic
B. sizeofcaseextern
C. switchfloatinteger
D. breakchargo
10.关于对象的描述中,错误的是( ) (满分:4)
A. 创建对象时,系统将分配给它所有成员占用的内存空间
B. 对象成员的表示与C语言中结构变量成员的表示方法相同
C. 一个类可以定义多个对象、指向对象的指针和对象数组
D. 创建对象时应调用相应的构造函数进行初始化
11.以下函数的返回结果是( ).int function(char *x) {char *p=x; while(*p++); return(p-x-1);} (满分:4)
A. 求字符串的长度
B. 将字符串x连接到字符串p后面
C. 将字符串x复制到字符串p中
D. 将字符串x反向存放
12.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为 (满分:4)
A. main
B. MAIN
C. name
D. function
13.将两个字符串连接起来组成一个字符串时,选用函数。 (满分:4)
A. strlen( )
B. strcpy( )
C. strcat( )
D. strcmp( )
14.在下面存储类中, ( )对象的可见性与生存期不一致. (满分:4)
A. 外部类
B. 自动类
C. 内部静态类
D. 寄存器类
15.下列各个成员函数中,纯虚函数是( ) (满分:4)
A. void fun(int)=0
B. virtual void fun(int)
C. virtual void fun(int){ }
D. virtual void fun(int)=0
16.switch语句能够改写为( )语句。 (满分:4)
A. for
B. if
C. do
D. while
17.已知:print( )函数是一个类的常成员函数,且无返回值。在下列表示中,正确的是 (满分:4)
A. void print( ) const;
B. const void print( );
C. void print( );
D. void print(const);
18.静态成员函数仅能访问( ) (满分:4)
A. 静态的数据成员
B. 非静态的成员函数
C. 非静态的数据成员
D. 以上都不对
19.下列关于构造函数说法不正确的是( )。 (满分:4)
A. 构造函数必须与类同名
B. 在构造函数中可以对类中的成员进行初始化
C. 构造函数可以省略不写
D. 构造函数必须有返回值
20.设B类是由A类继承的。当创建一个B类的对象时,构造函数的调用顺序是( ) (满分:4)
A. 先调用A类的构造函数,然后调用B类的构造函数
B. 先调用B类的构造函数,然后调用A类的构造函数
C. 不调用A类的构造函数
D. 视定义时A类和B类出现的位置
21.假定指针变量p定义为"int *p=new int(100);",要释放p所指向的动态内存,应使用语句( ). (满分:4)
A. delete p;
B. delete *p;
C. delete &p;
D. delete []p;
22.在C++中,要实现动态联编,必须使用( )调用虚函数。 (满分:4)
A. 类名
B. 派生类指针
C. 对象名
D. 基类指针
23.函数重载是指( ). (满分:4)
A. 两个或两个以上的函数取相同的函数名,但形参的个数或类型不同
B. 两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同
C. 两个以上的函数名字不同,但形参的个数或类型相同
D. 两个以上的函数取相同的函数名,并且函数的返回类型相同
24.以下关于函数模板叙述正确的是( ). (满分:4)
A. 函数模板也是一个具体类型的函数
B. 函数模板的类型参数与函数的参数是同一个概念
C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数
D. 用函数模板定义的函数没有类型
25.在一个源文件中定义的全局变量的作用域为( )。 (满分:4)
A. 本程序的全部范围
B. 本函数的全部范围
C. 从定义该变量的位置开始到本文件结束
D. 以上说法都不正确
页:
[1]