当前位置:文档之家› 2011-2012(1)C++复习资料

2011-2012(1)C++复习资料

2011-2012(1)C++复习资料
2011-2012(1)C++复习资料

试卷题型:

1)选择题15题,共30分

2)填空题15题,共30分

3)程序阅读题3题,共15分

4)简答题3题,共15分5)编程题1题,共10分

一、选择题:

1)C++源程序文件的扩展名为( A )。

A.CPP B.C C.DLL D.EXE

2)下列C++标点符号中表示行注释开始的是( C )。

A.# B.; C.//D.}

3)在C++中,使用流进行输入输出,其中用于屏幕输入(A)

A. cin

B. cerr

C. cout

D. clog

4)每个C++程序都必须由且仅有一个( B )。

A.预处理命令B.主函数C.函数D.语句

5)已知:int k=1000;下列表示引用的方法中,( B )是正确的。

A.char &y; B.int &x=k; C.int &z=1000; D.float &t=&k;

6)( B )是给对象取了一个别名,他引入了对象的同义词。

A.指针B.引用C.枚举D.结构

7)一个函数功能不太复杂应选用( A )。

A.内联函数B.重载函数C.递归函数D.嵌套函数8)考虑函数原型void test(int a,int b=7,char c=’*’),下面的函数调用中,

属于不合法调用的是( C )。

A.test(5); B.test(5,8); C.test(6,"#") D.test(0,0,’*’);

9)适宜采用inline定义函数情况是(C)

A. 函数体含有循环语句

B. 函数体含有递归语句

C. 函数代码少、频繁调用

D. 函数代码多、不常调用

10)在C++中,关于下列设置参数默认值的描述中,正确的是( C )。

A.不允许设置参数的默认值

B.设置参数默认值只能在定义函数时设置

C.设置参数默认值时,应该实现设置右边的再设置左边的

D.设置参数默认值时,应该全部参数都设置

11)有如下定义:const char * ptr; 则ptr 应该是( C )

A.指向字符的指针B.指向字符的常量指针

C.指向字符串常量的指针D.指向字符串的常量指针

12)下面有关new和delete操作符的说法。哪个是不正确的

选项A:使用new操作符,可以动态分配全局堆中的内存资源

选项B:若指针P的类型已由A强制转换为void*,那么执行语句delete P时,类A 的析构函数不会被调用。

选项C:实现全局函数时,new和delete通常成对地出现在由一对匹配的花括号限定的语句块中。

选项D:执行语句A* P=new A[100]时,类A的构造函数只会被调用一次。

试题答案:D

13)下列有关重载函数的说法中正确的是

选项A:重载函数必须具有不同的返回值类型

选项B:重载函数参数个数必须相同

选项C:重载函数必须有不同的形参列表

选项D:重载函数名可以不同

试题答案:C

14)对于下面的几个函数:

1. void f(int x) (…)

2. int f(int y) (…)

3.int f(int i,int j)(…)

4. floct k(int x) (…)

是重载函数的是:

选项A:4个全部

选项B:1和4

选项C:2和3

选项D:3和4

试题答案:C

15)不能作为函数重载判断依据的是( D )。

A.参数个数B.参数类型

C.函数名字D.函数的返回类型

16)C++中声明常量的关键字是( A )。

A. const

B. extern

C. public

D. enum

17)与C语言printf(“Hello word\n”) ;语句功能相同的C++语句是( D )

选项A:cout>>”Hello word\n”

选项B:cin>>” Hello word\n”

选项C:cout<<” Hello word\n”

选项D:cin<<” Hello word\n”

18)关于类概念的描述中,( D )是错误的。

A.类是抽象数据类型的实现;

B.类是具有共同行为的若干对象的统一描述体;

C.类是创建对象的样板;

D.类不是C++中的一种数据类型;

19)以下关于C++中类的概念理解正确的是

选项A:类作为一种数据类型,在定义时不分配任何内存

选项B:类的成员要么是private的要么是public的

选项C:在类中,如果没有显示指定成员的访问权限,则缺省的访问权限是public 选项D:类对象与一般变量不同的是,在使用时无需初始化即可直接使用

试题答案:A

20)当一个派生类私有继承一个基类时,基类中的所有保护成员成为派生类的

()。

选项A:public成员

选项B:private成员

选项C:protected成员

选项D:友元

试题答案:B

21)有关类的说法不正确的是( D )。

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

B.只有类中的成员函数才能存取类中的私有成员。

C.在类中,如果不做特别说明,所指的数据均为私有类型。

D.在类中,如果不做特别说明,所指的成员函数均为公有类型。

22)在下面几个元素中,不是面向对象的要素的是( A );

A. 重载

B. 对象

C. 类

D. 继承

23)C++中,封装是借助于(B )达到的。

A.指针

B. 类

C. 数组

D. 函数

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

A.成员函数是内联函数; B.成员函数可以重载;

C.成员函数可以设置参数的缺省值; D.成员函数可以是静态的。

25)下面( D )是对类ttt的声明。

A.void class ttt;

B.class int ttt;

C.class ttt( );

D.class ttt;

26)下列关于构造函数的描述中,错误的是D

选项A:构造函数可以设置默认的参数

选项B:构造函数在定义类对象时自动执行

选项C:构造函数可以是内联函数

选项D:构造函数不可以重载

27)下面说法中正确的是( B )

A.一个类只能定义一个构造函数,但可以定义多个析构函数

B.一个类只能定义一个析构函数,但可以定义多个构造函数

C.构造函数与析构函数同名,知识名字前加了一个求反符号(~)

D.构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是void 类型也不可以

28)假定一个类的构造函数为A(int aa,int bb) {a=aa--;b=a*bb;},则执行A

x(4,5);语句后,x.a和x.b的值分别为(C)

A. 3和15

B. 5和4

C. 4和20

D. 20和5

答案:C

29)有关析构函数的说法不正确的是( B )

A.析构函数有且仅有一个

B.析构函数和构造函数一样可以有形参

C.析构函数的功能是用来释放一个对象

D.析构函数无任何函数类型

30)下列不能作为类的成员的是(B)

A. 自身类对象的指针

B. 自身类对象

C. 自身类对象的引用

D. 另一个类的对象

答案:B

31)对于任意一个类,析构函数的个数最多为( B )。

A.0 B.1 C.2 D.3

32)已知X类,则当程序执行到语句X array[3];时,调用了( D )次构造函数。A.0 B.1 C.2 D.3

33)假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问

x对象中函数成员a()的格式为(B)

A. x.a

B. x.a()

C. x->a

D. (*x).a()

答案:B

34)通常拷贝构造函数的参数表是( C )

A.当前对象名B.当前对象的成员名

C.当前对象的引用名D.当前对象的指针名

35)对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不

是访问控制属性的是( D )

A. 公有类型

B. 私有类型

C. 保护类型

D. 友元类型

36)下面关于类和对象的描述中,错误的是( A )

A. 类就是c语言中的结构体类型,对象就是C语言中的结构体变量

B. 类和对象之间的关系是抽象和具体的关系

C. 对象是类的实例,一个对象必须属于一个已知的类

D. 类是具有共同行为的若干对象的统一描述体 C

37)假定AB为一个类,则该类的拷贝构造函数的声明语句为

选项A:AB&(AB x)

选项B:AB(AB x)

选项C:AB(AB&)

选项D:AB(AB* x)

试题答案:C

38)在类定义的外部,可以被访问的成员有 C

选项A:所有类成员

选项B:private或protected的类成员

选项C:public的类成员

选项D:public或private的类成员

试题答案:C

39)关于this指针的说法错误的是

选项A:this指针必须显示说明

选项B:当创建一个对象后,this指针就指向该对象

选项C:成员函数拥有this指针

选项D:静态成员函数不拥有this指针

试题答案:A

40)声明一个类的对象时,系统自动调用构造函数,撤消对象时,系统自动调用

( C )函数

选项A:成员函数

选项B:构造函数

选项C:析构函数

选项D:普通函数

试题答案:C

41)下面对析构函数的正确描述是 C

选项A:系统不能提供默认的析构函数

选项B:析构函数必须由用户定义

选项C:析构函数没有参数

选项D:析构函数可以设置默认参数

试题答案:C

42)对类的构造函数和析构函数描述正确的是( A )

A. 构造函数可以重载,析构函数不能重载

B. 构造函数不能重载,析构函数可以重载

c. 构造函数可以重载,析构函数也可以重载

D. 构造函数不能重载,析构函数也不能重载

43)56.下面对静态数据成员的描述中,正确的是(A)

A. 静态数据成员是类的所有对象共享的数据

B. 类的每个对象都有自己的静态数据成员

C. 类的不同对象有不同的静态数据成员值

D. 静态数据成员不能通过类的对象调用

44)59.下列说法正确的是( B )

A..内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方

B. 内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方

C. 类的内联函数必须在类体内定义

D. 类的内联函数必须在类体外通过加关键字inline定义

45)下面对静态数据成员的描述中,正确的是( D )

A. 静态数据成员可以在类体内进行初始化

B. 静态数据成员不可以被类的对象调用

C. 静态数据成员不能受private控制符的作用

D. 静态数据成员可以直接用类名调用

46)对静态成员的不正确描述是 C

选项A:静态成员不属于对象,是类的共享成员

选项B:静态数据成员要在类外定义和初始化

选项C:调用静态成员函数时要通过类或对象激活,所以静态成员函数拥有this指针

选项D:非静态成员函数也可以操作静态数据成员

47)下面是关于静态成员的说法,其中不正确的是(D )。

A. 静态成员有类作用域,但与普通非静态成员有所不同

B. 静态函数没有this指针,同一个类的不同对象拥有相同的静态数据成员

C. 静态数据成员的初始化必须在类外进行

D. 静态函数同样可以直接访问非静态数据成员

48)下面函数(C)的表示方法说明它使用对象的引用作为参数。

A. test(pt *p)

B. test(pt p)

C. test(pt &p)

D. test(const P)

49)设有以下类的定义:

class Ex

{ int x;

public :

void setx(int t=0);

};

若在类外定义成员函数setx(B),以下定义形式正确的是

选项A:void setx(int t){…}

选项B:void Ex:: setx(int t){…}

选项C:Ex::void setx(int t){…}

选项D:void setx(){…}

50)以下对派生类的描述中不正确的是 C

选项A:一个派生类可以作为另一个派生类的基类

选项B:一个派生类可以有多个基类

选项C:具有继承关系时,基类成员在派生类中的访问权限不变

选项D:派生类的构造函数与基类的构造函数有成员初始化参数传递关系

51)在C++语言类体系中,不能被派生类继承的有( B )

A. 转换函数

B. 构造函数

C. 虚函数

D. 静态成员函数

52)使用派生类的主要原因是( A )。

A.提高代码的可重用性B.提高程序的运行效率

C.加强类的封装性D.实现数据的隐藏

53)下列描述中,表达错误的是

选项A:公有继承的基类中的public成员在派生类中仍是public的

选项B:私有继承的基类中protected成员在派生类中仍是protected的

选项C:公有继承的基类中的protected成员在派生类中仍protected的

选项D:私有继承的基类中public成员在派生类中是private的

试题答案:B

54)类C是以多重继承的方式从类A和类B继承而来的,类A和类B无公共的基类,

那么 B

选项A:类C的继承方式只能采用public继承

选项B:类C中包含了类A和类B的成员。

选项C:类A和类B至少有一个是抽象类。

选项D:类A类B只少有一个是虚基类。

55)派生类的对象对它的基类成员中( A )是可以访问的。

A.公有继承的公有成员; B.公有继承的私有成员;

C.公有继承的保护成员; D.私有继承的公有成员

56)设有基类定义:

class cbase

{ private:int a;

protected:int b;

public:int c;

};

派生类采用何种继承方式可以使成员变量b成为自己的私有成员 A

选项A:私有继承

选项B:保护继承

选项C:公有继承

选项D:私有,保护,公有均行

57)假设Class Y:public X,即类Y是类X的派生类,则定义一个Y类的对象时和

删除Y类对象时,调用构造函数和析构函数的次序分别为(A)

A. X,Y;Y,X

B. X,Y;X,Y

C. Y,X;X,Y

D. Y,X;Y,X

58)设有cbase为基类,cderived是cbase的派生类,且有以下定义:

cbase a1,*b1;

cderived aa1,*bb1;

则以下语句不合语法的是 D

选项A:b1=bb1

选项B:a1=aa1

选项C:b1=&aa1

选项D:aa1=( cderived )a1

59)对基类和派生类的关系描述中,错误的是(B)

A. 派生类是基类的具体化

B. 基类继承了派生类的属性

C. 派生类是基类定义的延续

D. 派生类是基类的特殊化

60)下列描述中哪个是正确的?( B )

A. 私有派生的子类无法访问父类的成员

B. 类A的私有派生子类的派生类C无法初始化其祖先类A对象的属性,因为类

A的成员对类C是不可访问的

C. 私有派生类不能作为基类派生子类

D. 私有派生类的所有子孙类将无法继续继承该类的成员

61)在C++中,类与类之间的继承关系具有 C

选项A:自反性

选项B:对称性

选项C:传递性

选项D:反对称性

62)下列关于类的继承描述中,错误的是 A

选项A:派生类可以访问基类的所有数据成员,也能调用基类的所有成员函数

选项B:派生类也是基类,但基类不一定具有派生类的全部属性和方法

选项C:继承描述类的层次关系,派生类可以具有与基类相同的属性和方法选项D:一个基类可以有多个派生类,一个派生类可以有多个基类

63)当不同的类具有相同的间接基类时,有如下特点 A

选项A:各派生类对象将按继承路线产生自己的基类版本

选项B:派生类对象无法产生自己的基类版本

选项C:为了建立惟一的间接基类版本,在基类定义前加virtual即可

选项D:为了建立惟一的间接基类版本,不必声明虚继承

64)在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的

是( C )

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

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

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

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

65)下列关于虚基类的描述,错误的是( B )

A. 设置虚基类的目的是为了消除二义性

B. 虚基类的构造函数在非虚基类之后调用

C. 若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序

调用

D. 若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派

生类的构造函数

66)关于动态联编的下列描述中,错误的是( D )。

A. 动态联编是以虚函数为基础的

B. 动态联编时在运行时确定所调用的函数代码的

C. 动态联编调用函数操作是使用指向对象的指针或对象引用

D. 动态联编是在编译时确定操作函数的

67)在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、

参数的顺序和函数的返回值 B

选项A:不同

选项B:相同

选项C:相容

选项D:部分相同

试题答案:B

68)若一个类中含有纯虚函数,则该类称为 D

选项A:基类

选项B:纯基类

选项C:派生类

选项D:抽象类

69)关于虚函数,正确的描述是( C )。

A.析构函数不能是虚函数B.虚函数可以是友元函数

C.构造函数不能是虚函数D.虚函数可以是静态成员函数

70)编译时的多态性通常使用( B )获得。

A.继承B.虚函数C.重载函数D.析构函数

71)要实现动态联编,派生类中的虚函数()。

A.返回的类型可以与虚函数的原型不同

B.参数个数可以与虚函数的原型不同

C.参数类型可以与虚函数的原型不同

D.以上都不对

72)所谓多态性是指(B)

A. 不同的对象调用不同名称的函数

B. 不同的对象调用相同名称的函数

C. 一个对象调用不同名称的函数

D. 一个对象调用不同名称的对象

73)下面关于虚函数的描述,错误的是(B)

A. 在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数

B. 基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数

C. 虚函数可以是另一个类的友元函数,但不能是静态成员函数

D. 基类中说明的纯虚函数在其任何派生类中都必须实现

74)虚函数的调用()。

一定使用动态联编

必须使用动态联编

一定使用静态联编

不一定使用动态联编

75)下面的说法中,不正确的一句是()。

A.类的友元函数是类的特殊成员函数,它对所有的类成员、保护成员和私有成员享有完全访问特权。

B. 一个类的友元类中的成员函数都是这个类的友元函数

C. 适用于类成员函数和数据的访问控制同样适用于枚举和嵌套类

D. 与结构类似,类也可以互相嵌套,适用于嵌套结构的规则也适用于嵌套类

76)如果类A被说明成类B的友元,则(D)

A. 类A的成员即类B的成员

B. 类B的成员即类A的成员

C. 类A的成员函数不得访问类B的成员

D. 类B不一定是类A的友元

77)下面是关于一个类的友元的说法,其中不正确的是()

友元函数可以访问该类的私有数据成员

友元的声明必须放在类的内部

友元函数可以是类的成员函数

类与类之间的友元关系不能被继承

78)下列运算符中,()运算符在C++中不能重载。

A.?:B.+C.-D.<=

79)如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符

是( D )

A. 一元运算符

B. 二元运算符

C. 选项A)和选项B)都可能

D. 重载错误

80)下列运算符中,在C++语言中不能重载的是( C )

A. ++

B. >=

C. ::

D./

81)假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并

返回相加结果,则该成员函数的声明语句为 B

选项A:AB operator+(AB& a , AB& b)

选项B:AB operator+(AB& a)

选项C:operator+(AB a)

选项D:AB& operator+( )

82)类A是类B的友元,类B是类C的友元,则()是正确的。

A.类B是类A的友元B.类C是类A的友元

C.类A是类C的友元D.以上都不对

83)模板的使用是为了()。

A.提高代码的可重用性B.提高代码的运行效率

C.加强类的封装性D.实现多态性

84)类模板的使用实际上是类模板实例化成一个具体的()

A.类B.对象C.函数D.模板类

85)类模板的模板参数()

A.只可作为数据成员的类型B.只可作为成员函数的返回类型C.只可作为成员函数的参数类型D.以上三者皆可

二、填空题或选择题需掌握的知识点

1)具有相同函数名但具有不同参数表的函数称为__重载函数_。'

2)在一个C++程序中,每个变量都必须遵循_先定义后使用_的原则。

3)定义一个函数时,若只允许函数体访问形参的值而不允许修改它的值,则应把该形参声

明为___常量___,即在该形参声明的前面加上___ const ___关键字进行修饰。

4)在一个函数的定义或声明前加上关键字___ inline ______时,该函数就声明为内联函数。

5)静态整型变量的默认初始值是___0___。

6)在撤销类的对象时,C++程序将自动调用该对象的___析构___函数。

7)类中的构造函数是一个特殊的成员函数,它由类的对象____自动_调用,它的作用是___

为对象分配内存,数据成员初始化__。

8)对类中的成员函数和属性的访问是通过__public__、__protected__和___private__这3

个关键字来控制的。

9)__delete__运算符删除new运算符所动态分配的内存空间。

10)假定用户没有给一个名为MyClass的类定义析构函数,则系统为其定义的默认析构函数

形式为____MyClass()_____。

11)类中构造函数有__一个或多__个,析构函数有___一___个。

12)类是对具有共同属性和行为的一类事物的抽象描述,共同属性被描述为类中的___数据

成员___ ,共同行为被描述为类中的__成员函数__。

13)若要把类FriendClass定义为类MyClass的友元类,则应在类MyClass的定义中加入语

句_friend class FriendClass;___。

14)___ new ___运算符对指定类型对象动态分配内存并返回该类型的___指针__。

15)若要把函数void FriendFunction()定义为类MyClass的友元函数,则应在类MyClass的

定义中加入语句___friend void FriendFunction();__________。

16)类的具体表现是通过定义___对象______来操作的。

17)在定义类的对象时,C++程序将自动调用该对象的___构造______函数初始化对象自身。

18)一般情况下,按照面向对象的要求,把类中的数据成员(属性)定义为___private___权限,

而把成员函数(方法)定义为___ public ___权限。

19)在类中定义和实现的函数称为__内联函数_______。

20)非成员函数应声明为类的____友元函数_____才能访问这个类的private成员。

21)垂直访问时,保护成员的访问控制权限与____公有_____成员相同。

22)利用继承能够实现___代码复用______。这种实现缩短了程序的开发时间,促使开发人

员复用已经测试和调试好的高质量软件。

23)派生类对基类的继承有三种方式:___ _public__、___protected__ 和___private ___。

24)多继承情况下,派生类的构造函数的执行顺序取决于____定义_____派生类时所指定的

各基类的顺序。

25)C++提供的___多继承______机制允许一个派生类继承多个基类,即使这些基类是相互

无关的。

26)派生类可以调用其___定义______中不具备的数据和操作。

27)对基类数据成员的初始化必须在派生类构造函数中的____初始化列表_____处执行。

28)如果类Alpha继承了类Beta,则类Alpha称为___派生__类,类Beta称为__基____类。

29)设置虚基类的目的是___为了消除二义性___,可通过______ virtual ______标识虚基类。

30)若多继承时,多个基类中拥有一个同名的成员,则___不能______用调整访问权限确定

对该成员的访问。

31)多继承可以视为是___单继承___的扩展。

32)类继承中,缺省的继承方式是___ private ______。

33)当用protected继承从基类派生→个类时,基类的public成员成为派生类的

__protected__成员,protected成员成为派生类的_____protected____成员。

34)_公有派生__类的对象可作为____基___类的对象处理。

35)指向基类的对象的指针变量也可以指向___公有派生类______的对象。

36)类之间的”有”关系代表______组合______,”是”关系代表___继承___。

37)在析构函数中调用虚函数时,采用___静态______联编。

38)动态联编是在___虚函数___的支持下实现的,它通过___指针或引用___来调用该函数操

作。

39)动态联编中直到___程序运行___时才能确定调用哪个函数:而耐静态联编刷则是在___

程序编译___时进行的。

40)C++中__不支持__虚构造函数,但___支持___虚析构函数。

41)静态联编所支持的多态性称为___编译时___多态性,动态联编所支持的多态性则称为

___运行时___多态性,动态多态性由___虚函数___来支持。

42)在类定义中,将___=0______置于虚函数的函数原型的末尾可以将该函数声明为纯虚函

数。

43)抽象类不能___定义对象___,但可以___声明指针或引用___作为参数类型,函数返回类

型或显式转换类型。

44)对虚函数使用对象指针或引用调用,系统使用_动态__联编:使用对象调用时,系统使用__

静态__联编。

45)在一个成员函数内调用一个虚函数时,对该虚函数的调用进行__动态_______联编。

46)带有___纯虚函数___的类称为抽象类,它只能作为___基类___来使用。

47)在C++中,只能重载为类的成员函数的运算符是____=__、__()__、__[ ]__、_->___。

48)运算符()与运算符[]必须重载为__类的成员函数_______。

49)利用成员函数对二元运算符重载,其左操作数为_this指针指向的当前对象__,右操作数

为__成员函数参数__。

50)单目运算符作为类成员函数重载时___类成员函数___的参数;双目运算符作为___②

___重载时需声明其右操作数,作为___友元函数___重载时需声明全部操作数。

51)重载运算符函数的函数名关键字___ operator ______。

52)重载的运算符仍然保持其原来的优先级、___结合性__和__语法结构__。

53)为满足运算符+的可交换性,必须将其重载为___友元函数______。

54)C++中不能重载的运算符有____.__、__* (取内容) __、__::__、__?:__和__size of___。

55)设a和b是两个整型变量,a+b表示这两个变量的和:设c和d为浮点型变量,c+d也表示

这两个变量的和。这里的运算符+具有不同的用途,这是____运算符重载_____的例子。

56)出错时产生异常的代码放在try块中

57)throw语句可以抛出任意类型的异常,包括自定义类型

58)catch块(异常处理器)捕捉和处理异常

59)异常处理可以增加系统的鲁棒性

60)catch(…)能匹配成功所有的数据类型的异常对象,

61)可以在函数的声明中列出这个函数可能抛掷的所有异常类型。

62)Windows操作系统是一个基于消息的操作系统

63)系统向应用程序发送消息时,将向应用程序发送4个参数:一个窗口的句柄、一个消息

标识、两个32位的参数

64)Windows消息大体上可以分为两大类:一类是系统定义的消息,另一类是用户自定义的

消息。

65)对话框分为模式对话框和非模式对话框两种。

三、程序阅读题:

内联函数、带默认参数值的函数、函数重载、构造函数、拷贝构造函数、析构函数、单继承构造函数、多继承构造函数、虚基类、虚函数、虚函数与构造函数、虚函数与析构函数

四、简答题

1)内联函数使用上的限制

1.不能有递归2不能包含静态数据3不能包含循环4不能包含switch和goto语句5不

能包含数组

2)定义带默认参数值函数的规则

答:如果函数有多个默认参数,则默认参数必须是从右向左定义,并且在最右边一个默认参数的右边不能有未指定默认值的参数

3)指针与常量的关系

4)类的含义答:类是C++语言的数据抽象和封装机制,它描述了一组具有相同属性(数

据成员)和行为特征(成员函数)的对象。在系统实现中,类是一种共享机制,她提供了本类对象共享的操作实现。类是代码复用的基本单位,它可以实现抽象数据类型,创建对象,实现属性和行为的封装。

5)构造函数的特点

构造函数是一个与类同名,没有返回值(即使是void也不可以有,但在函数体内可有无值的return语句)的特殊成员函数。一般用于初始化类的数据成员,每当创建一个对象时(包括使用new动态创建对象),编译系统就自动调用构造函数,构造函数既可以在类外定义,也可作为内联函数在类内定义。一个类可以有多个构造函数,但他们的形式参数的类型和个数不能完全相同。格式:<类名>::构造函数名(<形式参数表>)6)析构函数的定义及其特点

析构函数的功能是当对象被撤销时,释放该对象占用的内存空间。其作用与构造函数相反,执行构造函数的逆运算,在对象消亡时,系统将自动调用析构函数,执行一些在对象撤销前必须执行的清理任务。

1.析构函数的名字必须与类名相同,但它前面必须加一个波浪号~ ;

2.析构函数没有

参数,也没有返回值,而且不能被重载,因此在一个类中只能有一个析构函数;3.当撤销对象时,编译系统会自动地调用析构函数。

7)派生类的定义及其特点

Class<派生类名>:[继承方式]<基类名>

{

//派生类成员声明

}

C++语言为了实现代码重用,采用对象成员和继承,在面向对象中,大量使用派生和继承,类的派生可以建立具有共同关键特征的对象家族,从而实现代码重用。

派生类除了包括从基类继承来的所有成员外,还包括新增加的数据成员和成员函数,这些新增加的成员正是派生类不同于基类的关键所在,是派生类对基类的发展。重用和扩充已有的代码,就是通过在派生类中新增加的成员来添加新的属性和功能的

8)继承方式的种类及其各自的特点

1,公有继承。A基类公有成员相当于派生类的公有成员,即派生类可以像访问自身公有成员一样访问从基类继承的公有成员。B基类保护成员相当于派生类的保护成员c基类的私有成员,派生类内部成员无法直接访问。

2私有继承。A.基类公有成员和保护成员都相当于派生类的私有成员,派生类只能通过自身的成员函数访问他们B基类的私有成员,无论派生类内部成员或派生类的对象都无法直接访问。

3.保护继承。A基类公有成员和保护成员都相当于派生类的保护成员,派生类可以通过

自身的成员函数或其子类的成员函数访问他们B基类的私有成员,无论派生类内部的成员或派生类的对象都无法直接访问

9)在继承中构造函数和析构函数的调用规则

派生类构造函数:基类构造函数,对象成员1.。。。。。。对象成员n

{派生类新增成员的初始化语句}

1派生类的构造函数名与派生类名相同

2参数表需要列出初始化基类数据,新增内嵌对象数据及新增一般数据成员所需要的全部参数

3冒泡之后,列出需要使用参数进行初始化的基类名和内嵌成员名及各自的参数表,各项逗号隔开。

执行顺序先基类再对象成员后派生类本身,析构函数刚好相反

10)赋值兼容原则

在所有需要使用基类对象的地方都可以使用公有派生类对象来代替。

11)抽象类的特点

1抽象类只能作为基类来派生新类,不能建立抽象类的对象

2抽象类不能作为参数类型,函数返回值类型或显式转换的类型

3可以声明指向抽象类的指针和引用,此指针可以指向它的公有派生类,进而实现多态性4从一个抽象类派生的具体类必须提供纯虚函数的实现代码

5如果基类中含有纯虚函数,而其他派生类却并没有重新定义这些纯虚函数的覆盖成员函数,那么这个派生类也是抽象类,因此不能用来定义对象,但此情况不会影响以后的派生类6含有纯虚函数的类中可以包含非纯虚函数,但这些非纯虚函数只能通过其派生类的对象才能被引用

7如果派生类中给出了基类的缩影纯虚函数的实现,该派生类不再是抽象类

8在成员函数内可以调用纯虚函数,但在构造函数或析构函数内调用纯虚函数将导致程序连接错误,因为没有为纯虚函数定义的代码

12)友元的特点

只要外界的某个对象说明为一个类的友元,那么这个外界对象就可以访问这个类对象中的私

有成员,声明为友元的外界对象即可以是另一个类的成员函数,也可以是不属于任何类的一般函数,还可以是整个类。

13)运算符重载的限制

1成员访问运算符“.”

2作用域运算符::

3条件运算符?:

4成员指针运算符*

5编译预处理命令的开始符号#

14)异常处理语法格式

1try可能发生异常的程序代码放在try中

2.throw抛出异常

3.catch捕获异常,进行异常处理

15)常成员函数的语法定义及其特点

常成员函数的声明和定义在形式上必须一致,即在函数形参列表的右括号后面加上const。

16)鼠标处理的消息分类

五、编程题:

1、类和对象

2、继承

3、运算符重载

C语言程序设计实验手册

实验手册使用及要求 实验操作是教学过程中理论联系实际的重要环节,而实验报告的撰写又是知识系统化的吸收和升华过程,因此,实验报告应该体现完整性、规范性、正确性、有效性。现将实验报告撰写的有关内容说明如下: 1、实验前按实验要求手写程序或程序填空,并走查代码,有疑问处标记, 上机时在C语言集成开发环境下输入并调试手写程序,分析运行结果。 实验结束后填写通过后的源程序和对实验的总结。 通过后的源程序可以手写也可以打印粘贴。 实验项目一览表

实验一熟悉C语言编程环境 实验目的: 1.熟悉C语言编程环境(VC++、Cfree、等) 2.了解C程序的基本框架 3.理解程序调试的思想,能找出并改正C程序中的错误 实验内容: 建立自己的文件夹:在磁盘上建立一个文件夹,用于存放自己的C程序 编程示例 在屏幕上显示一个短句“Programming in C is fun!”(教师示例,学生模仿并创新,如输出汉字、特除字符等。学会使用编程环境VC++,启动、编辑、编译、运行、保存、关闭、打开) 编程 在屏幕上显示如下网格。 +---+---+ | | | | | | +---+---+ 调试示例 改正下列程序中的错误,在屏幕上显示“Welcome to You !”。(掌握找错、改错的方法) 源程序: # include <> int mian(void) { printf(Welcome to You! \n") getchar(); return 0; } 注:需要修改的语句直接在程序上标注并修改 实验总结:

实验二用C语言编写简单程序 实验目的: 1.掌握算术表达式和赋值表达式的使用 2.掌握基本输出函数的使用 3.能够自己编程实现简单的数据处理 4. 熟练掌握简单if语句使用 5. 熟练掌握for语句的使用 6. 掌握简单C程序的查错方法、单步调试 实验内容: 调试以下程序,求华氏温度对应的摄氏温度。计算公式为:C=5*(f-32)/9 #include <> int main(void) { int celsius; fahr; scanf("%d ",fahr); celsius = 5 * (fahr - 32) / 9; printf("fahr = d, celsius = %d\n", fahr, celsius); return 0; } 注:需要修改的语句直接在程序上标注并修改 编写程序计算定期存款本利之和: 设银行定期存款的年利率rate为%,并已知存款期为n年,存款本金为capital 元,试编程计算n年后的本利之和deposit。要求定期存款的年利率rate、存款期n和存款本金capital均由键盘输入,输出时保留两位小数。计算公式为:deposit=capital(1+rate)n

《Java语言程序设计》实验指导手册

Java语言程序设计实验指导手册 班级:_______________ 学号:_______________ 姓名:_______________ 电子与信息工程学院计算机科学系

第一部分上机实验的指导思想和要求 一、上机实验的目的 《Java语言程序设计》是计算机专业的主要选修课。Java语言是目前广为流行的程序设计语言之一,适用于网络上编程,满足Internet上软件开发的需要,它是一门概念性和实践性都很强的专业课程。通过学习本课程,应能准确完整地理解Java语言的语法、语义规则;掌握Java语言的数据类型、表达式及控制流程;运用面向对象程序设计思想,正确的阅读、分析程序和设计程序,掌握面向对象程序设计方法,提高程序设计能力,以适应计算机学科不断发展的需要。 通过系统地上机练习,力求能够达到以下三个目的: 1、课堂讲授内容的理解,从计算机语言的基本概念、程序设计的基本方法、语法规则等方面加深理解,打好程序设计、开发软件的良好基础。 2、上机实验中,提高学生对Java语言各部分内容的综合使用能力,逐步掌握Java 语言程序设计的规律与技巧。 3、在对Java程序的调试过程中,提高学生分析程序中出现的错误和排除这些错误的能力。 二、上机实验前的准备工作 在上机实验前应事先做好准备工作,以提高上机实验的效率,准备工作至少应包括: 1、复习和掌握与本实验有关的教学内容; 2、实验前对每次上机需要完成的题目进行认真的分析,列出实验具体步骤; 3、写出符合题目要求的程序清单,准备出调试程序使用的数据,以便提高上机实验的效率。 4、对运行中可能出现的问题事先作出估计,对程序中自己有疑问的地方,应作出记号,以便在上机时给予注意。 三、上机实验的步骤 上机实验一般应包括以下几个步骤: 1、进入Java工作环境(例如命令提示符或MyEclipse集成开发环境)。 2、配置JDK的环境变量。 3、编译并调试Java源程序。如果在编译过程中发现错误,屏幕上会出现“出错信息”,根据提示找到出错位置和原因,加以改正。再进行编译……,如此反复直到程序顺利通过编译为止。

C语言程序设计实验指导书

C 语言程序设计 实 验 指 导 书 电子工程学院 2012-2

实验一 C程序的运行环境和编辑、调试、运行简单C程序 一、实验目的 1.了解 Turbo C 的基本操作方法,学会独立使用该系统。 2.掌握在该系统上如何编辑、编译、运行一个C程序。 二、实验内容及步骤 1.进入C的工作环境 1)在Windouws环境下:“开始”→“程序”→“MS-DOS” 屏幕上进入 MS-DOS窗口 2)在Dos环境下:键入命令c:\> cd c:\tc↙ c:\tc> tc↙ 屏幕上出现Turbo C的工作环境 2.熟悉Turbo C的工作环境 了解Edit窗口与Message窗口 了解主菜单的8个菜单项 File Edit Compile Project Option Debug break/watch 3.输入并运行一个简单的程序 File→New 输入源程序:

main() { printf("This is a C program.\n"); printf("OK\n"); } 按F9进行编译和连接,观察屏幕上显示的编译信息。如果出现出错信息,则应找出原因并改正。 按Run→Run(或按Ctrl+F9) 编译、连接、运行一起完成。 按Run→User screen(或按Alt+F5) 察看运行结果。 按任一键从用户屏切换回TC窗口。 4.输入并编辑第二个C程序 File→New 输入源程序: main ( ) { int a,b,sum; a=123; b=456; sum=a+b; printf("sum is %d\n", sum); }

编辑、运行、调试该程序。 5.编辑、运行、调试自己编写的程序(至少一个程序) 如:输入上底、下底和高,计算梯形面积。 观察屏幕上显示的编译信息。如果出现出错信息,则应找出原因并改正。 用File→Save (或F2)保存程序(程序名为a1.c) 三、实验报告要求 写明: 1.实验目的 2.实验内容与步骤 3.编写的程序(题目,经调试、运行后正确的程序) 4.编译过程中出现的错误信息。 5.总结讨论本次实验的结果和收获。

《C语言程序设计》上机实验指导手册

C语言程序设计 上机实验指导手册 电子与信息工程学院 计算机科学系

第一部分上机实验的指导思想和要求 一、上机实验的目的 学习《C语言程序设计》课程不能满足于“懂得了”,满足于了解了语法和能看懂书上的程序,而应当掌握程序设计的全过程,即能独立编写出源程序,独立上机调试程序,独立运行程序和分析结果。 “程序设计”是一门实践性很强的课程,必须十分重视实践环节。许多实际的知识不是靠听课和看书学到手的,而是通过长时间的实践积累的。要提倡通过实践去掌握知识的方法。必须保证有足够的上机实验时间,学习本课程应该至少有30 小时的上机时间,最好能做到与授课时间之比为1:1 。除了学校规定的上机实验以外,应当提倡学生自己课余抽时间多上机实践。 上机实验的目的,绝不仅是为了验证教材和讲课的内容,或者验证自己所编的程序正确与否。学习程序设计,上机实验的目的是: (1)加深对讲授内容的理解,尤其是一些语法规定,光靠课堂讲授,既枯燥无味又难以记住,但它们是很重要的,初学者的程序出错往往错在语法上。通过多次上机,就能自然地、熟练地掌握。通过上机来掌握语法规则是行之有效的方法。 (2)熟悉所用的计算机系统的操作方法,也就是了解和熟悉C语言程序开发的环境。一个程序必须在一定的外部环境下才能运行,所谓“环境”,就是指所用的计算机系统的硬件和软件条件,或者说是工作平台。使用者应该了解为了运行一个C程序需要哪些必要的外部条件(例如硬件配置、软件配置),可以利用哪些系统的功能来帮助自己开发程序。每一种计算机系统的功能和操作方法不完全相同,但只要熟练掌握一两种计算机系统的使用,再遇到其他系统时便会触类旁通,很快就能学会。 (3)学会上机调试程序。也就是善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行。经验丰富的人,在编译连接过程中出现“出错信息”时,一般能很快地判断出错误所在,并改正之。而缺乏经验的人即使在明确的“出错提示”下也往往找不出错误而求助于别人。要真正掌握计算机应用技术,就不仅应当了解和熟悉有关理论和方法,还要求自己动手实现。对程序设计来说,则要求会编程序并上机调试通过。因此调试程序不仅是得到正确程序的一种手段,而且它本身就是程序设计课程的一个重要的内容和基本要求,应给予充分的重视。调试程序固然可以借鉴他人的现成经验,但更重要的是通过自己的直接实践来累积经验,而且有些经验是只能“会意”难以“言传”。别人的经验不能代替自己的经验。调试程序的能力是每个程序设计人员应当掌握的一项基本功。 因此,在做实验时千万不要在程序通过后就认为万事大吉、完成任务了,而应当在己通过的程序基础上作一些改动(例如修改一些参数、增加程序的一些功能、改变某些语句、改变输入数据的方法等),再进行编译、连接和运行。甚至于“自设障碍”,即把正确的程序改为有错的(例如语句漏写分号;用scanf函数输入变量时,漏写“&”符号;比较符“= =”错写为赋值号“=”;使数组下标出界;使整数溢出等),观察和分析所出现的情况。这样的学习才会有真正的收获,是灵活主动的学习而不是呆板被动的学习。 二、上机实验前的准备工作 在上机实验前应事先做好准备工作,以提高上机实验的效率,准备工作至少应包括: (1)了解所用的计算机系统(包括C编译系统和工作平台)的性能和使用方法; (2)复习和掌握与本实验有关的教学内容; (3)准备好上机所需的程序。由于计算机实验室给每个学生安排的时间是有限的,要珍惜时间,充分利用。应当在上机前按指定的题目编写好程序。手编程序应书写整齐,并经人工检查无误后才能上机,以提高上机效率。初学者切忌不编程序或抄别人程序去上机,应从一开始就养成严谨的科学作风; (4)对运行中可能出现的问题事先作出估计,对程序中自己有疑问的地方,应作出记号,以便在上机时给予注意; (5)准备好调试和运行时所需的数据。 三、上机实验的步骤 上机实验时一人一组,独立上机,复杂分组进行,相互讨论完成任务。上机过程中出现的问题,除了是系统的问题以外,一般应自己独立处理,不要轻易举手问教师。尤其对“出错信息”,应善于自己分析判断。这是学习调试程序的良好机会。 上机实验一般应包括以下几个步骤: (1)进入C工作环境(Dev-C++ 5.8.3)。 (2)输入自己所编好的程序。 (3)检查一遍已输入的程序是否有错(包括输入时打错的和编程中的错误),如发现有错,及时改正。 (4)进行编译和连接。如果在编译和连接过程中发现错误,屏幕上会出现“出错信息”,根据提示找到出错位置和原因,加以改正。再进行编译……,如此反复直到顺利通过编译和连接为止。 (5)运行程序并分析运行结果是否合理和正确。在运行时要注意当输入不同数据时所得到的结果是否正确。 (6)输出程序清单和运行结果。 四、实验验收 (1)现场验收,学生讲解、提问、答辩的方式,通过三方面的表现给出实验成绩; (2)提交程序清单(电子版)。

C程序设计上机实验报告((完整版))

C语言程序设计上机实验报告 学院:机械工程学院 班级:机自161213 姓名:刘昊 学号:20162181310 实验时间:2017 年3 月6 号 任课老师:张锐

C语言程序设计上机实验报告 实验一 一、实验名称: C 程序的运行环境和运行C程序的方法 二、实验目的:了解在 程序 C 编译系统上如何编辑、编译、连接和运行一个 C 三、实验内容: (1). (2). (3). 输入并运行一个简单的C程序。 设计程序,对给定的两个数求和。 设计程序,对给定的两个数进行比较,然后输出其中较大的数。 四、源程序代码: 代码1: 运行结果1:

程序分析1: 该程序用来判断所输入的整数是否为一个素数,如果一个数能被除了 1 和它本身整除,还能被其它数整除,那么它就不是一个素数,因此,用for 循环来进行整除过程的简写。 代码2: 运行结果2:

程序分析2: 简单的使用printf() 和scanf() 函数进行简单的数据运算。代码3: 运行结果3:

程序分析3: 使用if 语句进行判断。 五.实验总结 C语言程序设计上机实验报告 实验二 一、实验名称:顺序结构程序设计 二、实验目的:正确使用常用运算符(算术运算符、赋值运算符)的用法, 熟练掌握算术运算符及其表达式,逻辑运算符和逻辑表达式。 三、实验内容: (1). 编写程序,实现小写字母转大写。

(2). 编写程序,实现输入两个不同类型数据后,经过适当的运算(加、减、乘、除)后输出。 (3). 编写程序,计算三角形面积、立方体的体积和表面积、圆的面积和周长。 (4). 编写程序,实现单字符getchar 和putchar 输入输出。 (5). 编写程序,实现十进制、八进制、十六进制不同数制的输出。 四、源程序代码 代码1: 运行结果1: 程序分析1:

c程序设计教程与实验__吉顺如__实验一到七

实验1熟悉Visual C++环境及运行C程序 一、实验目的 1.掌握在Visual C++环境下C程序的建立、编辑、编译和执行过程。 2.掌握C程序的最基本框架结构,完成简单程序的编制与运行和调试。 3.掌握发现语法错误、逻辑错误的方法以及排除简单错误的操作技能。 二、实验内容 1.从键盘输入两个数a和b,求它们的平方和,并在屏幕上输出。输入该C程序,编译并运行之,记下屏幕的输出结果,以文件名保存。 #include <> main() { int a,b,sum; /*定义整型变量a、b、sum */ printf("Please Input a,b \n "); /*输出提示信息*/ scanf("%d%d",&a,&b); /*从键盘输入两个整数分别赋予a和b*/ sum=a*a+b*b; /*赋值语句,把a2+b2的结果赋给变量sum*/ printf("%d*%d+ %d*%d=%d\n",a,a,b,b,sum); /*输出语句*/ }

改错题 (1计算x*y 的值并将结果输出。试纠正程序中存在的错误,以实现其功能。程序以文件名保存。 #include <> main main () { int x=2;y=3;a int x=2,y=3,a ; A=x*y a =x*y ; print ('a=%d",A); print f ("a=%d",a ); printf("\n"); } (2)下程序的功能为:求两数中的较大数据并输出。纠正程序中存在的错误,以实现其功能。程序以文件名保存。 #include <> viod main() void main() { int a ,b , max; Scanf(“%d,%d ”,&a,&b); s canf(“%d,%d ”,&a,&b); Max=a; m ax=a; If (max

北京邮电C语言程序设计实验指导书10版 V1.0

《C语言程序设计》 实 验 指 导 手 册 授课教师: 宋 茂 强 实验指导教师: 李 晶 教学对象: 一年级本科生 开课时间: 秋季学期 北京邮电大学软件学院 2010年8月

《C语言程序设计》实验指导手册 (2010年8月) 实验内容分为九部分,涉及到编程环境的使用,循环控制语句的练习,判断分支语句练习,函数的应用,模块化开发,数组和字符串的应用,结构体、指针以及链表的应用等,最终完成一个学生成绩管理系统的设计与实现。 关于实验的说明: 1. 实验环境为:Visual Studio C++ 6.0。 2. 有需要提交实验内容的部分在实验要求一项中有提示。 3. 实验内容提交至:ftp://59.6 4.164.17/软件学院/ 10级/软件学院10级C 语言程序设计用户名:student,密码:student。 4. 提交时请注意:每一部分都有对应的文件夹,每个班都有对应的文件夹。 提交内容时,遵守“学号-姓名”命名规则上传。比如,2010211501班某 同学张三,学号为100011,完成的第一部分实验包含了两部分:工程和 实验报告。工程的提交方法:找到“part 1”文件夹下 “10-01”文件夹,找 到“project”文件夹,并将工程打包为.rar包,命名为:100011-张三.rar, 传到这个文件夹下。实验报告的提交方法:找到“part 1”文件夹下 “10-01” 文件夹,找到“report”文件夹,将word形式的实验报告命名为:100011- 张三.doc上传至该文件夹下。 第一部分: VC6.0的使用(2学时) 1.实验目的 (1) 掌握Visual Studio C++ 6.0 编程环境的基本使用方法; (2) 掌握如何在Visual Studio C++ 6.0编程环境下为工程引入第三方类库。 2.实验内容 如何建立新的工程 (1) 打开【file】|【new】,出现new窗口。选择【project】选项卡,选择【Win32 Console Application】。在右面的【project name】栏中输入工程的名字,【location】项是指定当前的工程文件放在那个目录中,单击右面的按钮 可以进行更改。选择一个合适的目录(更为方便的方法是,在硬盘上建 立一个自己的目录,比如在D盘上建立一个目录名为C Programming, 那么,【location】这里就选择D:\ C Programming\ ,这样后面所有部分 的实验内容都可以放在这个目录下),最后单击【OK】。如图1-1所示。

高级语言程序设计实验报告

创新源于实践 《高级语言程序设计》 课程实验教学手册 高级语言程序设计课程组

实验手册使用及要求 实验操作是教学过程中理论联系实际的重要环节,而实验报告的撰写又是知识系统化的吸收和升华过程,因此,实验报告应该体现完整性、规范性、正确性、有效性。现将实验报告撰写的有关内容说明如下: 1、实验前按实验要求手写程序或程序填空,并走查代码,有疑问处标记,上机时在C语言集成开发环境下输入并调试手写程序,分析运行结果。 2、实验结束后填写通过后的源程序和对实验的总结。 3、通过后的源程序可以手写也可以打印粘贴。 实验项目一览表

学号: 5006150018 姓名:夏和顺成绩: 实验一熟悉C语言编程环境 实验目的: 1.熟悉C语言编程环境(VC++、Cfree、Turboc2.0等) 2.了解C程序的基本框架 3.理解程序调试的思想,能找出并改正C程序中的错误 实验内容: 1.1 建立自己的文件夹:在磁盘上建立一个文件夹,用于存放自己的C程序 1.2 编程示例 在屏幕上显示一个短句“Programming in C is fun!”(教师示例,学生模仿并创新,如输出汉字、特除字符等。学会使用编程环境VC++,启动、编辑、编译、运行、保存、关闭、打开)#include int main() { printf("Programming in C is fun! \n"); return 0; } 1.3 编程 在屏幕上显示如下网格。 +---+---+ | | | | | | +---+---+ #include int main() { printf("+---+---+\n"); printf("| | |\n"); printf("| | |\n"); printf("+---+---+\n"); return 0; }

c程序设计实验报告册参考答案

实验一 程序清单: 1. // First c++ program #include using namespace std; int main() { cout<<"Hello world!"< using namespace std ; int main() { cout<<”*”< using namespace std; int main() { int i,j,k; cin>>i>>j; k=i*j; cout<<"i*j="<

实验二 程序清单: 3. #include using namespace std; int main() { int x; cout<<"输入一个整数:"; cin>>x; cout<<"\n 此数的平方数是:"< using namespace std; int main() { int n,x; cout<<"请输入一个三位以上的整数:"; cin>>n; x=(n/10)%10; cout<<"该数的十位数字为:"< using namespace std; int main() { int n,a,b,c,d,e; cout<<"请输入一个三位正整数: "; cin>>n; a=n/100; // 得到百位 b=(n/10)%10; // 得到十位 c=n%10; // 得到个位cout<

c程序设计实验手册

前言 实验一C程序的运行环境 实验二数据类型、运算符和表达式 1、实验目的 通过本次实验要求学生掌握以下知识: (1)熟悉数据和运算符的基本概念 (2)掌握数据类型、常量、变量的概念,以及常量、变量的定义方法(3)熟练地应用常量、变量和运算符构成表达式,对数据进行处理2、实验步骤 (1)分析下列程序的结果,思考输出结果的原因 #include void main() { char a,b,c; a='a';b='b';c='c'; a=a+1;b=b-1;c=c-32; printf("%c,%c,%c\n",a,b,c); int a1,b1,c1; a1=a-1;b1=b+1;c1=c+32; printf("%d,%c,%d\n",a1,b1,c1); } #include void main() { int a,b,p,q; a=1;b=2; p=a++; q=++b; printf("%d,%d,%d,%d\n",a,b,p,q); int c,d,e,f;c=d=e=f=2; c*=2+3;d+=d-=d*=d; e=(e++,++e,e%=2);

printf("%d,%d,%d,%d\n",c,d,e,f); } (2)编写程序实现以下问题 1、求任意两个数的加法、减法、乘法、除法 2、编写一个程序将“I love you”这个字符串进行加密,密码规律自定义。(可参照恺撒密码的方式) 实验三顺序程序设计 1、实验目的 通过本次实验要求学生掌握以下知识: (1)能读懂简单的程序,并对顺序程序设计有初步的认识 (2)可以编写简单的顺序程序 (3)通过上机调试,了解顺序程序设计中常见的错误,掌握基本的调试技术(逐步分析程序)。 2、实验步骤 (1)已知摄氏温度与华氏温度的换算公式 C=5/9×(F-32) 编写一个程序求华氏温度为30℉,70℉,100℉。 #include void main() { float f; float c; scanf("%f",&f); c=(f-32)*5/9; printf("%f\n",c); } (2)已知地球半径为6371.0km,编写一个程序计算地球表面积的近似值,并打印输出地球的半径、π的近似值、地球的表面积。 void main() {

程序设计基础(C语言)实验报告册

《程序设计基础》(c语言)实践报告 专业 :计算机科学与技术 班级: 姓名: 学号: 教师: 《程序设计基础》(c语言)课程组

实验一

3、编写一个程序,从键盘上输入学生的三门课程成绩,求总成绩和平均成绩。#include<> #include<> main() { double a,b,c,pingjun,zonghe; printf("enter a&b&c's mark:\n"); scanf("%lf%lf%lf",&a,&b,&c); pingjun=(a+b+c)/3; zonghe=a+b+c; printf("pingjun=%lf\nzonghe=%lf\n",pingjun,zonghe); getch(); } #include<> #include<> main() { printf(" 5 2 0\n"); printf("+ 1 3 1 4\n"); printf(" 1 8 3 4 * 10\n");

4、输入一元二次方程的三个系数,求根。 #include<> #include<> void main() { double a,b,c,x1,x2,d; printf("pleae enter a,b,c:\n"); scanf("%lf%lf%lf",&a,&b,&c); d=b*b-4*a*c; x1=(-b-sqrt(d))/(2*a); x2=(-b+sqrt(d))/(2*a); printf("x1=%lf\nx2=%lf\n",x1,x2); 5、输入三角形的三个边长a,b,c,输出面积s。#include<> #include<> main() {

《C语言程序设计课程设计》实训手册V

福建船政交通职业学院 C语言程序设计课程设计 实训手册 专业/班 级: 15计算机网络技术1 学生学 号:154104122 学生姓 名: 谢文皓指导导 师: 程伍端总评成绩:

信息工程系2016.01

目录 《 C 语言程序设计课程设计》评分表 (4) 《 C 语言程序设计课程设计》任务说明 (5) 《 C 语言程序设计课程设计》实训报告 (7) 《 C 语言程序设计课程设计》实训日志 (8) 《 C 语言程序设计课程设计》程序源代码 (16)

《 C 语言程序设计课程设计》评分表 指导教师:程伍端 执行时间:2016年1月 【教师点评】

《 C 语言程序设计课程设计》任务说明 一、课程性质 《C 语言程序设计课程设计》是一门独立的集中性实训课程,是学习了计算机编程语言《C语言程序设计》后,相关联的实训课程,所占学分:1学分。 二、教学目的 实训目的在于整体性的融合《 C 语言程序设计》所学的理论基础知识,运用平时课堂实训学会的编程技巧和能力,通过进行一个整体性的系统化项目课题的编程练习,贯穿所学课程的主要知识要点,从而认识到C语言的学习目的和重要性,进一步提高自身的程序设计能力。 三、设计课题 题目一、宾馆客房查询系统 要求针对宾馆客房的属性,如房号、房价、当前房间状态(注:房间状态可能为空闲及客人入住),进行编程,要求实现以下的查询功能: 1、能够随时通过程序查询所有客房的当前状态; 2、能够查询各种价位(假定该宾馆客房只有3种价位的房间)的空房数量和具体房号; 3、能够查询正在入住的客人的信息资料,主要为客人姓名、性别、出生年月,入住时间。 该管理系统运行时是一个循环式的菜单选项,能依据选项选择各种功能。并能依据需求,将结果打印在屏幕或打印到文件中。 题目二、图书销售库存查询系统 认真分析一个图书经销书店的主要经营流程和常规情况,设计一个图书经销书店的图书库存查询系统。该系统仅对图书销售过程中,书籍的进货数量、销售出货量,进货价格、销售定价,图书类别的分类统计进行查询管理。 该管理系统运行时是一个循环式的菜单选项,能依据选项选择各种功能。并能依据需求,将结果打印在屏幕或打印到文件中。 下面题目,参照题目一和题目二的分析和要求,进行编程处理。 题目三、房产租赁查询系统 题目四、学院图书查询系统 题目五、医院药品查询系统 题目六、超市商品查询系统 题目七、房屋销售查询系统

C语言程序设计实验实验指导书及答案

C语言程序设计实验实验指导书及答案 Company number:【0089WT-8898YT-W8CCB-BUUT-202108】

实验一熟悉C程序运行环境 班级学 号 姓名成绩 一、实验目的 1. 熟悉C语言Visual C++调试环境。 2. 掌握C程序的编辑、调试及运行。 二、实验内容 项目1. 调试并运行下面程序,并写出运行结果: #include <> int main() { printf(“Good morning!\n”); printf(“Hello,world!\n”); return 0; } 运行结果(注意,按照屏幕输出格式写): 项目2. 调试并运行下面程序,并写出运行结果: #include <> int main() { int a , b , sum; /*定义变量*/ a=23; b=56; /*为变量赋值*/ sum=a+b; /*计算两个变量的和*/ printf(“sum is %d\n”,sum); /*输出计算结果*/ return 0; }

运行结果:

项目3. 调试并运行下面程序,并写出运行结果: #include <> int max(int,int); int main() { int a , b , c; /*定义变量*/ a=23; b=56; /*为变量赋值*/ c=max(a,b); /*调用max函数,将得到的值赋给c*/ printf(“max is %d\n”,c); /*输出c的值*/ return 0; } int max(int x,int y) /*定义max函数,函数值为整型*/ { int z; /*定义变量*/ if(x>y) z=x; else z=y; return(z); /*将z的值返回*/ } 运行结果: 三、提高部分 1.试想,如果求10个数中的最大者,则程序该如何编写。 程序代码

C语言课程设计实验报告

中南大学 二○一三~二○一四学年第一学期 信息科学与工程学院程序设计基础实践 设计报告 课程名称:程序设计基础实践 班级:2013级信息安全1302 班 学号:0906130221 姓名:张振宇 指导教师:杨希 二○一三年十二月

目录 一、需求分析 (3) 二、总体设计 (4) 1.设计环境 (4) 2.基本要求 (4) 3.设计步骤 (4) 三、详细设计 (5) 1.算法分析 (5) 2.设计流程图 (5) 3.我的任务 (5) 四、调试与测试 (8) 五、本次课程设计的心得体会 (12) 六、附录 (12)

一、需求分析 通过课程设计使学生综合使用所学过的C语言程序设计知识,掌握结构化程序设计的基本思路和方法,在所掌握的基本知识和技能的基础上,进一步提高自学能力和查找资料的能力,解决一定程度的复杂的结构化程序设计问题,加深对所学知识的理解与掌握,增强学生利用自己所学知识解决实际问题的能力,为以后的程序开发打下基础。 课程设计的目的和要求: 1、使学生巩固和加强《C语言程序设计》课程的理论知识。 2、使学生掌握C语言的基本概念、语法、语义和数据类型的使用特点。 3、使学生掌握C语言程序设计的方法及编程技巧,能正确使用C语言编写程序。 4、进一步理解和运用结构化程序设计的思想和方法;学会利用传统流程图或N-S 图表示算法。 5、使学生掌握调试程序的基本方法及上机操作方法。 6、掌握书写程序设计开发文档的能力,使学生学会撰写课程设计总结报告。课程设计的思想和方法还可以作为学生做毕业论文时的参考资料。 7、通过查阅手册和文献资料,培养学生独立分析问题和解决问题的能力。为学生做毕业设计打好基础。 8、初步掌握开发一个小型实用系统的基本方法:结合实际应用的要求,使课程设计既覆盖知识点,又接近工程实际需要。通过激发学习兴趣,调动学生主动学习的积极性,并引导他们根据实际编程要求,训练自己实际分析问题的能力及编程能力,并养成良好的编程习惯。 9、培养学生的创新能力和创新思维。学生可以根据指导书和相关文献上的参考算法,自己设计出相应的应用程序。 10、培养学生良好的程序设计风格。在实际编程中,为了提高编程质量,对空行、空格和注释均有要求。学生在课程设计书写代码时,应该严格按要求处理,以便建立良好的程序设计风格。 11、课程设计题目及内容 员工通讯管理系统: 通讯录信息为:姓名、地址、单位、固定电话、移动手机、分类(包括同事、朋友、同学、家人等)、EMAIL、QQ等。 1.通讯录的增加; 2.通讯录的修改、删除; 3.按姓名、电话、QQ查询; 4.通讯录的排序; 5.分类统计; 6.通讯录输出。

C程序设计谭浩强版实验指导书

C程序设计谭浩强版实验 指导书 The document was prepared on January 2, 2021

《C++程序设计》 实验教学指导书 课程编号: 撰写人:朱世华 审核人: 前言 程序设计是一门实践性很强的课程,通过实验可以巩固和加强课堂教学内容,提高学生实际工作能力和动手能力,并为后续课程和从事实践技术工作奠定重要的基础。因此,学生在进行理论知识学习的同时,必须十分重视实践环节----上机。 上机实验时应该一人一组,独立上机。在上机过程中出现的问题,一般应自己独立处理,学生应在实验前将教师指定的题目编好程序,然后上机输入和调试。 上机前应事先作好准备工作,以提高上机实验的效率,准备工作至少应包括: (1)复习和掌握与本实验有关的教学内容。 (2)准备好上机所需的程序。 (3)对运行中可能出现的问题应事先做出估计;对程序中有疑问的地方,应做上记号,以便上机时给予注意。 (4)准备好调试和运行时所需的数据。 实验设备与环境:

1、硬件配置 PentiumⅡ以上PC兼容机或品牌机,配有彩色显示器、鼠标、键盘,内存不小于 32MB,硬盘自由空间不少于60MB。推荐配置为内存256MB(或以上),硬盘自由空间1GB 以上。 2、软件配置 操作系统:Windows XP,Windows 2000以上版本 开发环境:Microsoft Visual C++ 2010以上版本。

目录 实验一 Visual C++ 2010的基本用法 (1) 实验二数据类型、运算符和表达式 (4) 实验三三种基本结构的实现1 (7) 实验四三种基本结构的实现2 (9) 实验六指针 (13) 实验七函数 (14) 实验八结构和联合 (17) 实验九类与对象 (20) 实验十综合实验 (23)

C语言程序设计实验实验指导书及答案

实验一熟悉C程序运行环境 班级学号姓名成绩 一、实验目的 1. 熟悉C语言Visual C++6.0调试环境。 2. 掌握C程序的编辑、调试及运行。 二、实验内容 项目1. 调试并运行下面程序,并写出运行结果: #include int main() { printf(“Good morning!\n”); printf(“Hello,world!\n”); return 0; } 运行结果(注意,按照屏幕输出格式写): 项目2. 调试并运行下面程序,并写出运行结果: #include int main() { int a , b , sum; /*定义变量*/ a=23; b=56; /*为变量赋值*/ sum=a+b; /*计算两个变量的和*/ printf(“sum is %d\n”,sum); /*输出计算结果*/ return 0; } 运行结果:

项目3. 调试并运行下面程序,并写出运行结果: #include int max(int,int); int main() { int a , b , c; /*定义变量*/ a=23; b=56; /*为变量赋值*/ c=max(a,b); /*调用max函数,将得到的值赋给c*/ printf(“max is %d\n”,c); /*输出c的值*/ return 0; } int max(int x,int y) /*定义max函数,函数值为整型*/ { int z; /*定义变量*/ if(x>y) z=x; else z=y; return(z); /*将z的值返回*/ } 运行结果: 三、提高部分 1.试想,如果求10个数中的最大者,则程序该如何编写。 程序代码 运行结果:

C语言程序设计实验指导书

. C语言程序设计实验指导书 桂林电子科技大学信息科技学院 2017.03

前言上机实验的目的和要求 一上机实验的目的 上机实验的目的,绝不仅仅是为了验证教材和讲课的内容,或者验证自己所编程序正确与否。学习程序语言,上机实验的目的如下: 1 加深对讲授内容的理解,尤其是一些语法规定,光靠课堂讲授,既枯燥无味又难以记住,通过多次上机,就能自然、熟练地掌握语法规定。 2 了解和熟悉C语言程序开发环境。熟悉一两种环境(计算机系统的软件和硬件条件),再遇到其他的系统时便会触类旁通,很快学会。 3 学会上机调试程序,也就是善于发现程序中的错误,并且能很快地排除这些错误,使程序能够正确地运行。要真正掌握计算机应用技术,就不仅应当了解和熟悉有关理论和方法,而且要求自己动手实践能力强。 4 在做实验时千万不要在程序通过后就认为万事大吉,完成任务了,应当在通过的程序上做一些调试和修改,看看会得到什么结果。多动脑筋思考,将会对你有很大帮助。 二上机实验前的准备工作 1 了解所用的计算机系统的性能和使用方法; 2 复习和掌握与本实验有关的教学内容; 3 准备好上机所用的程序,切忌自己不思考、不编制程序或抄袭别人的程序; 4 准备好调试和运行时所需的数据。 三上机实验的步骤 1 调出C语言编译系统,进入C语言工作环境; 2 输入自己编制好的程序; 3 检查输入是否有错,及时更正; 4 进行编译和连接; 5 运行程序,分析结果。 四、实验结束,整理实验报告 实验报告应包括以下内容: 1 上机题目; 2 程序清单; 3 运行结果; 4 对结果的分析和本次获得的经验和体会。

实验一C语言程序初步数据类型、运算符和表达式 一实验目的 1 熟悉C语言运行环境——Microsoft Visual C++ 6.0中文版。 2 掌握C语言程序的书写格式和C语言程序的结构,初步了解C源程序的特点。 3 掌握C语言上机步骤,了解如何编辑、编译、调试和运行一个C程序的方法。 4 掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对他们赋值的方法。 5 掌握不同的类型数据之间赋值的规律。 二实验内容 1 C语言上机步骤 ⑴开机,启动Microsoft Visual C++ 6。 ⑵建立工程文件:在“文件”菜单中选择“新建”命令项,在弹出的“新建”对话框的“工程”选项卡中选择“Win32 Console Application”选项,在“工程”框中输入工程文件名sy1,在“c:位置”下拉框中输入或选择文件夹,单击“确定”;在以下弹出的两个对话框中分别单击命令按钮“完成”和“确定”。 ⑶建立C++源文件:在“工程”菜单中选择“添加到工程”—“新建”命令项,在弹出的“新建”对话框的“文件”选项卡中选择“C++ Source File”,在右边的“文件”框中输入文件名sy11后单击“确定”。 ⑷输入源程序:在弹出的文件编辑窗口中输入下面的源程序: #include void main() { printf("Hello,World!\n"); printf("Welcome to the C language world!\n"); printf("Everyone has been waiting for.\n"); } ⑸编译:用“编译”菜单的“编译”命令项对源文件sy11.cpp进行编译,如果程序有语法或语义错误,在屏幕下面的窗口会出现错误信息;这时候要修改源程序、保存后重新编译。直到修改了全部错误,屏幕下面的窗口会出现下面的信息:

面向对象C++实验报告手册

许昌学院计算机科学与技术学院《面向对象C++程序设计》课程实验教学手册 创新源于实践《面向对象C++程序设计》 课程实验教学手册 姓名:任亚南 学号:1101120103 专业:计算机科学与技术 班级:2012 级 1 班 任课教师:李梅莲 时间:2013 年6 月14 日 综合成绩: 许昌学院计算机科学与技术学院制

实验手册使用及要求 实验操作是教学过程中理论联系实际的重要环节,而实验报告的撰写又是知识系统化的吸收和升华过程,因此,实验报告应该体现完整性、规范性、正确性、有效性。现将实验报告撰写的有关内容说明如下: 1、预习报告必须在实验前完成。 2、实验前按实验要求手写程序或程序填空,并走查代码,有疑问处标记,上机时在C++集成开发环境下输入并调试手写程序,分析运行结果,如实填写实验过程及实验中存在的问题及解决办法。 3、实验结束后填写通过后的源程序和对实验的总结。 4、通过后的源程序可以手写也可以打印粘贴。

实验情况一览表

实验一 实验名称:c++基础练习实验性质:设计性学时数: 2 成绩: 一、实验目的 1.熟悉使用Visual C++ 或VS2005等集成开发环境编写和实现C++程序过程 2.掌握C++程序的基本格式与规范 3.熟悉C++基本的输入输出操作 4.理解作用域运算符的概念与基本使用方法 5.new和delete运算符 二、实验要求 实验前预习教材第1章,事先按要求填充或编写好实验程序,上机调试和运行程序,分析实验中遇到的问题。 三、实验所需器材与软件 微型计算机; C++集成开发工具软件(VC++6.0、CFree、VS2005等) 四、实验过程: 设计源程序1:编写一个简单程序,输出“Welcome you”,并给程序加一行注释“First c++ program”。 #include using namespace std; int main() { 1) cout<<"Welcome you"<

相关主题
文本预览
相关文档 最新文档