福师《C 语言程序设计》在线作业二-0002
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 40 分)
1.考虑函数原型void test(int a,int b=7,char=”*”),下面的函数调用中,属于不合法调用的是()。
A.test(5);
B.test(5,8);
C.test(6,”#”)
D.test(0,0,”*”)
2.已知:print( )函数是一个类的常成员函数,且无返回值。在下列表示中,正确的是( )
A.void print( ) const;
B.const void print( );
C.void print( );
D.void print(const);
3.在位运算中,操作数每右移一位,其结果相当于()。
A.操作数乘以2
B.操作数除以2
C.操作数乘以4
D.操作数除以4
4.下面关于break语句的描述中,不正确的是()。
A.break可以用于循环体内
B.break语句可以在for循环语句中出现多次
C.break语句可以在switch语句中出现多次
D.break语句可用于if条件判断语句内
5.4、下列函数参数默认值定义错误的是()。(假定函数f()已经定义)
A.Fun(intx,inty=0)
B.Fun(intx=100)
C.Fun(intx=0,inty)
D.Fun(intx=f())
6.下列程序的运行结果为_________。
#include <iostream.h>
void print(double a)
{
cout<<++a;
}
void print(int a,int b)
{
cout<<b<<a; }
void main()
{
print(1.2);
cout<<” ”;
print(3,4);
}
A.1.2 34
B.2.2 34
C.1.2 43
D.2.2 43
7.以下函数的返回结果是( )int function(char *x) { char *p=x; while(*p++); return(p-x-1); }
A.求字符串的长度
B.将字符串x连接到字符串p后面
C.将字符串x复制到字符串p中
D.将字符串x反向存放
8.静态成员函数仅能访问( )
A.静态的数据成员
B.非静态的成员函数
C.非静态的数据成员
D.以上都不对
9.下列标识符中,()是文件级作用域。
A.函数形参
B.语句标号
C.外部静态标识符
D.自动态标识符
10.下面程序的运行结果为_________。
#include
class A
{
public:
A(){cout<<”1”;}
~A(){cout<<”2”;}
}
class B:public A
{
public:
B(){cout<<”3”;}
~B(){cout<<”4”;}
}
void main()
{
B b;
}
A.1234
B.1324
C.1342
D.3142
11.要声明一个有10个int型元素的数组,正确的语句是( )
A.int a[10];
B.int a[2,5];
C.int a[];
D.int *a[10];奥鹏作业答案请进open5.net或请联系QQ/微信:18866732
12.已知字符’b’的ASCII码为98,语句printf(“%d,%c”,’b’,’b’+1 );的输出为( )
A.98,b
B.语句不合法
C.98,99
D.98,c
13.类的析构函数的作用是_________。
A.一般成员函数的初始化
B.类的初始化
C.对象的初始化
D.删除类创建的对象
14.表达式9!=10的值为( )
A.非零值
B.true
C.0
D.1
15.下列哪项不是面向对象程序设计的主要特征( )
A.封装
B.继承
C.多态
D.结构
16.下面不是面向对象程序设计的特征的是( )
A.封装
B.继承
C.多态
D.结构
17.函数说明时,下列()项是不必要的。
A.函数类型
B.函数参数类型和名字
C.函数名字
D.返回值表达式
18.下列函数中,可以为虚函数的是( )
A.自定义的构造函数
B.拷贝构造函数
C.静态成员函数
D.析构函数
19.如要求在if后一对括号中的表达式,表示a不等于0的时候的值为”真”,则能正确表示这一关系的表达式为( )
A.a<>0
B.!a
C.a=0
D.a
20.下面的哪个选项不能作为函数的返回类型()。
A.void
B.int
C.new
D.long
二、判断题 (共 20 道试题,共 40 分)
21.假定一个一维数组的定义为“char*a[8];”,则该数组所含元素的个数为32。
22.C++语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取传地址方式。
23.类的友元函数可以直接访问该类的所有成员。
24.内联函数是为了提高编程效率而实现的,它克服了用#define宏定义所带来的弊病 。( )
25.左值是能出现在赋值表达式左边的表达式。( )
26.程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所带来的编译工作量。
27.指针在使用前可以不进行初始化( )
28.在基类中被说明为虚函数的类的成员函数必须在每个派生类中说明为虚函数,才能具有多态的特征。
29.设置函数的参数默认值的顺序是自左向右。
30.设有int w[3][4];,pw是与数组名w等价的数组指针,则pw应初始化为int (* pw)[4]=w;
31.若在类Base和派生类Derived中,分别声明一个同名的整型成员变量int x;,那么通过Derived类的实例对象,不可能输出基类Base中的变量x的值。
32.常量不能作为左值使用。
33.switch后面括号中的表达式只能是整型、字符型或枚举型表达式。( )
34.NULL与void *是不同的概念,NULL是一个指针值,任何类型的指针都可赋予该值。而void *是一种类型,是一种无任何类型的指针。( )
35.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是8。( )
36.在基类定义的public和protected成员在私有继承的派生类中可见,在类外可以被访问。
37.C++语言程序必须要有return语句( )
38.自增运算符和自减运算符只能用于变量,不能用于常量或表达式 。( )
39.C++语言程序中,main()函数必须放在程序开始的部分( )
40.字符串’hello,world”在内存中存放时,占用11个字节的空间。
三、多选题 (共 10 道试题,共 20 分)
41.下列哪些是类的特性______。
A.多态性
B.继承性
C.封装性
D.虚拟性
42.下面关于指针变量和引用变量的说法正确的是______。
A.指针变量存放的是内存地址,并且可以置为0
B.定义引用变量时,必须同时指明具体被引用的对象或变量
C.使用取地址操作符,可以取得指针变量自身的地址,但取不到引用变量自身的地址
D.类中的数据成员可以是指针变量,但不能是引用变量
43.函数调用可以______。
A.出现在一个表达式中
B.出现在执行语句中
C.作为一个函数的实参
D.作为一个函数的形参
44.下列关于构造函数的描述中,正确的是______。
A.构造函数可以设置默认参数
B.构造函数在定义类对象时自动执行
C.构造函数可以是内联函数
D.构造函数不可以重载
45.使用值传递方式将实参传给形参,下列说法不正确的是______。
A.形参是实参的备份
B.实参是形参的备份
C.形参和实参是同一对象
D.形参和实参无联系
46.在下面的一维数组定义中,没有语法错误的是______。
A.int a[ ]={1,2,3}
B.int a[10]={0}
C.int a[ ]
D.int a[5]
47.下列说法中错误的是______。
A.不允许设置参数的默认值
B.设置参数的默认值只能在定义函数时设置
C.设置参数的默认值时,应该设置右边的参数
D.设置参数的默认值时,应该全部参数都设置
48.对C++语言和C语言的兼容性,描述不正确的是______。
A.C++兼容C
B.C++部分兼容C
C.C++不兼容C
D.C兼容C++
49.下列哪种函数不可以是虚的______。
A.自定义的构造函数
B.拷贝构造函数
C.静态成员函数
D.析构函数
50.下列说法中正确的是______。
A.在一个函数中,可以有多条return语句
B.函数的定义不能嵌套,但函数的调用可以嵌套
C.函数必须有返回值
D.即使在不同的函数中,也不可以使用相同名字的变量
转载请注明:奥鹏作业之家 » 【奥鹏】21年春福师《C++语言程序设计》在线作业二