文档库 最新最全的文档下载
当前位置:文档库 › C++面向对象技术复习题汇总(含答案)

C++面向对象技术复习题汇总(含答案)

C++面向对象技术复习题汇总(含答案)
C++面向对象技术复习题汇总(含答案)

面向对象程序设计C++

复习资料与答案

第一、二、六、七章习题

一、选择题

1、系统约定C++源程序文件名的缺省的扩展名为()

A、bcc

B、c++

C、cpp

D、vcc

2、面向对象的程序设计将数据与()放在一起,作为一个相互依存、不可分割的整体来处理。

A、对数据的操作

B、信息

C、数据隐藏

D、数据抽象

3、当一个函数无返回值时,函数的类型应定义为()

A、void

B、任意

C、int

D、无

4、对于C++的函数,正确的叙述是:

A、函数的定义不能嵌套,但函数的调用可以嵌套

B、函数的定义不能嵌套,但函数的调用不能嵌套

C、函数的定义和调用都不能嵌套

D、函数的定义和调用都可以嵌套

5、下列语句中错误的是()

A、int *p=new int(10);

B、int *p=new int[10]

C、int *p=new int;

D、int *p=new int[40](0);

6、假设已经有定义:const char *const name=”chen”;,下面的语句中正确的是:()

A、name[3]=’a’; B、name=”lin”;

C、name=new char[5]; D、cout<

7、假设已经定义:char *const name=”chen”;, 下面的语句中正确的是:()

A、name[3]=’q’; B、name=”lin”;

C、name=new char[5]; D、name=new char(‘q’);

8、假设已经定义:const char *name=”chen”;, 下面的语句中错误的是:()

A、name[3]=’q’; B、name=”lin”;

C、name=new char[5]; D、name=new char(‘q’);

9、下面的类型声明中正确的是:( )

A、int &a[4];

B、int &*p;

C、int &&q

D、int i,*p=&i;

10、假设定义了函数模板()

template

T max(T x,T y){ return(x>y)?x:y;}

并定义了int i;char c;错误的调用语句是:()

A、max(i,i)

B、max(c,c)

C、max((int)c,i);

D、max(i,c)

11、模板的使用是为了()

A、提高代码的可重用性

B、提高代码的运行效率

C、加强类的封装性

D、实现多态性

12、设有二个语句:int x[‘a’];cin>>x;则编译器认为()

A、说明语句int x[‘a’]错

B、二个语句都错

C、语句cin>>x 错

D、二个语句正确,没有语法错

13、设有语句:void f(int a[10],int &x);int y[10],*py=y,n;则对函数f的正确调用语句是( )

A、f(py[10],n);

B、f(py,n)

C、f(*py,&n)

D、f(py,&n)

14、在C++中实现封装是借助于()

A、枚举

B、类

C、数组

D、函数

15、对于下面几个函数:

(1) void f(int x,float y) {…… }

(2) int f(int a,float b){…… }

(3) int f(int i,int j){…… }

(4) float k(int x){…… }

是重载函数。

A、4个全部

B、1和2

C、2和3

D、3和4

16、使用myFile.open(“Sales.dat”,ios::app);语句打开文件Sales.dat后,则()

A、使输出追加到文件尾部

B、打开一个文件进行读操作

C、打开一个文件进行读和写操作

D、文件以二进制方式打开,默认时为文本文件

二、填空题

1、面向对象的程序设计有四大特征,它们是抽象、封装、、。

2、结构体类型中的数据和成员函数默认类型为。

3、C++要求为每个函数建立原型,以说明函数的名称、参数的和,以及函数返回值。

4、在函数说明前加关键字“inline”,则该函数被声明为函数,其引入的目的是为了消除函数调用时的开销,以提高运行速度。

5、引用变量与被引用变量占有内存单元。

6、运算符能够用于访问当前作用域内与局部变量同名的全局变量。

7、#include

void s(int a,int &b){int t=a;a=b;b=t;}

void main(void)

{ int x=500,y=1000;

cout<

程序的第一行输出为,第二行输出为。

8、#include

void main(void)

{ for(int a=1,b=1;a<=5;a++)

{ if(b>=8) break;

if(b%2==1){b+=7;continue;}

b-=3; }

cout<<”a=”<

程序输出结果是a= ,b= 。

9、#include

int x=100;

void main(void)

{ int x=200;x+=::x; {int x=500;::x+=x;} cout<

程序的第一行输出为,第二行输出为。

10、#include

void f(float x=5, int y=16, char z=…C?);

void main( )

{ float a=1.6; int b=2; char c='D';

f();f(a);f(a,b); f(a,b,c); }

void f(float x, int y, char z)

{ cout<<“x=”<

程序的第二行输出为,第三行输出为。

11、以下程序的输出结果是。

#include

char a[]=“ABCDEFGHI”;

char &f(int);

int main()

{ f(6)=…X?; cout<

char &f(int i)

{ return a[i]; }

12、如果C++程序中使用了:cout、strcpy,则必须在程序首部包含文件和。

13、#include

#include

void main()

{ int i=7890; cout<

程序的第一行输出为,第二行输出为。

14、#include

void main()

{ int i=100;cout.setf(ios::hex); cout<

以上程序运行的结果是

第三章类和对象

一、选择题

1、()不是构造函数的特征。

A、构造函数的函数名与类名相同;

B、构造函数可以重载;

C、构造函数可以设置缺省参数;

D、构造函数必须指定类型说明。

2、下列关于构造函数的描述中,()是正确的。

A、构造函数可以设置缺省参数;

B、构造函数可以被继承;

C、构造函数可以对静态数据成员进行初始化;

D、构造函数可以说明为虚函数;

3、()是析构函数的特征。

A、析构函数可以有一个或多个参数;

B、析构函数名与类名不同;

C、析构函数的定义只能在类体内;

D、一个类中只能定义一个析构函数;

4、定义析构函数时,应该注意()。

A、其函数名与类名完全相同;

B、函数返回类型是void类型;

C、无形参,也不可重载;

D、函数体中必须有delete语句;

5、下列静态数据成员的特性中,()是错误的。

A、说明静态数据成员时前边要加修饰符static;

B、静态数据成员要在类体外进行初始化;

C、静态数据成员不是所有对象所共用的;

D、引用静态数据成员时,要在其名称前加<类名>和作用域运算符;

6、友元的作用是()。

A、提高程序的运用效率;

B、加强类的封装性;

C、实现数据的隐藏性;

D、增加成员函数的种类;

7、关于成员函数特征的下列描述中,()是错误的。

A、成员函数一定是内联函数;

B、成员函数可以重载;

C、成员函数可以设置缺省参数值;

D、成员函数可以是静态的;

8、已知:print()函数是一个类的常成员函数,它无返回值,下列表示中,()是正确的;

A、void print() const;

B、const void print();

C、void const print();

D、void print(const);

9、在()情况下适宜采用inline定义内联函数。

A、函数体含有循环语句;

B、函数体含有递归语句;

C、函数代码小,频繁调用;

D、函数代码多,不常调用;

10、假定AB为一个类,则执行“AB a(4) , b[3] , * p[2] ;”语句时,自动调用该类构

造函数的次数为( )。

A、 3

B、 4

C、 6

D、 9

11、通常拷贝初始化构造函数的参数是( )。

A、某个对象名

B、某个对象的成员名

C、某个对象的引用名

D、某个对象的指针名

12、有关类的说法不正确的是( )。

A、类是一种用户自定义的数据类型

B、只有类中的成员函数才能存取类中的私有数据

C、在类中,如果不作特别说明,所有的数据均为私有类型

D、在类中,如果不作特别说明,所有的成员函数均为公有类型

13、在声明类时,下面说法正确的的是( )。

A、可以在类的声明中给数据成员赋初值

B、数据成员的类型可以是register

C、public, private, protected这三种属性的成员可以按任意顺序出现

D、没有用public, private, protected定义的成员是公有成员

14、已知:p是一个指向类A数据成员m的指针,A1是类A的一个对象。如果要给m赋值为

5,( )是正确的。

A、A1.p=5

B、A1->p=5

C、A1.*p=5

D、*A1.p=5

15、已知:类A中一个成员函数说明如下:

void Set(A&a); 其中,A&a的含义是( )。

A、指向类A的指针为a

B、将a的地址值赋给变量Set

C、a是类A的对象引用,用来作函数Set()的形参

D、变量A与a按位相与作为函数Set()的参数

16、下列说明中const char *ptr; ptr应该是( )。

A、指向字符型常量的指针

B、指向字符的常量指针

C、指向字符变量的指针

D、指向字符串的常量指针

17、采用函数重载的目的在于:

A、实现共享

B、减少空间

C、提高速度

D、使用方便,提高可读性

18、有关类和对象的说法下列不正确的是( )。

A、对象是类的一个实例

B、任何一个对象只能属于一个具体的类

C、一个类只能有一个对象

D、类与对象的关系和数据类型和变量的关系相似

19、有以下类的说明,请指出错误的地方()。

Class CSample

{

int a=2.5; A

CSample(); B

public:

CSample(int val); C

~CSample(); D

};

20、在类的定义形式中,数据成员、成员函数和( )组成了类定义体。

A、成员的访问控制信息

B、公有消息

C、私有消息

D、保护消息

二、填空题

1.通常的拷贝初始化构造函数的参数是_________________

2.在C++中函数参数的传递方式有三种,分别是:__________、__________和__________。3.任何类中允许有三种访问权限的数据,这三种访问权限分别是__________、__________和__________。

4.类中数据成员和成员函数的默认类型为______________

5.在类内部定义的__________和__________数据不能被不属于该类的成员函数来存取,定义为__________的数据,可以在类外部进行存取。

6.__________是一种特殊的成员函数,它主要用来为对象分配内存空间,对类的数据成员进行初始化并执行对象的其他内部管理操作。

7.一个类中有__________个析构函数。

8.__________成员函数中不能直接引用类中说明的非静态成员。

9.已知类Sample 中的一个成员函数说明如下:

void Set(Sample &a);

其中,Sample &a的含意是_________________

10.静态数据成员属于类,可以使用_______________ 的方式访问静态的数据成员。11.编译程序将this指针指向_____________。

12.以下程序的执行结果是__________。

# include

class Sample

{ public:

Sample () { cout << “constructore” << endl; }

};

void fn (int i)

{ static Sample c;

cout << “i=” << i << endl;

}

void main ()

{ fn (10) ;

fn (20) ;

}

13.以下程序的执行结果是_______________。

# include

class sample

{ private:

int n;

static int k;

public:

sample(int i) { n=i; k++; };

void disp();

};

void sample:: disp ()

{ cout<<"n=" <

}

cout<

}

15.以下程序的执行结果是_______________ #include

class A

{ public:

A( ) {cout<<"Constructing A \n";}

~A( ) {cout<<"Destructing A \n";}

};

class B

{ public:

B( ) {cout<<"Constructing B \n";}

~B( ){cout<<"Destructing B \n";}

};

main( )

{ A a;

B b;

return 0;

}

第四章派生类与继承

一、选择

1、从一个基类派生出的各个类的对象之间 (1) 。

A、共享所有数据成员,每个对象还包含基类的所有属性

B、共享部分数据成员,每个对象还包含基类的所有属性

C、不共享任何数据成员,但每个对象还包含基类的所有属性

D、共享部分数据成员和成员函数

2、 C++的继承性允许派生类继承基类的 (2) 。

A、部分特性,并允许增加新的特性或重定义基类的特性

B、部分特性,但不允许增加新的特性或重定义基类的特性

C、所有特性,并允许增加新的特性或重定义基类的特性

D、所有特性,但不允许增加新的特性或重定义基类的特性

3、对于公有继承,基类的公有和保护成员在派生类中将 (3) 成员。

A、全部变成公有

B、全部变成保护

C、全部变成私有

D、仍然相应保持为公有和保护

4、建立包含有类对象成员的派生类对象时,自动调用构造函数的执行顺序依次为 (4) 的构造函数。

A、自己所属类、对象成员所属类、基类

B、对象成员所属类、基类、自己所属类

C、基类、对象成员所属类、自己所属类

D、基类、自己所属类、对象成员所属类

5、派生类的对象对其基类中 (5) 可直接访问。

A、公有继承的公有成员

B、公有继承的私有成员

C、公有继承的保护成员

D、私有继承的以有成员

6、设类B是基类A的派生类,并有语句:A aa, * pa=&aa; B bb, * pb=&bb; 则正确

的语句是___(6)__ 。

A、pb=pa;

B、bb=aa;

C、aa=bb;

D、*pb=*pa;

7、在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是 _ (7)__.

A、派生类的对象可以赋给基类的对象

B、派生类的对象可以初始化基类的引用

C、派生类的对象可以直接访问基类中的成员

D、派生类的对象的地址可以赋给指向基类的指针

8、若类X和类Y的定义如下:

class X

{ int a,b;

public:

void fx ( );

};

class Y: public X

{ int c;

public:

void fy ( );

};

void Y::fy ( ) { c=a*b; }

则上述代码中, (8) 是非法的语句。

A、void fx();

B、k=a*b;

C、void fy();

D、int c;

9、如果一个派生类的基类不止一个,则这种继承称为__(9)__。

A、单继承

B、虚继承

C、多态继承

D、多重继承10.假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为:(10)。

A、 AB operator+(AB & a , AB & b)

B、 AB operator+(AB & a)

C、 operator+(AB a)

D、 AB & operator+( )

11、下面叙述不正确的是(11)。

A、派生类可以使用private派生

B、基类的public成员在派生类中仍然是public

C、对基类成员的访问必须是无二义性的

D、赋值兼容原则也适合多重继承的组合

12、下面叙述不正确的是(12)。

A、基类的protected成员在派生类中仍然是protected

B、基类的protected成员在public派生类中仍然是protected

C、基类的protected成员在private派生类中仍然是private

D、对基类成员的访问必须是无二义性的

13、下面叙述不正确的是(13)。

A、成员的访问能力在private派生类中和public派生类中仍是不同的

B、基类的private成员在public派生类中不可访问

C、赋值兼容规则不适合于多重继承的组合

D、public基类成员在protected派生中是protected

14、下面叙述正确的是(14)。

A、基类的对象可以赋给派生类

B、只要是基类的对象,都可以赋给由它派生的任一个派生类对象

C、只有该基类直接派生出来的类的对象才可以赋给该基类的对象

D、公有派生类的对象可以赋给基类的对象

15以下程序的输出结果为是(15)。

#include

class A

{ public:

int n; };

class B:virtual public A{};

class C:virtual public A{};

class D:public B,public C

{ int getn(){return B::n;} };

void main()

{ D d; d.B::n=10; d.C::n=20;

cout<

}

A、10,20

B、20,20

C、10,10

D、输出有二义性,不确定

二、填空题

1、在C++中派生类时,可以有 (1) 、 (2) 和 (3) 三种不同的方式。

2、公有派生类不能访问基类的 (4) 成员,但是派生类可以访问基类的 (5) 成员和 (6) 成员。

3、构造函数不能被继承,因此,派生类的构造函数必须通过调用(7)构造函数进行初始

化基类的对象。

4、保护派生具有双重作用:对(8),具有公有性,对其他外部,具有(9)。

5、在多重派生中,要使公共基类在派生类中只有一个拷贝,必须将该基类说明为 (10) 。

第五章多态性

一、单选题

1、下列运算符中,______运算符在C++中不能重载。

A、? :

B、+

C、—

D、<=

2、下列运算符中,______运算符在C++中不能重载。

A、>

B、[ ]

C、::

D、<<

3、在C++中,通常重载运算符的成员函数称为______。

A、运算符函数

B、重载函数

C、函数重载运算符

D、以上都不对

4、下列函数中,______不能重载。

A、成员函数

B、非成员函数

C、析构函数

D、构造函数

5、系统在调用重载函数时,往往根据一些条件确定哪个重载函数被调用,在下列选项中,

不能作为依据的是______。

A、参数的个数

B、参数的类型

C、参数的顺序

D、函数的类型

6、下列对重载函数的描述中,______是错误的。

A、重载函数中不允许使用默认参数

B、重载函数中编译是根据参数表进行选择的

C、一般情况下,不要使用重载函数来描述毫无相干的函数

D、构造函数重载将会给初始化带来多种方式

7、下列关于运算符重载的描述中,______是正确的。

A、运算符重载可以改变运算符的个数

B、运算符重载可以改变优先级

C、运算符重载可以改变结合性

D、运算符重载不可以改变语法结构

8、要实现动态联编,派生类中的虚函数______。

A、参数个数必须与函数的原型相同,参数类型可以与函数的原型不同

B、参数类型必须与函数的原型相同,返回类型可以与函数的原型不同

C、参数个数、类型和顺序必须与函数的原型相同,返回类型必须与函数的原型相同

D、以上都对

9、关于虚函数的描述中,______是正确的。

A、虚函数是一个static类型的成员函数

B、虚函数是一个非成员函数

C、基类中说明了虚函数后,派生类中对其对应的函数可不必说明为虚函数

D、派生类的虚函数与基类的虚函数具有不同的参数个数和类型

10、______是一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本。

A、虚析构函数

B、虚构造函数

C、纯虚函数

D、静态成员函数

11、对于以下类定义,下面正确的叙述是 ( )

class A

{ public:

virtual void func1( ){ }

void func2( ){ } };

class B:public A{ public:

void func1( ){co ut<< ″ class B func 1 ″ <

virtual void func2( ){cout<< ″ class B func 2 ″ <

A、A::func2( ) 和B::func1( )都是虚函数

B、A::func2( ) 和 B::func1( ) 都不是虚函数

C、B::func1( ) 是虚函数,而 A::func2( ) 不是虚函数

D、B::func1( ) 不是虚函数,而 A::func2( ) 是虚函数

12、假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为:。

A、AB operator+(AB & a , AB & b)

B、AB operator+(AB & a)

C、operator+(AB a)

D、AB & operator+( )

13、下面是对虚函数的的正确描述。

A、虚函数不能是友元函数

B、构造函数可以是虚函数

C、析构函数不可以是虚函数

D、虚函数可以静态成员函数

二、填空题

1、C++ 支持的两种多态性分别是_________多态性和________ 多态性。

2、静态编联通过和实现,动态编联通过和实现。

3、函数重载时,须符合相同和、、之一至少不同四个条件

4、运算符重载的两种方法:和。

参考答案

第一、二、六、七章习题答案

一、选择题:

1、C

2、A

3、A

4、A

5、D

6、D

7、A

8、A

9、D 10、D

11、A 12、C 13、B 14、B 15、C

16、A

二、填空题

1、继承、多态

2、公有

3、类型个数

4、内置

5、相同的

6、::

7、500 1000

500 500

8、2 8

9、300 600

10、x=1.6 y=16 z=C

X=1.6 y=2 z=C

11、ABCDEFXHI

12、iostream.h string.h

13、(两个空格) 7890 7890

14、64 64 64

第三章类和对象

一、选择题

1、D

2、A

3、D

4、C

5、C

6、A

7、A

8、A

9、C 10、B

11、C 12、D 13、C 14、C 15、C 16、A 17、D 18、C 19、A 20、A

二、填空题

1.某个对象的引用

2.值传递,地址传递,引用传递

3.public, private, protected

4.私有或private

5.Private, protected, public

6.构造函数

7.1

8.静态

9.a 是类Sample 的对象引用,用来作函数Set ( )的形参

10.类名::

11.当前对象的地址

12.Constructor

i = 10

i = 20

13.n=10, k=3

n=20, k=3

n=30, k=3

14.5 6 7

15.Constructing A

Constructing B

Destructing B

Destructing A

第四章派生类与继承

一、选择

1、C

2、C

3、D

4、C

5、A

6、C

7、C

8、B

9、D 10、B 11、B 12、A 13、C

14、D 15、B

二、填空题

1、私有派生

2、公有派生

3、保护派生

4、私有成员

5、保护成员

6、公有成员

7、基类

8、派生类 9、私有性

10、虚基类

第五章多态性参考答案

一、单选题

1、A

2、C

3、D

4、C

5、D

6、A

7、D

8、C

9、C 10、A 11、C 12、B 13、A

二、填空题

1、编译时的(或静态) 运行时的(或动态)

2、函数重载运算符重载继承虚函数

3、函数名形参个数形参类型形参顺序

4、友员运算符函数成员运算符函数

sql数据库基础面试题复习试题考试题_全

不定项选择题(针对以下题目,请选择最符合题目要求的答案,每道题有一项或二项正确答案。针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。题量为50道,每题2分,总分为100分。) 第一章 1、是SQLServer数据库的主数据文件的扩展名。(选择一项) A、.sql B、.mdb C、.ldf D、.mdf 2、在SQL Server 2005中,有系统数据库和用户数据库,下列不属于系统数据库的是()。 (选择一项) A、master B、pubs C、model D、msdb 3、当安装完SQL Server2005数据库时,系统默认当前的超级管理员是( ) (选择一项) A、sa B、master C、administrator D、super 4、在使用SQL Server2005数据库时,有时需要将本机的数据库移动到其他机器上,恢复成对应的数据库使用。移动数据库分两步进行,应包括()和附加数据库(选择一项)A、分离数据库 B、删除数据库 C、新建数据库 D、合并数据库 5、在SQL Server2005中,附加数据库操作是指()(选择一项) A、把SQL Server 数据库文件保存为其他数据文件 B、根据数据库物理文件中的信息,把数据库在SQL Server 2005中恢复 C、把所有该数据库表的数据清空 D、把数据库删除掉 6、某单位由不同的部门组成,不同的部门每天都会生产一些报告、报表等数据,以为都采用纸张的形式来进行数据的保存和分类,随着业务的发展,这些数据越来越多,管理这些报告越来越费力,此时应考虑()(选择一项) A、由多个人来完成这些工作 B、在不同的部门中,由专门的人员去管理这些数据 C、采用数据库系统来管理这些数据 D、把这些数据统一成一样的格式 7、在SQL Server 2005中,对于数据库的定义正确的是()(选择一项) A、数据库是用来描述事物的符号记录 B、数据库是位于用户与操作系统之间的一层数据管理软件

第4章-Java语言与面向对象作业习题与答案

第4章 Java语言与面向对象作业习题与答案 一、简答题 1.什么是对象?什么是类? 对象是一种抽象数据类型。它包含了事物的静态特征(属性)和动态特征(行为)两大特征。 类是一组同种对象的集合与抽象。即是具有相同属性和方法的一组对象集合。 2.Java语言的单继承是指什么? 一个类可以派生出多个子类,但子类只允许有一个父类,而不允许存在多个父类。 3.在一个共有类中的数据成员及方法成员的访问控制符为缺省,则这个类可供什么样的包引用? 当一个类的访问控制符为public共有时,表明这个类作为整体对其它类是可见和可引用的;但其数据成员和方法成员访问控制符为缺省时,它们只能被包中类(含当前类)引用。 4.抽象类的用途 (1)设计在更高的层次上进行,不考虑具体对象,从而大大简化了处理问题的复杂性; (2)设计出的类也具有更加良好的可扩展性。 5.什么是非静态的成员变量? 非静态成员即为实例成员变量(没有加static修饰的变量)。 6.异常Exception和错误Error有什么不同?Java如何处理它们? 答:错误通常是指程序本身存在非法情形,常常是因为代码存在问题而引起的,如造成系统崩溃、虚拟机粗错、动态失败等,这一类错误无法恢复或不可能捕获,并将导致应用程序中断。 异常表示另外一种“非同寻常”的错误。这种错误通常是不可预测,但可以被捕获且可以恢复。常见的异常情况包括存不足、找不到所需文件等。 对于错误,编程人员可以通过对程序进行更仔细的检查,以避免这种错误。 对于异常,可以使用捕获机制进行捕获,再编写出相应的处理程序。 7.简单述Java的异常处理机制。 答:Java采取“抛出—捕获”的方式,一旦一个异常想象产生,Runnable环境和应用程序会抛出各种标准类型和自己定义的异常,系统就可以捕获这些异常,并一定有相应的机制来处理它,确保不会产生司机、死循环或其它对操作系统的损害,从而保证了整个程序运行的安全性。 8.简单述throw语句和throws关键字之间的差别。 答:throw语句是在一个方法中用来直接抛出异常对象,其格式是: throw 异常对象; throws关键字是用一个方法声明首部,用来指出这个方法中可能产生若干种异常,其格式:[方法修饰符] 返回类型方法名(参数表)throws 异常类型表 { /*方法体*/ } 二、填空题 1.所有Java应用程序都必须包含的一个类方法是 main() 。 2.面向对象程序设计语言的三种重要特性是封装性、继承性和多态性。

《C面向对象程序设计》谭浩强版复习总结

第一章C++ 基础 endl 换行并刷新输出流 setw(n) 设置字段位数为n hex,oct,dec 十六进制,八进制,十进制表示 setfill 定义填充字符 setprecision 定义浮点数的精度 left,right 左对齐,右对齐 showpoint 强制显示小数点以及全部尾部0 C++通过给常量命名的方式定义常量: const<数据类型名><常量名>=<表达式> 用const定义的标识符常量时,一定要对其初始化。在说明时进行初始化是对这种常量置值的唯一方法,不能用赋值运算符对这种常量进行赋值。 函数声明的一般形式为 函数类型函数名(参数表) 函数模板的定义 template 函数定义 例子:template T max(T a,T b){ return(a>b)? a:b; } 定义函数模板时可以使用多个类型参数,每个类型参数前面只需加上关键字typename或class,用逗号分隔: template

例子:template T1 max(T1 a,T2 b){ return (a>b) ? a : (T1)b; } 有默认参数的函数:实参与形参的结合是从左至右进行的,因此指定默认值的参数必须放在形参列表中的最右端 引用 定义对变量起另外一个名字(别名alias),这个名字称为该变量的引用。 <类型> &<引用变量名> = <原变量名>; 其中原变量名必须是一个已定义过的变量。如: int max ; int &refmax=max; refmax并没有重新在内存中开辟单元,只是引用max的单元。max与refmax在内存中占用同一地址,即同一地址两个名字。 对引用类型的变量,说明以下几点: 1、引用在定义的时候要初始化 2、对引用的操作就是对被引用的变量的操作。 3、引用类型变量的初始化值不能是一个常数。 4、一旦引用被声明,它就不能再指向其它的变量。 5、对引用的初始化,可以用一个变量名,也可以用另一个引用。 6、引用同变量一样有地址,可以对其地址进行操作,即将其地址赋给一指针。 当&m的前面有类型符时(如int &m),它必然是对引用的声明;如果前面无类型符(如cout<<&m),则是取变量的地址。 7、对常量(用const声明)的引用使用如下方式: int i=5; const int &a=i;

SQL数据库面试题目及其答案

1.触发器的作用? 答: 触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。 它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。 2.什么是存储过程?用什么来调用? 答: 存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。可以用一个命令对象来调用存储过程。 3.索引的作用?和它的优点缺点是什么? 答: 索引就一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的,创建索引允许指定单个列或者是多个列。 缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。 3。什么是内存泄漏? 答: 一般我们所说的内存泄漏指的是堆内存的泄漏。堆内存是程序从堆中为其分配的,大小任意的,使用完后要显示释放内存。当应用程序用关键字new等创建对象时,就从堆中为它分配一块内存,使用完后程序调用free或者delete 释放该内存,否则就说该内存就不能被使用,我们就说该内存被泄漏了。

4.维护数据库的完整性和一致性,你喜欢用触发器还是自写业务逻辑?为什 么? 答: 我是这样做的,尽可能使用约束,如check,主键,外键,非空字段等来约束,这样做效率最高,也最方便。其次是使用触发器,这种方法可以保证,无论什么业务系统访问数据库都可以保证数据的完整新和一致性。最后考虑的是自写业务逻辑,但这样做麻烦,编程复杂,效率低下。 5.什么是事务?什么是锁? 答: 事务就是被绑定在一起作为一个逻辑工作单元的SQL语句分组,如果任何一个语句操作失败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上有个节点。为了确保要么执行,要么不执行,就可以使用事务。 要将有组语句作为事务考虑,就需要通过ACID测试,即原子性,一致性,隔离性和持久性。 锁: 在所以的DBMS中,锁是实现事务的关键,锁可以保证事务的完整性和并发性。与现实生活中锁一样,它可以使某些数据的拥有者,在某段时间内不能使用某些数据或数据结构。当然锁还分级别的。 6."什么叫视图?游标是什么? 答: 视图是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,试图通常是有一个表或者多个表的行或列的子集。对视图的修改不影响基本表。它使得我们获取数据更容易,相比多表查询。 游标:

面向对象试题(标准答案)

CoreJavaOOP考试题 考试时间:90分钟 考试总分:100分 一、选择题(不定项选择)(22*4=88) 1. 类A,B的定义如下: class A { private int a = 100; A() { System.out.print("A()"); System.out.println(a); } } class B extends A { private int a = 200; B() { System.out.print("B()"); System.out.println(a); } } 运行下面的代码: new B(); 输出的结果是:(A )。 A. A() 100 B() 200 B. A() 200 B() 200 C. B() 200 A() 100 D. B() 200 A() 200

2.下列说法正确的是(D ) A.所有类都必须定义构造方法(构造器) B.构造方法必须初始化类的所有数据成员 C.子类定义了构造器后,不再调用父类的构造器 D.构造方法可以访问类的非静态成员 3.在Java中,哪个关键字使类不能派生子类?, (A ) A : final B : public C : private D : native 4.class Base{ static void test(){ System.out.println(“Base.test()”); } } public class Child extends Base{ static void test(){ System.out.println(“Child.test()”); } public static void main(String[] args){ Base base = new Child(); Child child = new Child(); base.test(); child.test(); } } 程序运行的结果是( C ) A.Child.test() Child.test() B.Child.test() Base.test() C.Base.test() Child.test() D.Base.test() Base.test()

面向对象程序设计期末综合练习一(单选题)

22. 下列的符号常量定义中,错误的定义是()。 A. const M=10; B. const int M=20; C. const char ch; D. const bool mark=true; 40. 函数重载是指()。 A. 两个或两个以上的函数取相同的函数名,但形参的个数或类型不同 B. 两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同 C. 两个以上的函数名字不同,但形参的个数或类型相同 D. 两个以上的函数取相同的函数名,并且函数的返回类型相同 41. 以下关于函数模板叙述正确的是()。 A. 函数模板也是一个具体类型的函数 B. 函数模板的类型参数与函数的参数是同一个概念 C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数 D. 用函数模板定义的函数没有类型 42. 下列()的调用方式是引用调用。 A. 形参和实参都是变量 B.形参是指针,实参是地址值 C. 形参是引用,实参是变量 D.形参是变量,实参是地址值

43. 为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择()。 A. 内联函数 B.重载函数 C.递归函数 D.函数模板 44. 函数原型语句正确的是()。 A. int Function(void a); B.void Function (int); C. int Function(a); D.void int(double a); 45. C++中函数返回值的类型是由()决定的。 A. return语句中表达式的类型 B.该函数定义时的类型 C.调用函数时的调用语句 D.系统根据结果 56. 采用重载函数的目的是()。 A. 实现共享 B. 减少空间 C. 提高速度 D. 使用方便,提高可读性 58. 以下叙述中正确的是( )。 A. 使用#define可以为常量定义一个名字,该名字在程序中可以再赋另外的值 B. 使用const定义的常量,其值在程序运行时是不可改变的 C. 在程序中使用内联函数使程序的可读性变差 D. 在定义函数时可以在形参表的任何位置给出缺省形参值 70. 用new运算符创建一个含10个元素的一维整型数组的正确语句是( )。 A. int *p=new a[10]; B. int *p=new float[10];

数据库笔试面试题汇总

1、什么是第三范式(第一范式,第二范式。。。) 2、请说出delete,truncate,drop 的区别 3、怎么样查询特殊字符,如通配符%与_ 4、如何插入单引号到数据库表中 5、怎么获得今天是星期几,还关于其它日期函数用法 6、知道出生日期,如何求年龄? 7、求上个月月底的日期 8、数据库类型中Varchar和char的区别是? 9、已知两张表:人员表(person) 和部门表(depart),表结构如下: 10、数据库Teacher 属性:name,tid,desc,表Student属性:name,sid,related_tid ,desc 查询 所属老师名称为”\like” 的全部学生。 11、设有一个关系表Student (学号stu_id,姓名stu_name,系名stu_dept,课程号 stu_courseid,成绩 grade) 11.1 查询至少选修了四门课程的学生的学号、姓名及平均成绩的select语句? 11.2 将选修课程数小于5的学生名字后面增加一个#号 12、用一条sql语句实现下面结果:怎么把这样一个表Testcol: 13、有两个表T_STU表和T_CLASS表和一个序列sequence序列,T_STU表里有如下字段:........ 13.1 查询入学年龄在18-20的女生或者未输入性别的,实际年龄小的要排在后面 13.2 查询班级名称、学生姓名、性别、缴费(要求显示单位:元),相同班级的要放在一起,姓名根 据字典顺序排列。 13.3 查询各班名称和人数 13.4 查询各班名称和人数,但人数必须不少于2,人数多的放在前面 13.5 查询1980年出生的有哪些学生。 13.6 查询男生和女生人数,没有输入性别的当作男 13.7 查询没有人员的班级 13.8 查询入学年龄在20以上的同学信息 13.9 查询班级平均入学年龄在20及以上的班级 13.10 有工资表salary(e_id,e_date,e_money),求本月发了2笔以上工资的员工信息。 14、有部门表、人员表、工资表。表名和字段名,如下: 14.1 查询:人员名称、部门名称、个人总工资 14.2 查询所有部门的总工资 14.3 查询2008年8月份各部门工资最高的员工信息:部门名称、员工姓名、员工总工资 15、表warehousestorage 数据库笔试面试题汇总

《面向对象程序设计C 》期末考试试卷

《面向对象程序设计C++》期末考试试卷 一、选择题(每小题3分,共48分。) 01、下列关于C++函数的叙述中,正确的是( C )。 A)每个函数至少要具有一个参数B)每个函数都必须返回一个值 C)函数在被调用之前必须先声明D)函数不能自己调用自己 02、下列关于类和对象的叙述中,错误的是( A )。 A)一个类只能有一个对象B)对象是类的具体实例 C)类是对某一类对象的抽象D)类和对象的关系是一种数据类型与变量的关系 03、在C++中,用于实现运行时多态性的是( D )。 A)内联函数B)重载函数C)模板函数D)虚函数 04、下列关于运算符重载的叙述中,正确的是( B )。 A)通过运算符重载,可以定义新的运算符B)有的运算符只能作为成员函数重载 C)若重载运算符+,则相应的运算符函数名是+ D)重载二元运算符时,必须声明两个形参 05、对于语句cout<

数据库笔试题及标准答案,常见数据库面试题

数据库笔试卷及答案 第一套 一.选择题 1. 下面叙述正确的是______。 A、算法的执行效率与数据的存储结构无关 B、算法的空间复杂度是指算法程序中指令(或语句)的条数 C、算法的有穷性是指算法必须能在执行有限个步骤之后终止 D、以上三种描述都不对 2. 以下数据结构中不属于线性数据结构的是______。A、队列B、线性表C、二叉树D、栈 3. 在一棵二叉树上第5层的结点数最多是______。A、8 B、16 C、32 D、15 4. 下面描述中,符合结构化程序设计风格的是______。 A、使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B、模块只有一个入口,可以有多个出口 C、注重提高程序的执行效率 D、不使用goto语句 5. 下面概念中,不属于面向对象方法的是______。 A、对象 B、继承 C、类 D、过程调用 6. 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______。 A、可行性分析 B、需求分析 C、详细设计 D、程序编码 7. 在软件开发中,下面任务不属于设计阶段的是______。 A、数据结构设计 B、给出系统模块结构 C、定义模块算法 D、定义需求并建立系统模型 8. 数据库系统的核心是______。 A、数据模型 B、数据库管理系统 C、软件工具 D、数据库 9. 下列叙述中正确的是______。 A、数据库是一个独立的系统,不需要操作系统的支持 B、数据库设计是指设计数据库管理系统 C、数据库技术的根本目标是要解决数据共享的问题 D、数据库系统中,数据的物理结构必须与逻辑结构一致 10. 下列模式中,能够给出数据库物理存储结构与物理存取方法的是______。 A、内模式 B、外模式 C、概念模式 D、逻辑模式 11. Visual FoxPro数据库文件是______。 A、存放用户数据的文件 B、管理数据库对象的系统文件 C、存放用户数据和系统的文件 D、前三种说法都对 12. SQL语句中修改表结构的命令是______。 A、MODIFY TABLE B、MODIFY STRUCTURE C、ALTER TABLE D、ALTER STRUCTURE 13. 如果要创建一个数据组分组报表,第一个分组表达式是"部门",第二个分组表达式是"性别",第三个分组表达式是"基本工资",当前索引的索引表达式应当是______。 A、部门+性别+基本工资 B、部门+性别+STR(基本工资) C、STR(基本工资)+性别+部门 D、性别+部门+STR(基本工资) 14. 把一个工程编译成一个应用程序时,下面的叙述正确的是______。 A、所有的工程文件将组合为一个单一的应用程序文件 B、所有工程的包含文件将组合为一个单一的应用程序文件

面向对象分析与及设计习题及答案

面向对象分析与及设计习题及答案 一、单项选择题 1.到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是(D)的 形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。 A. Simula67语言 B. Smalltalk语言 C. Java语言 D. 统一建模语言(UML)的标准 2. 面向对象的运动产生了多种面向对象的语言, 其中(C)是一种混合性面向对象语言, 既支持面向过程的程序设计方法,又支持面向对象的程序设计方法,有广泛应用的基础和丰富开发环境的支持,因而使面向对象的程序设计能得到很快普及。 A. Smalltalk B. Eiffel C. C++ D. Java 3.下列不属于面向对象技术的基本特征的是(B)。 A. 封装性 B. 模块性 C. 多态性 D. 继承性 4. 面向对象程序设计将描述事物的数据与(C) 封装在一起,作为一个相互依存、不可分割的整体来处理。 A. 信息 B. 数据隐藏 C. 对数据的操作 D. 数据抽象 5. 关于面向对象方法的优点,下列不正确的叙述是(C)。 A. 与人类习惯的思维方法比较一致 B. 可重用性好 C. 以数据操作为中心 D.可维护性好 6. (D)是从用户使用系统的角度描述系统功能的图形表达方法。 A. 类图 B. 对象图 C. 序列图 D. 用例图 7. (C) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图 和其他图的基础。 A.对象图 B. 组件图 C. 类图 D. 配置图 8.(D)描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之 间传递消息的时间顺序。 A.对象图 B. 协作图 C. 状态图 D. 序列图 9.(D)就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统 中软件和硬件的物理架构。 A. 组件图 B. 协作图 C. 状态图 D. 配置图 10. 使用UML进行关系数据库的(B)时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。 A. 业务Use Case模型设计 B. 逻辑数据模型设计 C. 物理数据模型设计 C. 物理实现设计 11.一个设计得好的OO系统具有(B) A. 低内聚、低耦合的特征 B. 高内聚、低耦合的特征 C. 高内聚、高耦合的特征 D. 低内聚、高耦合的特征 12.下面()不是UML的基本构成元素。(A) A. 控制语言 B. 基本构造块 C. 规则 D. 公共机制

C面向对象程序设计重点复习

面向对象程序设计复习题 一、单项选择题 1.下面关于对象概念的描述中,_______是错误的。(B) A.对象代表着正在创建的系统中的一个实体 B.对象就是C语言中的结构体变量 C.对象是一个状态和操作(或方法)的封装体 D.对象之间的信息传递是通过消息进行的 2. 继承机制的作用是:(C) A.信息隐藏B.数据封装C.定义新类D.数据抽象 3.有关析构函数的说法不正确的是_________(D) A.析构函数有且只有一个 B.析构函数无任何函数类型 C.析构函数没有形参 D.析构函数不能是虚函数 4.友元的作用之一是__________(A) A.提高程序的运行效率 B.加强类的封装性 C.实现数据的隐藏性 D.增加成员函数的种类 5.通常拷贝构造函数的参数是__________。(C) A.某个对象名 B.某个对象的成员名 C.某个对象的引用名 D.某个对象的指针名 6.如果在基类中将show声明为不带返回值的纯虚函数,正确的写法是________。(C) A.virtual show()=0; B.virtual void show(); C.virtual void show()=0; D.void show=0 virtual; 7.下面关于友元的描述中,错误的是_________。(D) A.友元函数可以访问该类的私有数据成员 B.一个类的友元类中的成员函数都是这个类的友元函数 C.友元可以提高程序的运行效率 D.类与类之间的友元关系可以继承 8.在C++中,_________运算符不能重载。(B) A. + B.?: C.- D.<= 9.下列关于运算符重载的描述中,________是正确的。(D) A.运算符重载可以改变操作数的个数 B.运算符重载可以改变优先级 C.运算符重载可以改变结合性 D.运算符重载不可以改变语法结构

数据库笔试题(附带带答案)

选择题 1. 下面叙述正确的是___c___。 A、算法的执行效率与数据的存储结构无关 B、算法的空间复杂度是指算法程序中指令(或语句)的条数 C、算法的有穷性是指算法必须能在执行有限个步骤之后终止 D、以上三种描述都不对 2. 以下数据结构中不属于线性数据结构的是___c___。 A、队列 B、线性表 C、二叉树 D、栈 3. 在一棵二叉树上第5层的结点数最多是__b____。2的(5-1)次方 A、8 B、16 C、32 D、15 4. 下面描述中,符合结构化程序设计风格的是___a___。 A、使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B、模块只有一个入口,可以有多个出口 C、注重提高程序的执行效率 D、不使用goto语句 5. 下面概念中,不属于面向对象方法的是___d___。 A、对象 B、继承 C、类 D、过程调用 6. 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是___b___。 A、可行性分析 B、需求分析 C、详细设计 D、程序编码 7. 在软件开发中,下面任务不属于设计阶段的是__d____。 A、数据结构设计 B、给出系统模块结构 C、定义模块算法 D、定义需求并建立系统模型 8. 数据库系统的核心是___b___。 A、数据模型 B、数据库管理系统 C、软件工具 D、数据库 9. 下列叙述中正确的是__c____。 A、数据库是一个独立的系统,不需要操作系统的支持 B、数据库设计是指设计数据库管理系统 C、数据库技术的根本目标是要解决数据共享的问题 D、数据库系统中,数据的物理结构必须与逻辑结构一致 10. 下列模式中,能够给出数据库物理存储结构与物理存取方法的是___a___。 A、内模式 B、外模式 C、概念模式 D、逻辑模式 11. Visual FoxPro数据库文件是___d___。 A、存放用户数据的文件 B、管理数据库对象的系统文件 C、存放用户数据和系统的文件 D、前三种说法都对 12. SQL语句中修改表结构的命令是___c___。 A、MODIFY TABLE B、MODIFY STRUCTURE C、ALTER TABLE D、ALTER STRUCTURE 13. 如果要创建一个数据组分组报表,第一个分组表达式是"部门",第二个分组表达式是"性别",第三个分组表达式是"基本工资",当前索引的索引表达式应当是__b____。 A、部门+性别+基本工资 B、部门+性别+STR(基本工资) C、STR(基本工资)+性别+部门 D、性别+部门+STR(基本工资) 14. 把一个项目编译成一个应用程序时,下面的叙述正确的是___a___。 A、所有的项目文件将组合为一个单一的应用程序文件 B、所有项目的包含文件将组合为一个单一的应用程序文件

面向对象期末测试题(带答案)

济南大学2009~2010 学年第二学期课程考试试卷 课 程 java 面向对象程序设计 授课教师 考试时间 考试班级 学 号 姓 名 题号 一 二 三 四 五 总 分 审核人 得分 一、填空题(每空2分,共20分) 1.Java 源程序的扩展名是 .java ,经过编译后的程序的扩展名是 .class 。 2.Socket 通常也称为 套接字 ,用于描述 IP 地址 和 端口 。3.线程的优先级在 1 至 10 之间,数值越大 优先级越高 4.构造方法是一种特殊的成员方法,构造方法名与 类名 相同 5.Java 语言只允许单继承,指每个类只能有一个 父类或子类 。 二、选择题(每题2分,共50分) 1.下列哪个概念是面向对象和面向过程程序设计所共有的 ( B ) A 、继承 B 、流程控制 C 、抽象 D 、封装 2.以下关于执行Java 小程序的论述错误的是: ( C ) A 、可以通过浏览器调用嵌入了Java 小程序的HTML 文档 B 、可以通过appletviewer .exe 调用嵌入了Java 小程序的HTML 文档 C 、可以通过java.exe 调用嵌入了Java 小程序的HTML 文档 D 、可以在Java 集成开发环境中调用嵌入了Java 小程序HTML 文档 3.符合对象和类关系的是: ( D ) A 、人和老虎 B 、书和汽车 C 、楼和土地 D 、松树和植物 4.关于选择结构下列哪个说法正确? (B ) A .if 语句和 else 语句必须成对出现 B .if 语句可以没有else 语句对应 … … …… …… …… …… …… … …… …装 …… …… …… … …… …订 …… …… …… … …… …线 …… …… …… … …… …… …… …… …

面向对象程序设计C期末试卷及标准答案B样本

《面向对象程序设计C++》期末考试试卷( B) 班级: 姓名: 学号: 分数: 试卷说明: 本套试题共四个大题, 全部题目都答在答题纸上, 写在其它地方均无效。 ( 答题纸在本套试卷的第8页上) 一、单项选择题( 每小题2分, 共40分) 1、关于C++与C语言关系的描述中, ( D ) 是错误的。 A.C语言是C++语言的一个子集 B.C语言与C++语言是兼容的 C.C++语言对C语言进行了一些改进 D.C++语言和C语言都是面向对象的 2、已知: int m=10; 下列表示引用的方法中, ( A ) 是正确的。 A.int &x=m; B.int &y=10; C.int &z; D.float &t=&m; 3、考虑下面的函数原型声明: void testDefaulParam(int a,int b=7,char z='*');下面函数调用中, 不合法的是( C ) 。 A.testDefaulParam(5); B.testDefaulParam(5,8); C.testDefaulParam(5,'#'); D.testDefaulParam(0,0,'*'); 4、系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用, 在下列选项中, 不能作为依据的是( A ) 。 A.函数的返回值类型 B.参数的类型 C.函数名称 D.参数个数 5、下列有关C++类的说法中, 不正确的是( D ) 。 A.类是一种用户自定义的数据类型 B.只有类中的成员函数或类的友元函数才能存取类中的私有成员 C.在类中, 如果不做特别说明, 所有成员的访问权限均为私有的

D.在类中, 如果不做特别说明, 所有成员的访问权限均为公用的 6、已知X类, 则当程序执行到语句X array[3];时, 调用了( D ) 次构造函数。 A.0 B.1 C.2 D.3 7、有关析构函数的说法, 不正确的是( B ) 。 A.析构函数有且仅有一个 B.析构函数和构造函数一样能够有形参 C.析构函数的功能是在系统释放对象之前作一些内存清理工作 D.析构函数无任何函数类型 8、类定义的内容允许被其对象无限制地存取的是( C ) 。 A.private 部分 B. protected 部分 C.public 部分 D.以上都不对9、关于常数据成员的说法, 不正确的是( D ) 。 A.常数据成员的定义形式与一般常变量的定义形式相同, 只不过常数据成员的定义必须出现在类体中 B.常数据成员必须进行初始化, 而且不能被更新 C.常数据成员经过构造函数的成员初始化列表进行初始化 D.常数据成员能够在定义时直接初始化 10、运用运算符delete删除一个动态对象时( C ) 。 A.系统首先为该动态对象调用构造函数, 再释放其占用的内存 B.系统首先释放该动态对象占用的内存, 再为其调用构造函数 C.系统首先为该动态对象调用析构函数, 再释放其占用的内存 D.系统首先释放动态对象占用的内存, 再为其调用析构函数 11、能够在类外用p.a的形式访问派生类对象p的基类成员a, 其中a是( D ) 。 A.私有继承的公用成员 B.公用继承的私有成员 C.公用继承的保护成员 D.公用继承的公用成员

数据库经典笔试题总结

数据库经典笔试题总结.txt和英俊的男人握握手,和深刻的男人谈谈心,和成功的男人多交流,和普通的男人过日子。数据库经典笔试题总结 面试穿什么着装合适,这里找答案! 1,范式 7大范式:1NF, 2NF,3NF,BCNF,4NF,5NF,6NF 什么叫normalization?Denormalization? Normalization是数据库规范化,denormalization是数据库逆规范化。 在设计和操作维护数据库时,关键的步骤就是要确保数据正确地分布到数据库的表中。使用正确的数据结构,不仅便于对数据库进行相应的存取操作,而且可以极大地简化应用程序的其他内容(查询、窗体、报表、代码等)。正确进行表设计的正式名称就是"数据库规范化"。目的:减少数据库中数据冗余,增进数据的一致性。 范式概念: 1)1NF:目标就是表中每列都不可分割; 2)2NF:目标就是表中的每行都是有标识的。前提是满足了1NF. 当关键字为单field时,一定满足2NF。当关键字为组合field时(即超过一个field),不能存在组合关键字中有某个字段能够决定非关键字段的某部分。非主field非部分依赖于主field,即非关键字段必须完全依赖于一组组合关键字,而不是组合关键字的某一部分。 3)3NF:目标是一个table里面所有的列不依赖于另外一个table里面非关键的列。前提是满足了2NF,不存在某个非关键字段决定另外一个非关键字段。即:不存在传递依赖(关键字x->非关键属性y->非关键属性z) 4)BCNF:前提是满足了2NF,不存在某个非关键字段决定另外一个非关键字段。也不存在某个关键字段决定另外一个关键字段。即:在3NF基础上,加上约束:不存在某个关键字段决定另外一个关键字段。 1 第一范式(1NF) 在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。例如,对于图3-2 中的员工信息表,不能将员工信息都放在一列中显示,也不能将其中的两列或多列在一列中显示;员工信息表的每一行只表示一个员工的信息,一个员工的信息在表中只出现一次。简而言之,第一范式就是无重复的列。 2 第二范式(2NF) 第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。如图3-2 员工信息

2_面向对象基础测试题和答案

共40道选择题,每题2.5分。多选题有错则全错,全对才满分. 面向对象部分测试题 1.下面描述函数重写错误的是C A.?要有子类继承或实现 ?B.?子类方法的权限必须大于等于父类的权限 C. 父类中被private权限修饰的方法可以被子类重写 D.?子类重写接口中的抽象方法,子类的方法权限必须是public的 2.关于封装下面介绍错误的是(D )。 A. 封装将变化隔离 B.?封装提高重用性。 C.?封装安全性 ?D. 只有被private修饰才叫做封装 3.试图编译运行下面的代码会发生什么情况D public class MyClass{ static int i; publicstaticvoid main(String[]args){System.out.println(i); } } ?A.?错误,变量i没有被初始化 ?B. 输出null C.?输出1 ?D. 输出0 4.在Java中,下面对于构造函数的描述正确的是( D)。 A. 类必须显式定义构造函数 B.构造函数的返回类型是void ?C.?构造函数和类有相同的名称,并且不能带任何参数

D.一个类可以定义多个构造函数 5.下面Java代码的运行结果是(C)。 class Penguin { ?private String name=null; // 名字 privateint health=0;//健康值 private String sex=null; //性别 publicvoid Penguin(){//是一般方法,不是构造方法 health = 10; ??sex = "雄"; ??System.out.println("执行构造方法。"); ?} public voidprint() { ??System.out.println("企鹅的名字是" +name + ?",健康值是"+ health + ",性别是"+ sex+"。"); ?} public staticvoidmain(String[] args){ ?Penguin pgn= new Penguin(); pgn.print(); } } A. 企鹅的名字是null,健康值是10,性别是雄。 B.?执行构造方法。 企鹅的名字是null,健康值是0,性别是null。 ?C.?企鹅的名字是null,健康值是0,性别是null。 D.?执行构造方法。 ?企鹅的名字是null,健康值是10,性别是雄。 6.class A { public int i = 10;?} class B extends A{

mysql数据库笔试练习题复习(一).doc

精品文档 数据库笔试题(一) 一、选择题 1.数据库系统的核心是_B___。 A.数据库 B.数据库管理系统 C.数据模型 D.软件工具 2.SQL语言具有__B__的功能。 A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操纵 3.SQL语言的数据操纵语句包括 SELECT,INSERT,UPDATE和 DELETE,最重要的,也是使用最频繁的语句是__A__。 A.SELECT B.INSERT C.UPDATE D.DELETE 4.在关系数据库设计中,设计关系模式是__C__的任务。 A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段5.__C__是DBMS的基本单位,它是用户定义的一组逻辑一致的程序序列。 A.程序 B.命令 C.事务 D.文件 6.在数据库中,产生数据不一致的根本原因是__D__。 A.数据存储量太大 B.没有严格保护数据 C.未对数据进行完整性控制 D.数据冗余

7.下列SQL语句中,创建关系表的是__B__。 A.ALTER B.CREATE C.UPDATE D.INSERT 8.数据库的__B__是为了保证由授权用户对数据库所做的修改不会影响数据一致性的损失。 A.安全性 B.完整性 C.并发控制 D.恢复 9.事务是数据库进行的基本工作单位。如果一个事务执行成功,则全部更新提交;如果一个事务执行失败,则已做过的更新被恢复原状,好像整个事务从未有过这些更新,这样保持了数据库处于_____B___状态。 A.安全性 B.一致性 C.完整性 D.可靠性 10.对并发操作若不加以控制,可能会带来数据的___D_问题。 A.不安全 B.死锁 C.死机 D.不一致 二、填空题 1.数据冗余可能导致的问题有____________________和 _____________________。 答案:①浪费存储空间及修改麻烦②潜在的数据不一致性 2.数据库在运行过程中可能产生的故障有____________、_______________、 ___________。 答案:①Transaction failure ②System crash ③Disk failure 3.视图是一个虚表,它是从_________中导出的表。在数据库中,只存放视图的 ________,不存放视图的_____________。 答案:一个或几个基本表、定义、视图对应的数据 4.关系操作的特点是____________操作。 答案:集合 三、简答题

面向对象基础测试题和答案

共40 道选择题,每题 2.5 分。多选题有错则全错,全对才满分. 面向对象部分测试题 1. 下面描述函数重写错误的是 C A. 要有子类继承或实现 B. 子类方法的权限必须大于等于父类的权限 C. 父类中被private 权限修饰的方法可以被子类重写 D. 子类重写接口中的抽象方法,子类的方法权限必须是public 的 2. 关于封装下面介绍错误的是( D )。 A. 封装将变化隔离 B. 封装提高重用性。 C. 封装安全性 D. 只有被private 修饰才叫做封装 3. 试图编译运行下面的代码会发生什么情况 D public class MyClass{ static int i; public static void main(String[] args){ System.out.println(i); } } A. 错误,变量i 没有被初始化 B. 输出null C. 输出1 D. 输出0 4. 在Java 中,下面对于构造函数的描述正确的是(D)。 A. 类必须显式定义构造函数 B. 构造函数的返回类型是void C. 构造函数和类有相同的名称,并且不能带任何参数

D. 一个类可以定义多个构造函数 5. 下面Java 代码的运行结果是( C )。 class Penguin { private String name=null; // 名字 private int health=0; // 健康值 private String sex=null; // 性别 public void Penguin() { //是一般方法,不是构造方法health = 10; sex = " 雄"; System.out.println(" 执行构造方法。"); } public void print() { System.out.println(" 企鹅的名字是" + name + " ,健康值是" + health + " ,性别是" + sex+ " 。"); } public static void main(String[] args) { Penguin pgn = new Penguin(); pgn.print(); } } A. 企鹅的名字是null ,健康值是10 ,性别是雄。 B. 执行构造方法。 企鹅的名字是null ,健康值是0 ,性别是null 。 C. 企鹅的名字是null ,健康值是0 ,性别是null 。 D. 执行构造方法。 企鹅的名字是null ,健康值是10 ,性别是雄。 6. class A { public int i = 10; }

相关文档
相关文档 最新文档