福师14春《C++语言程序设计》在线作业答案
福师14春《C++语言程序设计》在线作业一试卷总分:100 测试时间:--
一、单选题(共20道试题,共40分。)
1.以下各选项企图说明一种新的类型名,其中正确的是( )
A. typedef v1 int;
B. typedef v2=int;
C. typedef int v3;
D. typedef v4: int;
满分:2分
2.执行C++程序时出现的“溢出”错误属于______错误。( )
A. 连接
B. 运行
C. 逻辑
D. 编译
满分:2分
3.函数说明时,下列()项是不必要的。
A. 函数类型
B. 函数参数类型和名字
C. 函数名字
D. 返回值表达式
满分:2分
4.下列运算符中,在C++语言中不能重载的是()。
A. *
B. >=
C. ::
D. /
满分:2分
5.在一个源文件中定义的全局变量的作用域为()。
A. 本程序的全部范围
B. 本函数的全部范围
C. 从定义该变量的位置开始到本文件结束
D. 以上说法都不正确
满分:2分
6.下列关于构造函数说法不正确的是()。
A. 构造函数必须与类同名
B. 构造函数可以省略不写
C. 构造函数必须有返回值
D. 在构造函数中可以对类中的成员进行初始化
满分:2分
7.假定AB为一个类,则执行“ABa(4),b,*p;”语句时,自动调用该类构造函数的次数为()。
A. 3
B. 4
C. 6
D. 9
满分:2分
8.析构函数在什么时间开始调用。( )
A. 类创建
B. 创建对象
C. 引用对象
D. 释放对象
满分:2分
9.下面不能正确表示a*b/(c*d)的表达式是
A. (a*b)/c*d
B. a*b/(c*d)
C. a/c/d*b
D. a*b/c/d
满分:2分
10.
下列程序的输出结果为_________。
#include
void main()
{
char,a[]={”hello",”the",”world”};
char**pa=a:
pa++;
cout<<*pa< }
A. hello
B. the
C. world
D. hellotheworld
满分:2分
11.整型变量i定义后赋初值的结果是()。 inti=2.8*6;
A. 12
B. 16
C. 17
D. 18
满分:2分
12.下列选项,不正确的是_________。
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分
13.如果变量x,y已经正确定义,下列语句哪一项不能正确将x,y的值进行交换
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
满分:2分
14.下列对引用的陈述中,不正确的是( )
A. 每一个引用都是其所引用对象的别名,因此必须初始化
B. 形式上针对引用的操作实际上作用于它所引用的对象
C. 一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行
D. 不需要单独为引用分配存储空间
满分:2分
15.C++程序的执行总是从哪里开始的?
A. main函数
B. 第一行
C. 头文件
D. 函数注释
满分:2分
16.静态成员函数仅能访问()
A. 静态的数据成员
B. 非静态的成员函数
C. 非静态的数据成员
D. 以上都不对
满分:2分
17.已知下列语句中的x和y都是int型变量,其中不正确的语句是( )
A. y+=++x;
B. ++x+=y;
C. y=x++;
D. x++=y;
满分:2分
18.下列关于虚基类的描述,错误的是_________。
A. 设置虚基类的目的是为了消除二义性
B. 虚基类的构造函数在非虚基类之后调用
C. 若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用
D. 若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数
满分:2分
19.下列函数中,可以为虚函数的是( )
A. 自定义的构造函数
B. 拷贝构造函数
C. 静态成员函数
D. 析构函数
满分: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.C++语句constchar*constp="hello",,所定义的指针p和它所指的内容都不能被改变。
A. 错误
B. 正确
满分:2分
6.C++语言中规定函数的返回值的类型是由return语句中的表达式类型所决定。
A. 错误
B. 正确
满分:2分
7.指针在使用前可以不进行初始化( )
A. 错误
B. 正确
满分:2分
8.若类A是类B的友员类,且类B是类C的友员类,那么类A也是类C的友员类。
A. 错误
B. 正确
满分:2分
9.达式operator+(x,y)还可以表示为x+y。
A. 错误
B. 正确
满分:2分
10.常对象必须进行初始化,而且不能被更新( )
A. 错误
B. 正确
满分:2分
11.如果类B继承了类A,则称类A为类B的基类,类B称为类A的派生类。
A. 错误
B. 正确
满分:2分
12.16位计算机中整型占4个字节存储空间。
A. 错误
B. 正确
满分:2分
13.要使引用pr代表变量char * p;,则pr应初始化为 char ** &pr=p;
A. 错误
B. 正确
满分:2分
14.函数体内声明的静态变量,至多只会被初始化一次。
A. 错误
B. 正确
满分:2分
15.内联函数不能是虚函数,因为内联函数是不能在运行中动态确定其位置的。
A. 错误
B. 正确
满分:2分
16.指针在使用前可以不进行初始化( )
A. 错误
B. 正确
满分:2分
17.类的静态数据成员需要在定义每个类的对象时进行初始化。
A. 错误
B. 正确
满分:2分
18.switch后面括号中的表达式只能是整型、字符型或枚举型表达式。( )
A. 错误
B. 正确
满分:2分
19.typedef定义一个新的数据类型,在建立一个tepedef类型时同时分配内存空间( )
A. 错误
B. 正确
满分:2分
20.C++中函数声明就是函数原型。( )
A. 错误
B. 正确
满分:2分
三、多选题(共10道试题,共20分。)
1.下面哪些保留字可以作为函数的返回类型______。
A. void
B. int
C. new
D. long
满分:2分
2.函数调用可以______。
A. 出现在一个表达式中
B. 出现在执行语句中
C. 作为一个函数的实参
D. 作为一个函数的形参
满分:2分
3.以下关于函数模板叙述错误的是______。
A. 函数模板也是一个具体类型的函数
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. int a[ ]={1,2,3}
B. int a={0}
C. int a[ ]
D. int a
满分:2分
7.关于异常和C++提供的异常处理机制正确的说法是______。
A. 若程序员预见到程序中的异常,则一定可以通过修改程序代码来避免异常出现
B. 使用dynamic_cast操作符可能会产生异常
C. 异常可以用catch进行捕获处理
D. 异常可以是对象,也可以是普通整数
满分:2分
8.以下不正确的描述是______。
A. 函数的定义可以嵌套,函数的调用不可以嵌套
B. 函数的定义不可以嵌套,函数的调用可以嵌套
C. 函数的定义和函数的调用均可以嵌套
D. 函数的定义和函数的调用均不可以嵌套
满分:2分
9.使用值传递方式将实参传给形参,下列说法不正确的是______。
A. 形参是实参的备份
B. 实参是形参的备份
C. 形参和实参是同一对象
D. 形参和实参无联系
满分:2分
10.C++语言的跳转语句中,对于break和continue说法不正确的是______。
A. break语句只应用于循环体中
B. continue语句只应用于循环体中
C. break是无条件跳转语句,continue不是
D. break和continue的跳转范围不够明确,容易产生问题
福师《C++语言程序设计》在线作业二
试卷总分:100 测试时间:--
一、单选题(共20道试题,共40分。)
1.在不考虑强制类型转换的情况下,关于类中常量成员函数的下列说法不正确的是________。
A. 常量成员函数中不能修改本类中的非静态数据成员。
B. 常量成员函数中可以调用本类中的任何静态成员函数。
C. 常量成员函数的返回值只能是void或常量。
D. 若常量成员函数中调用虚函数f,那么函数f在本类中也一定是一个常量成员函数。
满分:2分
2.以下叙述中正确的是()。
A. 构成C++语言程序的基本单位是类
B. 可以在一个函数中定义另一个函数
C. main()函数必须放在其他函数之前
D. 所有被调用的函数一定要在调用之前进行定义
满分:2分
3.以下各选项组中,均是C++语言关键字的组是()。
A. publicoperatorthis
B. shodstringstatic
C. itwhile>=
D. privatecoutprintf
满分:2分
4.C++语言的跳转语句中,对于break和continue说法正确的是()。
A. break语句只应用与循环体中
B. continue语句只应用与循环体中
C. break是无条件跳转语句,continue不是
D. break和continue的跳转范围不够明确,容易产生问题
满分:2分
5.要声明一个有10个int型元素的数组,正确的语句是( )
A. int a;
B. int a;
C. int a[];
D. int *a;
满分:2分
6.循环体至少被执行一次的语句为( )
A. for循环
B. while循环
C. do循环
D. 任一种循环
满分:2分
7.在下列关键字中,用以说明类中公有成员的是()。
A. public
B. private
C. protected
D. friend
满分:2分
8.程序设计语言的基本成分是数据成分、运算成分、控制成分和__________。
A. 对象成分
B. 变量成分
C. 语句成份
D. 传输成分
满分:2分
9.关于异常和C++提供的异常处理机制。不正确的说法是______。( )
A. 若程序员预见到程序的异常,则一定可以通过修改程序代码来避免异常出现
B. 使用dyname cast操作符可能会发生异常
C. 异常可以用catch捕获处理
D. 异常可以是对象,也可以是普通函数
满分:2分
10.下面关于数组的初始化正确的是_________。
A. char str[]={‘a',’b','c‘}
B. char str={'a','b','c’}
C. char str={{'a‘,'b’},{’e’,'d’},{’e’,‘f'}}
D. char str[]={'a','b','c’}
满分:2分
11.下列关于构造函数说法不正确的是()。
A. 构造函数必须与类同名
B. 构造函数可以省略不写
C. 构造函数必须有返回值
D. 在构造函数中可以对类中的成员进行初始化
满分:2分
12.若整型变量x=2,则表达式x<<2的结果是()。
A. 2
B. 4
C. 6
D. 8
满分:2分
13.整型变量i定义后赋初值的结果是()。 inti=2.8*6;
A. 12
B. 16
C. 17
D. 18
满分:2分
14.下列标识符中,()是文件级作用域。
A. 函数形参
B. 语句标号
C. 外部静态标识符
D. 自动态标识符
满分:2分
15.
下面程序的运行结果为_________。
#include
void main()
{
for(int a=0,x=0;!x&&a<=10;a++)
{
a++;
} l
cout< }
A. 10
B. 11
C. 12
D. 0
满分:2分
16.
在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函
数是_________。
A. 友元函数
B. 虚函数
C. 构造函数
D. 析构函数
满分:2分
17.下列语句中不是死循环的是_________。
A. int i=10;
while(1)
{
i--;
if(i==1)break;
}
B. for( int i=1:i<10;i++)
{
i--;
}
C. int i=0;
do{
i++;
}while(i>=0)
D. int i=1;
for(;;)i=i+1;
满分:2分
18.下面关于数组的描述错误的是_________。
A. 在C++语言中数组的名字就是指向该数组第一个元素的指针
B. 长度为n的数组,下标的范围是0-n-1
C. 数组的大小必须在编译时确定
D. 数组只能通过值参数和引用参数两种方式传递给函数
满分:2分
19.下面关于类的对象性质的描述,正确的是( )
A. 对象之间不可以相互赋值
B. 不可以说明指向对象的指针
C. 对象不能用作数组元素
D. 一个对象能用作另一个对象的成员
满分:2分
20.下列各类函数中,()不是类的成员函数。
A. 构造函数
B. 析构函数
C. 友元函数
D. 拷贝构造函数
满分:2分
二、判断题(共20道试题,共40分。)
1.用new动态申请的内存空间,必须用delete来释放。
A. 错误
B. 正确
满分:2分
2.程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所带来的编译工作量。
A. 错误
B. 正确
满分:2分
3.16位计算机中整型占4个字节存储空间。
A. 错误
B. 正确
满分:2分
4.空类型指针不能进行指针运算,也不能进行间接引用。( )
A. 错误
B. 正确
满分:2分
5.要在屏幕上显示"Hello,world!"应执行语句cout<< "\"Hello,world!\""。
A. 错误
B. 正确
满分:2分
6.下面两个语句是等价的:charstr[]='hello,world';charstr='hello,world';
A. 错误
B. 正确
满分:2分
7.系统可以提供默认的析构函数。
A. 错误
B. 正确
满分:2分
8.程序设计的目标在正确的前提下,其重要性排列次序依次为:可读,可维护,可移植和高效( )
A. 错误
B. 正确
满分:2分
9.空类型指针不能进行指针运算,也不能进行间接引用。( )
A. 错误
B. 正确
满分:2分
10.变量必须先定义,后使用。
A. 错误
B. 正确
满分:2分
11.C++中函数声明就是函数原型。( )
A. 错误
B. 正确
满分:2分
12.假定一个一维数组的定义为“char*a;”,则该数组所含元素的个数为32。
A. 错误
B. 正确
满分:2分
13.作为语句的函数调用是通过函数的副作用来体现的。
A. 错误
B. 正确
满分:2分
14.函数体内声明的静态变量,至多只会被初始化一次。
A. 错误
B. 正确
满分:2分
15.在一个函数中,不允许定义与结构体类型的成员相同名的变量。( )
A. 错误
B. 正确
满分:2分
16.C++程序的开发步骤通常要经过编辑、编译、连接、运行调试这样几个步骤。( )
A. 错误
B. 正确
满分:2分
17.C++语言程序必须要有return语句( )
A. 错误
B. 正确
满分:2分
18.声明一个结构并不分配内存,内存分配发生在定义这个新数据类型的变量中。( )
A. 错误
B. 正确
满分:2分
19.一个类的成员函数可以任意被调用( )
A. 错误
B. 正确
满分:2分
20.头文件中一般存放着变量和常量的定义、函数的原型以及类的定义。
A. 错误
B. 正确
满分:2分
三、多选题(共10道试题,共20分。)
1.下面关于指针变量和引用变量的说法正确的是______。
A. 指针变量存放的是内存地址,并且可以置为0
B. 定义引用变量时,必须同时指明具体被引用的对象或变量
C. 使用取地址操作符,可以取得指针变量自身的地址,但取不到引用变量自身的地址
D. 类中的数据成员可以是指针变量,但不能是引用变量
满分:2分
2.使用值传递方式将实参传给形参,下列说法不正确的是______。
A. 形参是实参的备份
B. 实参是形参的备份
C. 形参和实参是同一对象
D. 形参和实参无联系
满分:2分
3.函数调用可以______。
A. 出现在一个表达式中
B. 出现在执行语句中
C. 作为一个函数的实参
D. 作为一个函数的形参
满分:2分
4.下列说法中错误的是______。
A. 不允许设置参数的默认值
B. 设置参数的默认值只能在定义函数时设置
C. 设置参数的默认值时,应该设置右边的参数
D. 设置参数的默认值时,应该全部参数都设置
满分:2分
5.以下不正确的描述是______。
A. 函数的定义可以嵌套,函数的调用不可以嵌套
B. 函数的定义不可以嵌套,函数的调用可以嵌套
C. 函数的定义和函数的调用均可以嵌套
D. 函数的定义和函数的调用均不可以嵌套
满分:2分
6.关于异常和C++提供的异常处理机制正确的说法是______。
A. 若程序员预见到程序中的异常,则一定可以通过修改程序代码来避免异常出现
B. 使用dynamic_cast操作符可能会产生异常
C. 异常可以用catch进行捕获处理
D. 异常可以是对象,也可以是普通整数
满分:2分
7.下列说法中正确的是______。
A. 在一个函数中,可以有多条return语句
B. 函数的定义不能嵌套,但函数的调用可以嵌套
C. 函数必须有返回值
D. 即使在不同的函数中,也不可以使用相同名字的变量
满分:2分
8.对C++语言和C语言的兼容性,描述不正确的是______。
A. C++兼容C
B. C++部分兼容C
C. C++不兼容C
D. C兼容C++
满分:2分
9.下列关于构造函数的描述中,正确的是______。
A. 构造函数可以设置默认参数
B. 构造函数在定义类对象时自动执行
C. 构造函数可以是内联函数
D. 构造函数不可以重载
满分:2分
10.考虑函数原型void test(int a ,int b=7,char z=’*’),下面的函数调用中,属于合法调用的是______。
A. test(5)
B. test(5,8)
C. test(6,’#’)
D. test(0,0,’*’)
满分:2分
页:
[1]