黄老师 发表于 2016-2-22 08:29:09

福师15秋《C++语言程序设计》在线作业答案

福师15秋《C++语言程序设计》在线作业一

一、单选题:
1.设int * p2=&x,* p1=a;p2= *b;则a和b的类型分别是(    )。          (满分:2)
    A. int * 和int
    B. int * 和int **
    C. int和int *
    D. int * 和int *
2.结构化程序设计的3种结构是(    )(    )。          (满分:2)
    A. 顺序结构、选择结构、转移结构
    B. 分支结构、等价结构、循环结构
    C. 多分支结构、赋值结构、等价结构
    D. 顺序结构、选择结构、循环结构
3.C++源程序文件的扩展名是(    )。          (满分:2)
    A. .CPP
    B. .C
    C. .DLL
    D. .EXE
4.类TM和类TN是两个独立的类,那么类TM中哪种形式的数据成员一定是不允许的(    )(    )。          (满分:2)
    A. TM* a;
    B. TN& a;
    C. TM a;
    D. TN a;
5.下列描述正确的是(    )(    )。          (满分:2)
    A. 表示m>n为true或mn&&m
    B. switch语句结构中必须有default语句
    C. if语句结构中必须有else语句
    D. 如果至少有一个操作数为true,则包含“‖”运算符的表达式为true
6.如果类A被说明成类B的友元,则(    )。          (满分:2)
    A. 类A的成员即类B的成员
    B. 类B的成员即类A的成员
    C. 类A的成员函数不得访问类B的成员
    D. 类B不一定是类A的友元
7.如果有char* ssl=“0123456789”,则,sizeof(ssl)的值是(    )          (满分:2)
    A. 4
    B. 10
    C. 11
    D. 40
8.函数说明时,下列(    )项是不必要的。          (满分:2)
    A. 函数类型
    B. 函数参数类型和名字
    C. 函数名字
    D. 返回值表达式
9.下面说法中,正确的是(    )          (满分:2)
    A. 公有派生类的成员函数可以访问基类的私有成员
    B. 私有派生类的成员函数可以访问基类的私有成员
    C. 无论公有派生还是私有派生,派生类的成员函数均可以访问基类的公有成员
    D. 无论公有派生还是私有派生,派生类的成员函数均可以访问基类的私有成员
10.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是(    )(    )。          (满分:2)
    A. 友元函数
    B. 虚函数
    C. 构造函数
    D. 析构函数
11.假定a为一个整型数组名,则元素a的字节地址为(    )。          (满分:2)
    A. a+4
    B. a+8
    C. a+16
    D. a+32
12.下面程序的运行结果为(    )(    )。#include class A {public: A(    ){cout ~A(    ){cout }class B:public A { public: B(    ){cout ~B(    ){cout }void main(    ) { B b; }          (满分:2)
    A. 1234
    B. 1324
    C. 1342
    D. 3142
13.考虑函数原型voidtest(inta,intb=7,char="*"),下面的函数调用中,属于不合法调用的是(    )。          (满分:2)
    A. test(5);
    B. test(5
    8);
    C. test(6
    "#")
    D. test(0
    0
    "*")
14.如果变量x,y已经正确定义,下列语句哪一项不能正确将x,y的值进行交换(    )          (满分:2)
    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
15.C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是(    )。          (满分:2)
    A. 增加了一些新的运算符
    B. 允许函数重载,并允许设置缺省参数
    C. 规定函数说明符必须用原型
    D. 引进了类和对象的概念
16.假定AB为一个类,则该类的拷贝构造函数的声明语句为(    )(    )。          (满分:2)
    A. AB &(AB x)
    B. AB(AB x)
    C. AB(AB &)
    D. AB(AB * x)
17.下列说法正确的是(    )(    )。          (满分:2)
    A. 内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方
    B. 内联函数在编译时是将该函数的月标代码插入每个调用该函数的地方
    C. 类的内联函数必须在类体内定义
    D. 类的内联函数必须在类体外通过加关键字inline定义
18.C++程序源文件默认的扩展名是(    )          (满分:2)
    A. cs
    B. obj
    C. cpp
    D. exe
19.以下结构类型可用来构造链表的是(    )。          (满分:2)
    A. struct aa{ int a;int * b;};
    B. struct bb{ int a;bb * b;};
    C. struct cc{ int * a;cc b;};
    D. struct dd{ int * a;aa b;};
20.下列运算符中,运算对象必须是整型的是(    )          (满分:2)
    A. /
    B. %
    C. =
    D. &
二、多选题:
1.内联函数是为了提高编程效率而实现的,它克服了用#define宏定义所带来的弊病 。(    )          (满分:2)
    A. 错误
    B. 正确
2.sizeof运算符用于计算某种类型的对象在内存中所占的字节数。(    )          (满分:2)
    A. 错误
    B. 正确
3.C++目标程序经连接后生成扩展名为exe的可执行程序文件。          (满分:2)
    A. 错误
    B. 正确
4.16位计算机中整型占4个字节存储空间。          (满分:2)
    A. 错误
    B. 正确
5.在一个函数中,不允许定义与结构体类型的成员相同名的变量。(    )          (满分:2)
    A. 错误
    B. 正确
6.以面向IA-32处理器的VC++ 2008和gcc 4.2为准,float类型数据在内存中占4个字节,double型数据占8个字节,long double型数据占8个字节。(    )          (满分:2)
    A. 错误
    B. 正确
7.派生类的成员函数可以直接访问基类的所有成员。          (满分:2)
    A. 错误
    B. 正确
8.若一全局变量只允许本程序文件中的函数使用,则定义它时应加上修饰符 void。          (满分:2)
    A. 错误
    B. 正确
9.对于全局函数int f(void),与其完全等价的函数原型为const int f(    )。          (满分:2)
    A. 错误
    B. 正确
10.C++语言中的每条基本语句以;作为结束符,每条复合语句以}作为结束符。          (满分:2)
    A. 错误
    B. 正确
三、判断题:
11.构造函数不能重载。          (满分:2)
    A. 错误
    B. 正确
12.一个类可以作为另一个类的友元类。          (满分:2)
    A. 错误
    B. 正确
13.指向同一数组的两指针p1、p2相减的结果与所指元素的下标相减的结果是相同的。(    )          (满分:2)
    A. 错误
    B. 正确
14.基类中被说明为protected和private的成员只能被其派生类的成员函数访问,不能被其它的函数访问。          (满分:2)
    A. 错误
    B. 正确
15.用new动态申请的内存空间,必须用delete来释放。          (满分:2)
    A. 错误
    B. 正确
16.C++程序的开发步骤通常要经过编辑、编译、连接、运行调试这样几个步骤。(    )          (满分:2)
    A. 错误
    B. 正确
17.在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元。(    )          (满分:2)
    A. 错误
    B. 正确
18.定义全局变量要在程序开始时进行,并且放在所有函数的外面,静态局部变量要在函数内部定义,但生命期却随函数的第一次被调用而产生。(    )          (满分:2)
    A. 错误
    B. 正确
19.C语言程序总是从主函数开始执行,在主函数结束。(    )          (满分:2)
    A. 错误
    B. 正确
20.在使用C语言库函数时,要用预编译命令“#include”将有关的头文件包括到用户源文件中。(    )          (满分:2)
    A. 错误
    B. 正确
1.关于函数重载,下列描述错误的是(    )。          (满分:2)
    A. 函数重载是指两个或两个以上的函数取相同的函数名,但形参的个数或类型不同
    B. 函数重载是指两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同
    C. 函数重载是指两个以上的函数名字不同,但形参的个数或类型相同
    D. 函数重载是指两个以上的函数取相同的函数名,并且函数的返回类型相同
2.下列说法中错误的是(    )。          (满分:2)
    A. 不允许设置参数的默认值
    B. 设置参数的默认值只能在定义函数时设置
    C. 设置参数的默认值时,应该设置右边的参数
    D. 设置参数的默认值时,应该全部参数都设置
3.使用值传递方式将实参传给形参,下列说法不正确的是(    )。          (满分:2)
    A. 形参是实参的备份
    B. 实参是形参的备份
    C. 形参和实参是同一对象
    D. 形参和实参无联系
4.关于异常和C++提供的异常处理机制正确的说法是(    )。          (满分:2)
    A. 若程序员预见到程序中的异常,则一定可以通过修改程序代码来避免异常出现
    B. 使用dynamiccast操作符可能会产生异常
    C. 异常可以用catch进行捕获处理
    D. 异常可以是对象,也可以是普通整数
5.以下关于函数模板叙述错误的是(    )。          (满分:2)
    A. 函数模板也是一个具体类型的函数
    B. 函数模板的类型参数与函数的参数是同一个概念
    C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数
    D. 用函数模板定义的函数没有类型
6.下面关于指针变量和引用变量的说法正确的是(    )。          (满分:2)
    A. 指针变量存放的是内存地址,并且可以置为0
    B. 定义引用变量时,必须同时指明具体被引用的对象或变量
    C. 使用取地址操作符,可以取得指针变量自身的地址,但取不到引用变量自身的地址
    D. 类中的数据成员可以是指针变量,但不能是引用变量
7.在进行完成任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中不能用于检测输入流状态的操作函数名称是(    )。          (满分:2)
    A. fail
    B. eof
    C. bad
    D. good
8.下列哪些是类的特性(    )。          (满分:2)
    A. 多态性
    B. 继承性
    C. 封装性
    D. 虚拟性
9.下列说法中错误的是(    )。          (满分:2)
    A. C++程序总是从第一个定义的函数开始执行
    B. C++程序总是从main函数开始执行
    C. C++函数必须有返回值,否则不能使用函数
    D. C++程序中有调用关系的所有函数必须放在同一个程序文件中
10.以下不正确的描述是(    )。          (满分:2)
    A. 函数的定义可以嵌套,函数的调用不可以嵌套
    B. 函数的定义不可以嵌套,函数的调用可以嵌套
    C. 函数的定义和函数的调用均可以嵌套
    D. 函数的定义和函数的调用均不可以嵌套福师15秋《C++语言程序设计》在线作业二

一、单选题:
1.下列关于函数模板和模板函数的描述,错误的是(    )          (满分:2)
    A. 函数模板是一组函数的模板
    B. 模板函数是一个实在的函数
    C. 函数模板是定义重载函数的一种工具
    D. 模板函数在编译时不生成可执行代码
2.对于结构中定义的成员,其隐含访问权限为(    )(    )。          (满分:2)
    A. public
    B. protected
    C. private
    D. static
3.C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是(    )(    )。          (满分:2)
    A. 增加了一些新的运算符
    B. 允许函数重载,并允许设置缺省参数
    C. 规定函数说明符必须用原型
    D. 引进了类和对象的概念
4.下列关于C++语言类的描述中错误的是(    )          (满分:2)
    A. 类用于描述事物的属性和对事物的操作
    B. 类与类之间通过封装而具有明确的独立性
    C. 类与类之间必须是平等的关系,而不能组成层次结构
    D. 类与类之间可以通过一些方法进行通信和联络
5.以下叙述中正确的是(    )。          (满分:2)
    A. 构成C++语言程序的基本单位是类
    B. 可以在一个函数中定义另一个函数
    C. main(    )函数必须放在其他函数之前
    D. 所有被调用的函数一定要在调用之前进行定义
6.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是(    )(    )。          (满分:2)
    A. 友元函数
    B. 虚函数
    C. 构造函数
    D. 析构函数
7.下面不能正确表示a*b/(c*d)的表达式是(    )          (满分:2)
    A.(a*b)/c*d
    B. a*b/(c*d)
    C. a/c/d*b
    D. a*b/c/d
8.在对typedef的叙述中错误的是(    )。          (满分:2)
    A. 用typedef可以定义各种类型名,但不能用来定义变量
    B. 用typedef可以增加新类型
    C. 用typedef只是将已存在的类型用一个新的标识符来代表
    D. 使用typedef有利于程序的通用和移植
9.以下各选项组中,均是C++语言关键字的组是(    )。          (满分:2)
    A. publicoperatorthis
    B. shodstringstatic
    C. itwhile>=
    D. privatecoutprintf
10.下列关于多态性的描述,错误的是(    )(    )。          (满分:2)
    A. C++语言的多态性分为编译时的多态性和运行时的多态性
    B. 编译时的多态性可通过函数重载实现
    C. 运行时的多态性可通过模板和虚函数实现
    D. 实现运行时多态性的机制称为动态绑定
11.结构化程序设计的一种基本方法是(    )。          (满分:2)
    A. 筛选法
    B. 递归法
    C. 归纳法
    D. 逐步求精法
12.下列关于多态性的描述,错误的是(    )。          (满分:2)
    A. C++语言的多态性分为编译时的多态性和运行时的多态性
    B. 编译时的多态性可通过函数重载实现
    C. 运行时的多态性可通过模板和虚函数实现
    D. 实现运行时多态性的机制称为动态绑定
13.下面的哪个保留字不能作为函数的返回类型(    )。          (满分:2)
    A. void
    B. int
    C. new
    D. long
14.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为(    )。          (满分:2)
    A. main
    B. MAIN
    C. name
    D. function
15.下面关于数组的初始化正确的是(    )。          (满分:2)
    A. charstr[]={‘a',’b','c‘}
    B. charstr={'a','b','c’}
    C. charstr={{'a‘,'b’},{’e’,'d’},{’e’,‘f'}}
    D. charstr[]={'a','b','c’}
16.下列各种高级语言中,(    )是面向对象编程语言。(    )          (满分:2)
    A. BASIC
    B. C语言
    C. C++语言
    D. Pascal语言
17.若x,y,z均被定义为整数,则下列表达式能正确表达代数式1/(x*y*z)的是          (满分:2)
    A. 1/x*y*z
    B. 1.0/(x*y*z)
    C. 1/(x*y*z)
    D. 1/x/y/(float)z
18.设int * p2=&x,* p1=a;p2= *b;则a和b的类型分别是(    )。          (满分:2)
    A. int * 和int
    B. int * 和int **
    C. int和int *
    D. int * 和int *
19.下列对引用的陈述中,不正确的是(    )          (满分:2)
    A. 每一个引用都是其所引用对象的别名
    因此必须初始化
    B. 形式上针对引用的操作实际上作用于它所引用的对象
    C. 一旦定义了引用
    一切针对其所引用对象的操作只能通过该引用间接进行
    D. 不需要单独为引用分配存储空间
20.以下哪个不是循环语句          (满分:2)
    A. while语句
    B. do-while语句
    C. for语句
    D. if-else语句
二、多选题:
1.在内存中,字符数据以ASCII码存储,即以整数表示。(    )          (满分:2)
    A. 错误
    B. 正确
2.类的静态数据成员需要在定义每个类的对象时进行初始化。          (满分:2)
    A. 错误
    B. 正确
3.NULL与void *是不同的概念,NULL是一个指针值,任何类型的指针都可赋予该值。而void *是一种类型,是一种无任何类型的指针。(    )          (满分:2)
    A. 错误
    B. 正确
4.C++语言程序中,要调用的函数必须在main(    )函数中定义(    )          (满分:2)
    A. 错误
    B. 正确
5.C++语言中的每条基本语句以;作为结束符,每条复合语句以}作为结束符。          (满分:2)
    A. 错误
    B. 正确
6.inline函数表示编译器一定会将函数体直接插入到调用此函数的地方,这样可以加快程序的运行速度。          (满分:2)
    A. 错误
    B. 正确
7.类是一种类型,它封装了数据和操作。          (满分:2)
    A. 错误
    B. 正确
8.关系表达式x+y>5的相反表达式为x+y<=5。          (满分:2)
    A. 错误
    B. 正确
9.float和double类型的大小分别为4和8。          (满分:2)
    A. 错误
    B. 正确
10.C++语言程序必须要有return语句(    )          (满分:2)
    A. 错误
    B. 正确
三、判断题:
11.如果类B继承了类A,则称类A为类B的基类,类B称为类A的派生类。          (满分:2)
    A. 错误
    B. 正确
12.说明函数原型时不需要指明每个函数参数的名字,只需要说明每个参数的类型和返回值类型就可以了。          (满分:2)
    A. 错误
    B. 正确
13.C++语言中规定函数的返回值的类型是由return语句中的表达式类型所决定。          (满分:2)
    A. 错误
    B. 正确
14.指针在使用前可以不进行初始化(    )          (满分:2)
    A. 错误
    B. 正确
15.自增运算符和自减运算符只能用于变量,不能用于常量或表达式 。(    )          (满分:2)
    A. 错误
    B. 正确
16.C++中,一个函数必须在函数声明后才能使用(    )          (满分:2)
    A. 错误
    B. 正确
17.用new动态申请的内存是在堆中分配的,而不是在栈中分配的。          (满分:2)
    A. 错误
    B. 正确
18.16位计算机中整型占4个字节存储空间。          (满分:2)
    A. 错误
    B. 正确
19.在内存中,字符数据以ASCII码存储,即以整数表示。(    )          (满分:2)
    A. 错误
    B. 正确
20.声明一个结构并不分配内存,内存分配发生在定义这个新数据类型的变量中。(    )          (满分:2)
    A. 错误
    B. 正确
1.下列哪种函数不可以是虚的(    )。          (满分:2)
    A. 自定义的构造函数
    B. 拷贝构造函数
    C. 静态成员函数
    D. 析构函数
2.下列说法中错误的是(    )。          (满分:2)
    A. 不允许设置参数的默认值
    B. 设置参数的默认值只能在定义函数时设置
    C. 设置参数的默认值时,应该设置右边的参数
    D. 设置参数的默认值时,应该全部参数都设置
3.下列关于构造函数的描述中,正确的是(    )。          (满分:2)
    A. 构造函数可以设置默认参数
    B. 构造函数在定义类对象时自动执行
    C. 构造函数可以是内联函数
    D. 构造函数不可以重载
4.关于函数重载,下列描述错误的是(    )。          (满分:2)
    A. 函数重载是指两个或两个以上的函数取相同的函数名,但形参的个数或类型不同
    B. 函数重载是指两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同
    C. 函数重载是指两个以上的函数名字不同,但形参的个数或类型相同
    D. 函数重载是指两个以上的函数取相同的函数名,并且函数的返回类型相同
5.在进行完成任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中不能用于检测输入流状态的操作函数名称是(    )。          (满分:2)
    A. fail
    B. eof
    C. bad
    D. good
6.对C++语言和C语言的兼容性,描述不正确的是(    )。          (满分:2)
    A. C++兼容C
    B. C++部分兼容C
    C. C++不兼容C
    D. C兼容C++
7.下列哪些是类的特性(    )。          (满分:2)
    A. 多态性
    B. 继承性
    C. 封装性
    D. 虚拟性
8.在下面的一维数组定义中,没有语法错误的是(    )。          (满分:2)
    A. inta[ ]={1
    2
    3}
    B. inta={0}
    C. inta[ ]
    D. inta
9.考虑函数原型void test(int a ,int b=7,char z=’*’),下面的函数调用中,属于合法调用的是(    )。          (满分:2)
    A. test(5)
    B. test(5
    8)
    C. test(6
    ’#’)
    D. test(0
    0
    ’*’)
10.关于异常和C++提供的异常处理机制正确的说法是(    )。          (满分:2)
    A. 若程序员预见到程序中的异常,则一定可以通过修改程序代码来避免异常出现
    B. 使用dynamiccast操作符可能会产生异常
    C. 异常可以用catch进行捕获处理
    D. 异常可以是对象,也可以是普通整数

页: [1]
查看完整版本: 福师15秋《C++语言程序设计》在线作业答案