张老师 发表于 2017-4-23 09:56:33

福师17春《C++语言程序设计》在线作业一二答案

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

一、单选题:
1.下列函数中,可以是虚函数的是(    )。(    )          (满分:2)
    A. 自定义的构造函数
    B. 拷贝构造函数
    C. 静态成员函数
    D. 析构函数
2.考虑函数原型voidtest(inta,intb=7,char="*"),下面的函数调用中,属于不合法调用的是(    )。          (满分:2)
    A. test(5);
    B. test(5
    8);
    C. test(6
    "#")
    D. test(0
    0
    "*")
3.假定a为一个整型数组名,则元素a的字节地址为(    )。          (满分:2)
    A. a+4
    B. a+8
    C. a+16
    D. a+32
4.决定C++语言中函数的返回值类型的是(    )。          (满分:2)
    A. return语句中的表达式类型
    B. 调用该函数时系统随机产生的类型
    C. 调用该函数时的主调用函数类型
    D. 在定义该函数时所指定的数据类型
5.(    )的功能是对对象进行初始化。          (满分:2)
    A. 析构函数
    B. 数据成员
    C. 构造函数
    D. 静态成员函数
6.设a=1,b=2,则(a++)+b与a+++b这两个表达式的值分别为(    )。          (满分:2)
    A. 3
    3
    B. 3
    4
    C. 4
    3
    D. 4
    4
7.整型变量i定义后赋初值的结果是(    )。inti=2.8*6;          (满分:2)
    A. 12
    B. 16
    C. 17
    D. 18
8.能做为C++程序基本单位的是(    )          (满分:2)
    A. 字符;
    B. 语句;
    C. 函数;
    D. 源文件;
9.下面有关重载函数的说法中正确的是(    )。          (满分:2)
    A. 重载函数必须具有不同的返回值类型;
    B. 重载函数形参个数必须不同;
    C. 重载函数必须有不同的形参列表
    D. 重载函数名可以不同
10.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是(    )(    )。          (满分:2)
    A. 公有类型
    B. 私有类型
    C. 保护类型
    D. 友元类型
11.下列程序的运行结果是(    )(    )。#include  class example  {   int a:  public:  example(int b){a=n++;}  void print(    ){a=a+1;cout   void print(    )const{cout  void main(    )  {  example x t(3);  const example y(2);  x.print(    );  y.print(    ); }          (满分:2)
    A. 2 2
    B. 4 3
    C. 4 2
    D. 3
12.类的析构函数的作用是(    )。          (满分:2)
    A. 一般成员函数的初始化
    B. 类的初始化
    C. 对象的初始化
    D. 删除类创建的对象
13.如果a=1,b=2,c=3,d=4,则条件表达式“a>b?a:c<d?c:d ” 的值为(    )          (满分:2)
    A. 2
    B. 3
    C. 1
    D. 4
14.对类的构造函数和析构函数描述正确的是(    )。          (满分:2)
    A. 构造函数可以重载,析构函数不能重载
    B. 构造函数不能重载,析构函数可以重载
    C. 构造函数可以重载,析构函数也可以重载
    D. 构造函数不能重载,析构函数也不能重载
15.表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是(    )。          (满分:2)
    A. showbase(    )和eof(    )
    B. showpoint(    )和eof(    )
    C. showpoint(    )和bad(    )
    D. showpoint(    )和good(    )
16.下列哪个是C++语言的有效标识符?          (满分:2)
    A. No1
    B. No.1
    C. 12345
    D. int
17.下列do-while循环的循环次数是: 已知:int i=5 do{ cout<<i--<<endl  i-- }while(i!=0)          (满分:2)
    A. 0
    B. 2
    C. 5
    D. 无限次
18.下面有关重载函数的说法中正确的是(    )          (满分:2)
    A. 重载函数必须具有不同的返回值类型
    B. 重载函数形参个数必须不同
    C. 重载函数必须有不同的形参列表
    D. 重载函数名可以不同
19.下列程序段循环次数是(    )。intx=-10; while(++x) cout          (满分:2)
    A. 9
    B. 10
    C. 11
    D. 无限
20.下面关于数组的描述错误的是(    )。          (满分:2)
    A. 在C++语言中数组的名字就是指向该数组第一个元素的指针
    B. 长度为n的数组,下标的范围是0-n-1
    C. 数组的大小必须在编译时确定
    D. 数组只能通过值参数和引用参数两种方式传递给函数
二、多选题:
1.C++语言中规定函数的返回值的类型是由return语句中的表达式类型所决定。          (满分:2)
    A. 错误
    B. 正确
2.变量必须先定义,后使用。          (满分:2)
    A. 错误
    B. 正确
3.私有成员只能被本类的成员函数访问,来自类外部的任何访问都是非法的。(    )          (满分:2)
    A. 错误
    B. 正确
4.类是一种类型,它封装了数据和操作。          (满分:2)
    A. 错误
    B. 正确
5.C++语言中,标识符不区分大小写。(    )          (满分:2)
    A. 错误
    B. 正确
6.派生类的成员一般分为两部分,一部分是从基类继承的成员,另一部分是自己定义的新成员。          (满分:2)
    A. 错误
    B. 正确
7.作为语句的函数调用是通过函数的副作用来体现的。          (满分:2)
    A. 错误
    B. 正确
8.左值是能出现在赋值表达式左边的表达式。(    )          (满分: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.声明一个结构并不分配内存,内存分配发生在定义这个新数据类型的变量中。(    )          (满分:2)
    A. 错误
    B. 正确
14.switch后面括号中的表达式只能是整型、字符型或枚举型表达式。(    )          (满分:2)
    A. 错误
    B. 正确
15.系统可以提供默认的析构函数。          (满分:2)
    A. 错误
    B. 正确
16.在基类中被说明为虚函数的类的成员函数必须在每个派生类中说明为虚函数,才能具有多态的特征。          (满分:2)
    A. 错误
    B. 正确
17.指向同一数组的两指针p1、p2相减的结果与所指元素的下标相减的结果是相同的。(    )          (满分:2)
    A. 错误
    B. 正确
18.在面向对象的程序设计中,类描述的是具有相似性质的一组对象。          (满分:2)
    A. 错误
    B. 正确
19.若在类Base和派生类Derived中,分别声明一个同名的整型成员变量int x;,那么通过Derived类的实例对象,不可能输出基类Base中的变量x的值。          (满分:2)
    A. 错误
    B. 正确
20.设置函数的参数默认值的顺序是自左向右。          (满分:2)
    A. 错误
    B. 正确
1.在进行完成任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中不能用于检测输入流状态的操作函数名称是(    )。          (满分:2)
    A. fail
    B. eof
    C. bad
    D. good
2.下列哪些是类的特性(    )。          (满分:2)
    A. 多态性
    B. 继承性
    C. 封装性
    D. 虚拟性
3.以下不正确的描述是(    )。          (满分:2)
    A. 函数的定义可以嵌套,函数的调用不可以嵌套
    B. 函数的定义不可以嵌套,函数的调用可以嵌套
    C. 函数的定义和函数的调用均可以嵌套
    D. 函数的定义和函数的调用均不可以嵌套
4.以下关于函数模板叙述错误的是(    )。          (满分:2)
    A. 函数模板也是一个具体类型的函数
    B. 函数模板的类型参数与函数的参数是同一个概念
    C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数
    D. 用函数模板定义的函数没有类型
5.下面描述中,表达正确的是(    )。          (满分:2)
    A. 公有继承时基类中的public成员在派生类中仍是public的
    B. 公有继承时基类中的private成员在派生类中是public的
    C. 公有继承时基类中的protected成员在派生类中仍是protected的
    D. 私有继承时基类中的public成员在派生类中是private的
6.对C++语言和C语言的兼容性,描述不正确的是(    )。          (满分:2)
    A. C++兼容C
    B. C++部分兼容C
    C. C++不兼容C
    D. C兼容C++
7.C++语言的跳转语句中,对于break和continue说法不正确的是(    )。          (满分:2)
    A. break语句只应用于循环体中
    B. continue语句只应用于循环体中
    C. break是无条件跳转语句,continue不是
    D. break和continue的跳转范围不够明确,容易产生问题
8.下列说法中错误的是(    )。          (满分:2)
    A. 不允许设置参数的默认值
    B. 设置参数的默认值只能在定义函数时设置
    C. 设置参数的默认值时,应该设置右边的参数
    D. 设置参数的默认值时,应该全部参数都设置
9.关于函数重载,下列描述错误的是(    )。          (满分:2)
    A. 函数重载是指两个或两个以上的函数取相同的函数名,但形参的个数或类型不同
    B. 函数重载是指两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同
    C. 函数重载是指两个以上的函数名字不同,但形参的个数或类型相同
    D. 函数重载是指两个以上的函数取相同的函数名,并且函数的返回类型相同
10.下列说法中错误的是(    )。          (满分:2)
    A. C++程序总是从第一个定义的函数开始执行
    B. C++程序总是从main函数开始执行
    C. C++函数必须有返回值,否则不能使用函数
    D. C++程序中有调用关系的所有函数必须放在同一个程序文件中

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

一、单选题:
1.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是(    )(    )。          (满分:2)
    A. 公有类型
    B. 私有类型
    C. 保护类型
    D. 友元类型
2.下列程序的输出结果为(    )。#include void main(    ) {char,a[]={”hello",”the",”world”}; char**pa=a:pa++;cout<<*pa<<endl;          (满分:2)
    A. hello
    B. the
    C. world
    D. hellotheworld
3.表达式9!=10的值为(    )          (满分:2)
    A. 非零值
    B. true
    C. 0
    D. 1
4.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为(    )(    )(    )。          (满分:2)
    A. main
    B. MAIN
    C. name
    D. function
5.下列哪项不是面向对象程序设计的主要特征(    )          (满分:2)
    A. 封装
    B. 继承
    C. 多态
    D. 结构
6.若已定义:inta[]={0,1,2,3,4,5,6,7,8,9},*P=a,i;其中O≤i≤9,则对a数组元素不正确的引用是(    )。          (满分:2)
    A. a
    B. *(&a)
    C. p
    D. a
7.循环体至少被执行一次的语句为(    )          (满分:2)
    A. for循环
    B. while循环
    C. do循环
    D. 任一种循环
8.函数定义为Fun(int&k),变量定义n=100,则下面调用正确的是(    )。          (满分:2)
    A. Fun(20)
    B. Fun(20+n)
    C. Fun(n)
    D. Fun(&n)
9.设int a=10,b=11,c=12;,表达式(a+b)(    )(    )。          (满分:2)
    A. 2
    B. 0
    C. -2
    D. 1
10.以下哪个不是循环语句(    )          (满分:2)
    A. while语句
    B. do-while语句
    C. for语句
    D. if-else语句
11.下列的各函数中, 不是类的成员函数的是(    )          (满分:2)
    A. 构造函数
    B. 析构函数
    C. 友元函数
    D. 复制构造函数
12.程序设计语言的基本成分是数据成分、运算成分、控制成分和(    )。          (满分:2)
    A. 对象成分
    B. 变量成分
    C. 语句成份
    D. 传输成分
13.如果变量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
14.以下各选项组中,均是C++语言关键字的组是(    )。          (满分:2)
    A. publicoperatorthis
    B. shodstringstatic
    C. itwhile>=
    D. privatecoutprintf
15.下列关于模板的说法正确的是(    )。          (满分:2)
    A. 模板的实参在任何时候都可以省略
    B. 类模板与模板类所指的是同一概念
    C. 类模板的参数必须是虚拟类型的
    D. 类模板中的成员函数全部都是模板函数
16.下列程序的输出结果是(    )(    )。#include int min(int a,int B) { if(a else return B; return 0; } void main(    ) { cout          (满分:2)
    A. 0
    B. 1
    C. 2
    D. 3
17.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是(    )。          (满分:2)
    A. 公有类型
    B. 私有类型
    C. 保护类型
    D. 友元类型
18.如有int a=11;则表达式(a++*1/3)的值是(    )          (满分:2)
    A. 0
    B. 3
    C. 4
    D. 12
19.下列函数中,可以是虚函数的是(    )。(    )          (满分:2)
    A. 自定义的构造函数
    B. 拷贝构造函数
    C. 静态成员函数
    D. 析构函数
20.设B类是由A类继承的。当创建一个B类的对象时,构造函数的调用顺序是(    )          (满分:2)
    A. 先调用A类的构造函数,然后调用B类的构造函数
    B. 先调用B类的构造函数,然后调用A类的构造函数
    C. 不调用A类的构造函数
    D. 视定义时A类和B类出现的位置
二、多选题:
1.NULL与void *是不同的概念,NULL是一个指针值,任何类型的指针都可赋予该值。而void *是一种类型,是一种无任何类型的指针。(    )          (满分:2)
    A. 错误
    B. 正确
2.C++目标程序经连接后生成扩展名为exe的可执行程序文件。          (满分:2)
    A. 错误
    B. 正确
3.内联函数不能是虚函数,因为内联函数是不能在运行中动态确定其位置的。          (满分:2)
    A. 错误
    B. 正确
4.float和double类型的大小分别为4和8。          (满分:2)
    A. 错误
    B. 正确
5.设置函数的参数默认值的顺序是自左向右。          (满分:2)
    A. 错误
    B. 正确
6.内联函数是为了提高编程效率而实现的,它克服了用#define宏定义所带来的弊病 。(    )          (满分:2)
    A. 错误
    B. 正确
7.通过使用不同的类型参数,函数模板可以生成不同类型的函数(    )          (满分:2)
    A. 错误
    B. 正确
8.系统可以提供默认的析构函数。(    )          (满分:2)
    A. 错误
    B. 正确
9.程序设计的目标在正确的前提下,其重要性排列次序依次为:可读,可维护,可移植和高效(    )          (满分:2)
    A. 错误
    B. 正确
10.变量分为全局和局部两种,局部变量没有赋初值时,其值是确定的。          (满分:2)
    A. 错误
    B. 正确
三、判断题:
11.构造函数不能重载。          (满分:2)
    A. 错误
    B. 正确
12.NULL是空指针值,它不指向任何地方。(    )          (满分:2)
    A. 错误
    B. 正确
13.作为语句的函数调用是通过函数的副作用来体现的。          (满分:2)
    A. 错误
    B. 正确
14.类模板的使用实际士:是将类模板实例化成一个具体的类。          (满分:2)
    A. 错误
    B. 正确
15.C++语言中,标识符不区分大小写。(    )          (满分:2)
    A. 错误
    B. 正确
16.用new动态申请的内存是在堆中分配的,而不是在栈中分配的。          (满分:2)
    A. 错误
    B. 正确
17.typedef没有实际地定义一个新的数据类型,在建立一个tepedef类型时没有分配内存空间(    )          (满分:2)
    A. 错误
    B. 正确
18.说明函数原型时不需要指明每个函数参数的名字,只需要说明每个参数的类型和返回值类型就可以了。          (满分:2)
    A. 错误
    B. 正确
19.下面两个语句是等价的:charstr[]='hello,world';charstr='hello,world';          (满分:2)
    A. 错误
    B. 正确
20.空类型指针不能进行指针运算,也不能进行间接引用。(    )          (满分:2)
    A. 错误
    B. 正确
1.下面哪些保留字可以作为函数的返回类型(    )。          (满分:2)
    A. void
    B. int
    C. new
    D. long
2.以下关于函数模板叙述错误的是(    )。          (满分:2)
    A. 函数模板也是一个具体类型的函数
    B. 函数模板的类型参数与函数的参数是同一个概念
    C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数
    D. 用函数模板定义的函数没有类型
3.下列哪种函数不可以是虚的(    )。          (满分:2)
    A. 自定义的构造函数
    B. 拷贝构造函数
    C. 静态成员函数
    D. 析构函数
4.下列哪些是类的特性(    )。          (满分:2)
    A. 多态性
    B. 继承性
    C. 封装性
    D. 虚拟性
5.下面关于指针变量和引用变量的说法正确的是(    )。          (满分:2)
    A. 指针变量存放的是内存地址,并且可以置为0
    B. 定义引用变量时,必须同时指明具体被引用的对象或变量
    C. 使用取地址操作符,可以取得指针变量自身的地址,但取不到引用变量自身的地址
    D. 类中的数据成员可以是指针变量,但不能是引用变量
6.考虑函数原型void test(int a ,int b=7,char z=’*’),下面的函数调用中,属于合法调用的是(    )。          (满分:2)
    A. test(5)
    B. test(5
    8)
    C. test(6
    ’#’)
    D. test(0
    0
    ’*’)
7.下列说法中错误的是(    )。          (满分:2)
    A. 不允许设置参数的默认值
    B. 设置参数的默认值只能在定义函数时设置
    C. 设置参数的默认值时,应该设置右边的参数
    D. 设置参数的默认值时,应该全部参数都设置
8.关于异常和C++提供的异常处理机制正确的说法是(    )。          (满分:2)
    A. 若程序员预见到程序中的异常,则一定可以通过修改程序代码来避免异常出现
    B. 使用dynamiccast操作符可能会产生异常
    C. 异常可以用catch进行捕获处理
    D. 异常可以是对象,也可以是普通整数
9.下列说法中错误的是(    )。          (满分:2)
    A. C++程序总是从第一个定义的函数开始执行
    B. C++程序总是从main函数开始执行
    C. C++函数必须有返回值,否则不能使用函数
    D. C++程序中有调用关系的所有函数必须放在同一个程序文件中
10.关于函数重载,下列描述错误的是(    )。          (满分:2)
    A. 函数重载是指两个或两个以上的函数取相同的函数名,但形参的个数或类型不同
    B. 函数重载是指两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同
    C. 函数重载是指两个以上的函数名字不同,但形参的个数或类型相同
    D. 函数重载是指两个以上的函数取相同的函数名,并且函数的返回类型相同

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