福师15春《C++语言程序设计》在线作业答案
福师15春《C++语言程序设计》在线作业一试卷总分:100 测试时间:--
一、单选题(共20道试题,共40分。)
1.下面对静态数据成员的描述中,正确的是()。
A. 静态数据成员可以在类体内进行初始化
B. 静态数据成员不可以被类的对象调用
C. 静态数据成员不能受private控制符的作用
D. 静态数据成员可以直接用类名调用
满分:2分
2.下列关于虚基类的描述,错误的是_________。
A. 设置虚基类的目的是为了消除二义性
B. 虚基类的构造函数在非虚基类之后调用
C. 若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用
D. 若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数
满分:2分
3.下列表达式的值为false的是()。
A. 1<3&&5<7
B. !(2>4)
C. 3&0&&1
D. !(5<8)||(2<8)
满分:2分
4.析构函数在什么时间开始调用。( )
A. 类创建
B. 创建对象
C. 引用对象
D. 释放对象
满分:2分
5.下列对基类和派生类关系的描述中,错误的是( )
A. 派生类是基类的具体化
B. 派生类是基类的子集
C. 派生类是基类定义的延续
D. 派生类是基类的组合
满分:2分
6.
下列程序的输出结果是_________。
#include
int min(int a,int B)
{
if(a else return B;
return 0;
}
void main()
{
cout< }
A. 0
B. 1
C. 2
D. 3
满分:2分
7.
在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函
数是_________。
A. 友元函数
B. 虚函数
C. 构造函数
D. 析构函数
满分:2分
8.要声明一个有10个int型元素的数组,正确的语句是()。
A. int a;
B. int a;
C. int a[];
D. int *a;
满分:2分
9.下列关于构造函数说法不正确的是( )
A. 构造函数必须与类同名
B. 在构造函数中可以对类中的成员进行初始化
C. 构造函数可以省略不写
D. 构造函数必须有返回值
满分:2分
10.
下列程序段循环次数是()。intx=-10; while(++x) cout<<x<<endl;
A. 9
B. 10
C. 11
D. 无限
满分:2分
11.在C++语言中表示一条语句结束的标号是()。
A. :
B. ;
C. //
D. }
满分:2分
12.定义inta,*p=a;,则对a数组的正确引用为()。
A. *(p+5)
B. *p+2
C. *(a+2)
D. *&a
满分:2分
13.如要求在if后一对括号中的表达式,表示a不等于0的时候的值为"真",则能正确表示这一关系的表达式为( )
A. a<>0
B. !a
C. a=0
D. a
满分:2分
14.下列描述正确的是_________。
A. 表示m>n为true或mn&&m
B. switch语句结构中必须有default语句
C. if语句结构中必须有else语句
D. 如果至少有一个操作数为true,则包含“‖”运算符的表达式为true
满分:2分
15.设有定义intx;floatv;,则10+x+v值的数据类型是()。
A. int
B. double
C. float
D. 不确定
满分:2分
16.假定AB为一个类,则执行“ABa(4),b,*p;”语句时,自动调用该类构造函数的次数为()。
A. 3
B. 4
C. 6
D. 9
满分:2分
17.字符型数据在内存中的存储形式是:
A. 原码
B. 补码
C. 反码
D. ASCII码
满分:2分
18.设int f(int);和int g(int);是函数f和g的原形,以下将f作为语句调用的是( )。
A. g(f(3));
B. f(g(3));
C. g(f(3)+2);
D. p= f(g(3)+1);
满分:2分
19.虚函数使用关键字______。( )
A. virtual
B. static
C. public
D. private
满分:2分
20.在位运算中,操作数每右移一位,其结果相当于()。
A. 操作数乘以2
B. 操作数除以2
C. 操作数乘以4
D. 操作数除以4
满分:2分
二、判断题(共20道试题,共40分。)
1.静态就是让变量和函数在生命的区域内成为私有。( )
A. 错误
B. 正确
满分:2分
2.运算符重载不能改变原运算符的语义。
A. 错误
B. 正确
满分:2分
3.作为语句的函数调用是通过函数的副作用来体现的。
A. 错误
B. 正确
满分:2分
4.对一个类中的数据成员的初始化可以通过构造函数中的初始化表实现,也可以通过构造函数中的函数体实现。
A. 错误
B. 正确
满分:2分
5.字符串’hello,world”在内存中存放时,占用11个字节的空间。
A. 错误
B. 正确
满分:2分
6.函数体内声明的静态变量,至多只会被初始化一次。
A. 错误
B. 正确
满分:2分
7.在使用C语言库函数时,要用预编译命令“#include”将有关的头文件包括到用户源文件中。( )
A. 错误
B. 正确
满分:2分
8.析构函数必须由用户定义。
A. 错误
B. 正确
满分:2分
9.达式operator+(x,y)还可以表示为x+y。
A. 错误
B. 正确
满分:2分
10.变量必须先定义,后使用。
A. 错误
B. 正确
满分:2分
11.Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向数据结构的设计方法。
A. 错误
B. 正确
满分:2分
12.常对象必须进行初始化,而且不能被更新( )
A. 错误
B. 正确
满分:2分
13.表达式8&3的结果是1。
A. 错误
B. 正确
满分:2分
14.在基类中被说明为虚函数的类的成员函数必须在每个派生类中说明为虚函数,才能具有多态的特征。
A. 错误
B. 正确
满分:2分
15.在内存中,字符数据以ASCII码存储,即以整数表示。( )
A. 错误
B. 正确
满分:2分
16.关系表达式x+y>5的相反表达式为x+y<=5。
A. 错误
B. 正确
满分:2分
17.在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元。( )
A. 错误
B. 正确
满分:2分
18.类是一种类型,它封装了数据和操作。
A. 错误
B. 正确
满分:2分
19.常量不能作为左值使用。
A. 错误
B. 正确
满分:2分
20.以面向IA-32处理器的VC++ 2008和gcc 4.2为准,float类型数据在内存中占4个字节,double型数据占8个字节,long double型数据占8个字节。( )
A. 错误
B. 正确
满分:2分
三、多选题(共10道试题,共20分。)
1.下面描述中,表达正确的是______。
A. 公有继承时基类中的public成员在派生类中仍是public的
B. 公有继承时基类中的private成员在派生类中是public的
C. 公有继承时基类中的protected成员在派生类中仍是protected的
D. 私有继承时基类中的public成员在派生类中是private的
满分:2分
2.下面哪些保留字可以作为函数的返回类型______。
A. void
B. int
C. new
D. long
满分:2分
3.下列说法中正确的是______。
A. 在一个函数中,可以有多条return语句
B. 函数的定义不能嵌套,但函数的调用可以嵌套
C. 函数必须有返回值
D. 即使在不同的函数中,也不可以使用相同名字的变量
满分:2分
4.考虑函数原型void test(int a ,int b=7,char z=’*’),下面的函数调用中,属于合法调用的是______。
A. test(5)
B. test(5,8)
C. test(6,’#’)
D. test(0,0,’*’)
满分:2分
5.以下不正确的描述是______。
A. 函数的定义可以嵌套,函数的调用不可以嵌套
B. 函数的定义不可以嵌套,函数的调用可以嵌套
C. 函数的定义和函数的调用均可以嵌套
D. 函数的定义和函数的调用均不可以嵌套
满分:2分
6.下列说法中错误的是______。
A. C++程序总是从第一个定义的函数开始执行
B. C++程序总是从main函数开始执行
C. C++函数必须有返回值,否则不能使用函数
D. C++程序中有调用关系的所有函数必须放在同一个程序文件中
满分:2分
7.关于函数重载,下列描述错误的是______。
A. 函数重载是指两个或两个以上的函数取相同的函数名,但形参的个数或类型不同
B. 函数重载是指两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同
C. 函数重载是指两个以上的函数名字不同,但形参的个数或类型相同
D. 函数重载是指两个以上的函数取相同的函数名,并且函数的返回类型相同
满分:2分
8.下面关于指针变量和引用变量的说法正确的是______。
A. 指针变量存放的是内存地址,并且可以置为0
B. 定义引用变量时,必须同时指明具体被引用的对象或变量
C. 使用取地址操作符,可以取得指针变量自身的地址,但取不到引用变量自身的地址
D. 类中的数据成员可以是指针变量,但不能是引用变量
满分:2分
9.关于异常和C++提供的异常处理机制正确的说法是______。
A. 若程序员预见到程序中的异常,则一定可以通过修改程序代码来避免异常出现
B. 使用dynamic_cast操作符可能会产生异常
C. 异常可以用catch进行捕获处理
D. 异常可以是对象,也可以是普通整数
满分:2分
10.在下面的一维数组定义中,没有语法错误的是______。
A. int a[ ]={1,2,3}
B. int a={0}
C. int a[ ]
D. int a
满分:2分福师《C++语言程序设计》在线作业二
试卷总分:100 测试时间:--
一、单选题(共20道试题,共40分。)
1.下面关于数组的描述错误的是_________。
A. 在C++语言中数组的名字就是指向该数组第一个元素的指针
B. 长度为n的数组,下标的范围是0-n-1
C. 数组的大小必须在编译时确定
D. 数组只能通过值参数和引用参数两种方式传递给函数
满分:2分
2.下列选项,不正确的是_________。
A. for(int a=1;a<=10;a++);
B. int a=1;
do
{
a++;
}while(a<=10)
C. int a=1:
while(a<=10)
{
a++;
}
D. for(int a=1;a<=10;a++)a++;
满分:2分
3.下面对于友元函数描述正确的是()。
A. 友元函数的实现必须在类的内部定义
B. 友元函数是类的成员函数
C. 友元函数破坏了类的封装性和隐藏性
D. 友元函数不能访问类的私有成员
满分:2分
4.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为()。
A. main
B. MAIN
C. name
D. function
满分:2分
5.在C++语言中,二维数组元素在内存中的存放顺序是( )
A. 按行存放
B. 按列存放
C. 由用户自己定义
D. 由编译器决定
满分:2分
6.结构化程序设计的一种基本方法是()。
A. 筛选法
B. 递归法
C. 归纳法
D. 逐步求精法
满分:2分
7.在C++语言中表示一条语句结束的标号是()。
A. :
B. ;
C. //
D. }
满分:2分
8.程序设计语言的基本成分是数据成分、运算成分、控制成分和()。
A. 对象成分
B. 变量成分
C. 语句成份
D. 传输成分
满分:2分
9.要声明一个有10个int型元素的数组,正确的语句是( )
A. int a;
B. int a;
C. int a[];
D. int *a;
满分:2分
10.设int * p2=&x,* p1=a;p2= *b;则a和b的类型分别是( )。
A. int * 和int
B. int * 和int **
C. int 和int *
D. int * 和int *
满分:2分
11.下面的哪个保留字不能作为函数的返回类型()。
A. void
B. int
C. new
D. long
满分:2分
12.如有int a=11;则表达式(a++*1/3)的值是()
A. 0
B. 3
C. 4
D. 12
满分:2分
13.决定C++语言中函数的返回值类型的是()。
A. return语句中的表达式类型
B. 调用该函数时系统随机产生的类型
C. 调用该函数时的主调用函数类型
D. 在定义该函数时所指定的数据类型
满分:2分
14.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是()。
A. 友元函数
B. 虚函数
C. 构造函数
D. 析构函数
满分:2分
15.下面关于数组的初始化正确的是()。
A. charstr[]={‘a',’b','c‘}
B. charstr={'a','b','c’}
C. charstr={{'a‘,'b’},{’e’,'d’},{’e’,‘f'}}
D. charstr[]={'a','b','c’}
满分:2分
16.在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是_________。
A. 派生类的对象可以赋给基类的对象
B. 派生类的对象可以初始化基类的引用
C. 派生类的对象可以直接访问基类中的成员
D. 派生类的对象的地址可以赋给指向基类的指针
满分:2分
17.下列运算符中,在C++语言中不能重载的是()。
A. *
B. >=
C. ::
D. /
满分:2分
18.类模板的使用实际上是将类模板实例化成一个具体的()。
A. 类
B. 对象
C. 函数
D. 模板类
满分:2分
19.
设inta=10,b=11,c=12;表达式(a<c&&b==c)的值是__。
A. 2
B. 0
C. –2
D. 1
满分:2分
20.下列关于构造函数说法不正确的是()。
A. 构造函数必须与类同名
B. 构造函数可以省略不写
C. 构造函数必须有返回值
D. 在构造函数中可以对类中的成员进行初始化
满分:2分
二、判断题(共20道试题,共40分。)
1.头文件中一般存放着变量和常量的定义、函数的原型以及类的定义。
A. 错误
B. 正确
满分:2分
2.对一个类中的数据成员的初始化可以通过构造函数中的初始化表实现,也可以通过构造函数中的函数体实现。
A. 错误
B. 正确
满分:2分
3.定义全局变量要在程序开始时进行,并且放在所有函数的外面,静态局部变量要在函数内部定义,但生命期却随函数的第一次被调用而产生。( )
A. 错误
B. 正确
满分:2分
4.运算符重载不能改变原运算符的语义。
A. 错误
B. 正确
满分:2分
5.设一维整型数组data已进行了初始化,则其元素个数可由操作符sizeof通过表达式sizeof(data/data)计算出来。
A. 错误
B. 正确
满分:2分
6.用new动态申请的内存是在堆中分配的,而不是在栈中分配的。
A. 错误
B. 正确
满分:2分
7.内联函数不能是虚函数,因为内联函数是不能在运行中动态确定其位置的。
A. 错误
B. 正确
满分:2分
8.在使用C语言库函数时,要用预编译命令“#include”将有关的头文件包括到用户源文件中。( )
A. 错误
B. 正确
满分:2分
9.对于全局函数int f(void),与其完全等价的函数原型为const int f( )。
A. 错误
B. 正确
满分:2分
10.NULL与void *是不同的概念,NULL是一个指针值,任何类型的指针都可赋予该值。而void *是一种类型,是一种无任何类型的指针。( )
A. 错误
B. 正确
满分:2分
11.左值是能出现在赋值表达式左边的表达式。( )
A. 错误
B. 正确
满分:2分
12.在内存中,字符数据以ASCII码存储,即以整数表示。( )
A. 错误
B. 正确
满分:2分
13.字符型数据在内存中的存储形式是ASCII码( )
A. 错误
B. 正确
满分:2分
14.在内存中,字符数据以ASCII码存储,即以整数表示。( )
A. 错误
B. 正确
满分:2分
15.typedef没有实际地定义一个新的数据类型,在建立一个tepedef类型时没有分配内存空间( )
A. 错误
B. 正确
满分:2分
16.私有成员只能被本类的成员函数访问,来自类外部的任何访问都是非法的。( )
A. 错误
B. 正确
满分:2分
17.若一全局变量只允许本程序文件中的函数使用,则定义它时应加上修饰符 void。
A. 错误
B. 正确
满分:2分
18.用new动态申请的内存空间,必须用delete来释放。
A. 错误
B. 正确
满分:2分
19.C++程序的开发步骤通常要经过编辑、编译、连接、运行调试这样几个步骤。( )
A. 错误
B. 正确
满分:2分
20.派生类的成员一般分为两部分,一部分是从基类继承的成员,另一部分是自己定义的新成员。
A. 错误
B. 正确
满分:2分
三、多选题(共10道试题,共20分。)
1.下列说法中正确的是______。
A. 在一个函数中,可以有多条return语句
B. 函数的定义不能嵌套,但函数的调用可以嵌套
C. 函数必须有返回值
D. 即使在不同的函数中,也不可以使用相同名字的变量
满分:2分
2.下列关于构造函数的描述中,正确的是______。
A. 构造函数可以设置默认参数
B. 构造函数在定义类对象时自动执行
C. 构造函数可以是内联函数
D. 构造函数不可以重载
满分:2分
3.函数调用可以______。
A. 出现在一个表达式中
B. 出现在执行语句中
C. 作为一个函数的实参
D. 作为一个函数的形参
满分:2分
4.下列哪些是类的特性______。
A. 多态性
B. 继承性
C. 封装性
D. 虚拟性
满分:2分
5.下面描述中,表达正确的是______。
A. 公有继承时基类中的public成员在派生类中仍是public的
B. 公有继承时基类中的private成员在派生类中是public的
C. 公有继承时基类中的protected成员在派生类中仍是protected的
D. 私有继承时基类中的public成员在派生类中是private的
满分:2分
6.以下不正确的描述是______。
A. 函数的定义可以嵌套,函数的调用不可以嵌套
B. 函数的定义不可以嵌套,函数的调用可以嵌套
C. 函数的定义和函数的调用均可以嵌套
D. 函数的定义和函数的调用均不可以嵌套
满分:2分
7.以下关于函数模板叙述错误的是______。
A. 函数模板也是一个具体类型的函数
B. 函数模板的类型参数与函数的参数是同一个概念
C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数
D. 用函数模板定义的函数没有类型
满分:2分
8.关于函数重载,下列描述错误的是______。
A. 函数重载是指两个或两个以上的函数取相同的函数名,但形参的个数或类型不同
B. 函数重载是指两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同
C. 函数重载是指两个以上的函数名字不同,但形参的个数或类型相同
D. 函数重载是指两个以上的函数取相同的函数名,并且函数的返回类型相同
满分:2分
9.下面关于指针变量和引用变量的说法正确的是______。
A. 指针变量存放的是内存地址,并且可以置为0
B. 定义引用变量时,必须同时指明具体被引用的对象或变量
C. 使用取地址操作符,可以取得指针变量自身的地址,但取不到引用变量自身的地址
D. 类中的数据成员可以是指针变量,但不能是引用变量
满分:2分
10.下列说法中错误的是______。
A. 不允许设置参数的默认值
B. 设置参数的默认值只能在定义函数时设置
C. 设置参数的默认值时,应该设置右边的参数
D. 设置参数的默认值时,应该全部参数都设置
满分:2分
页:
[1]