张老师 发表于 2017-5-4 11:19:16

北航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]
查看完整版本: 北航17春《C++程序设计》在线作业一二三答案