2018春网院c++语言程序设计期末考试综合练习一。
一选择题。1. 编写c++程序一般需经过的几个步骤依次是。
a. 编辑、调试、编译、连接 b. 编译、编辑、连接、运行。
c. 编译、调试、编辑、连接 d. 编辑、编译、连接、运行。
2在c++语言中,char型数据在内存中的存储形式是。
a. 反码b.补码 c. ascii码 d.原码。
3.设有定义 int a;float f;double i; 则10+’a’+i*f值的数据类型是。
b. doublec. float d.不确定。
4.设char ch; 以下正确的赋值语句是。
a)ch=’583b) ch=’$c)ch=’\08d) ch=’\xfa’;
5 在int a[5]=;中,数组元素a[1]的值是。
a)1b)0c)3d)5
6.下列表示引用的语句中是正确的。
已知:int m=10;
a)int &x=m; b)int &y=10; c)int &x d)float &t=&m;
7. 决定c++语言中函数的返回值类型的是()
a. return语句中的表达式类型。
b. 调用该函数时系统随机产生的类型。
c. 调用该函数时的主调用函数类型。
d. 在定义该函数时所指定的数据类型。
8.设int m=1,n=2, 则++m==n的结果是。
a)0 b)1 c)2 d)3
9. 假定一个类的构造函数为a(int aa,int bb),则执行a x(4,5);语句后,和的值分别为。
a. 4和5 b. 4和20 c. 4和24 d. 20和5
10.已知:p是一个指向类a数据成员m的指针,a1是类a的一个对象。如果要给m赋值为。
5,__是正确的。
p=5d.*
11.在int b[3]=,中,数组元素a[2][2]的值是。
a)0b)5c)6d)2
12.指针可以用来表示数组元素,下列表示中是错误的。
已知:int a[3][7];
a)*(a+1)[5] b)*(a+3) c)*(a+1d)*(a[0][0]+2)
13. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()
a. 类 b. 对象 c. 函数体 d. 数据块。
14.在int a=3,*p=&a中,*p的值是。
a)变量a的地址值 b)无意义 c) 变量p的地址值 d)3
15.已知f1(int)是类a的公有成员函数,p是指向成员函数f1()的指针,采用___是正确的。
16.假定myclass为一个类,则执行myclass a,b(2),*p; 语句时,自动调用该类构造函数_[4]_次。
a)2 b)3 c)4 d)5
17.在c++中,数据封装要解决的问题是___
a)数据的规范化 b)便于数据转换。
c)避免数据丢失 d)防止不同模块之间数据的非法访问。
18.一个类的友元函数或友元类能够通过成员操作符访问该类的___
a)私有成员 b)保护成员 c)公用成员 d)所有成员。
19.已知一个类a,__是指向类a成员函数的指针。假设类有三个公有成员:void
f1(int),void f2(int)和int a。
*pa::*pc=&a::a
a::*pa
*pp20.运算符->*的功能是___
a.用来表示指向对象指针对指向类成员指针的操作。
b.用来表示对象对指向类成员指针的操作。
c.用来表示指向对象指针对类成员的操作。
d.用来表示对象类成员的操作。
21.__不是面向对象系统所包含的要素。
a)重载 b)对象 c)类 d)继承。
22.假定myclass为一个类,则该类的拷贝初始化构造函数的声明语句为___
a)myclass&(myclass x); b)myclass(myclass x)
c)myclass(myclass& x); d)myclass(myclass *x)
23.已知:类a中一个成员函数说明如下:void set(a & a);
其中,a & a的含义是___
a.指向类a的指针为a
b.将a的地址值赋给变量set
c.a是类a的对象引用,用来作函数set()的形参。
d.变量a与a按位相与作为函数set()的参数。
24.下面对静态数据成员的描述中,正确的是___
a)静态数据成员是类的所有对象共享的数据。
b)类的每个对象都有自己的静态数据成员。
c)类的不同对象有不同的静态数据成员值。
d)静态数据成员不能通过类的对象调用。
25.下列关于对象数组的描述中,__是错误的。
a. 对象数组的下标是从0开始的。
b.对象数组的数组名是一个常量指针。
c.对象数组的每个元素是同一个类的对象。
d.对象数组只能赋初值,而不能在定义后赋值。
26.对类的构造函数和析构函数描述正确的是___
a)构造函数可以重载,析构函数不能重载。
b)构造函数不能重载,析构函数可以重载。
c)构造函数可以重载,析构函数也可以重载。
d)构造函数不能重载,析构函数也不能重载。
27.类的析构函数的作用是___
a)一般成员函数 b)类的初始化 c)对象的初始化 d)删除对象。
28.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问。
权限定义为___
a)public b)protected c)private d)static
29.类myclass的定义如下:
class myclass
public:
myclass()
setvariable(int i)
private:
int value;
则对下列语句序列正确的描述是___
myclass *p,my; p=&my;
a)语句p=&my;是把对象my赋值给指针变量p
b)语句myclass *p,my;会调用两次类myclass的构造函数。
c)对语句 *的调用是正确的。
d)语句p->setvariable(5)与语句等价。
30.对于拷贝构造函数,正确的描述是___
a)在c++语言中,如果不自定义类的拷贝构造函数,则每个类都有默认的拷贝构造函数。
b)必须为每个类定义拷贝构造函数。
c)如果要使用拷贝构造函数,则必须在类中先定义。
d)当定义了类的构造函数时,如果要使用拷贝构造函数,则必须定义拷贝构造函数。
31.类myclass的定义如下:
class myclass
public:
myclass( )
myclass(int i)
int* value;
若要对 value赋值, 则下面语句正确的是:
a) myclass my; =1000;
b) myclass my; *1000;
c) myclass my; my.*value = 1000;
d) myclass my(lo);
32.下面对于友元函数描述正确的是___
a)友元函数的实现必须在类的内部定义。
b)友元函数是类的成员函数。
c)友元函数破坏了类的封装性和隐藏性。
d)友元函数不能访问类的私有成员。
33.对于下面定义的类myclass,在函数f()中将对象成员n的值修改为50的语句应该。
是___class myclass
public:
myclass(int x)
void setnum(int nl)
private:
int n;
int f( )
myclass *ptr = new myclass(45);
a) myclass(50) b) setnum(50) c) ptr->setnum(50) d) ptr->n = 50
34.下面是类myclass的定义,对定义中语句描述正确的是___
class myclass
public:
void myclass(int a) {x = a
int f(int a, int b
x=a;y=b;
int f(int a, int b, int c = o
x=a;y=b;
z=c;
C语言程序设计期末考试说明
c语言程序设计 期末考试说明。1.所有c语言程序设计内容全部列为考试内容,但类似于栈 链表等数据结构方面的内容及排序 查找等算法本身不列入考试内容,同时问题求解本身也不列为考试内容,但考试中可能会涉及问题求解 排序 查找等算法,此时会以流程图或伪 的形式给出问题求解过程或算法的描述,请同学们一定要熟...
C语言程序设计期末考试试题
一 单项选择题 30分 1.下列不属于算法应该具有的特性是 a.确定性 b.有穷性 c.可行性 d.有零个或者多个输入。2.以下不正确c语言标识符是 b.abc c.bc 3.计算机能直接执行的程序是 a.源程序 b.目标程序 c.汇编程序 d.可执行程序。4.以下运算符优先级最高的是 a.b.c....
C语言程序设计期末考试试卷
学号 姓名 分数 一 选择题 1 14题,每题1分 15 36题,每题2分。共58分 1 以下非法的赋值语句是。a n i 2,i b j c i 1 d x j 0 2 设a和b均为double型变量,且a 5.5 b 2.5,则表达式 int a b b的值是。a 6.500000 b 6 c ...