面向对象程序设计》C实验报告.docx

上传人:b****6 文档编号:3165400 上传时间:2022-11-18 格式:DOCX 页数:67 大小:339.77KB
下载 相关 举报
面向对象程序设计》C实验报告.docx_第1页
第1页 / 共67页
面向对象程序设计》C实验报告.docx_第2页
第2页 / 共67页
面向对象程序设计》C实验报告.docx_第3页
第3页 / 共67页
面向对象程序设计》C实验报告.docx_第4页
第4页 / 共67页
面向对象程序设计》C实验报告.docx_第5页
第5页 / 共67页
点击查看更多>>
下载资源
资源描述

面向对象程序设计》C实验报告.docx

《面向对象程序设计》C实验报告.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计》C实验报告.docx(67页珍藏版)》请在冰豆网上搜索。

面向对象程序设计》C实验报告.docx

面向对象程序设计》C实验报告

《面向对象程序设计》

实验报告

 

学院:

专业:

班级学号:

姓名:

学期:

教师:

实验一C++基础练习

院(系):

课程名称:

面向对象程序设计教师签名:

班级

学号

实验室

姓名

实验成绩

所用软件

Word文档、VC++软件

实验目的和要求

1.掌握C++程序的基本格式与规范,学会编写简单的C++程序。

2.理解C++程序结构的特点。

3.熟悉C++程序基本的输入和输出操作。

4.掌握C++数据类型常量和变量以及修饰符的使用方法。

5.掌握函数定义、函数调用和函数说明的方法。

6.熟悉作用域运算符的功能和基本使用方法。

7.掌握C++内存的动态分配与释放方法。

8.理解引用的概念,掌握引用的使用方法。

实验内容和步骤

1.调试如下的代码并回答问题。

#include

voidmain()

{

//Firstc++program

charname[10];

cout<<"pleaseinputyourname:

";

cin>>name;

cout<<"welcome"<

}

(1)C++的注释和C有何不同?

答:

C语言的注释有一种,用/*……….*/作为注释分界符号

C++除保留了这种注释方式之外,还提供了一种更有效的注释方式,该注释以“//”开始,到行尾结束。

(2)C++的输入和输出所使用的函数及其相应头文件与C有何不同?

答:

在C中进行输入输出操作时,常使用函数scanf和printf。

C++除了可以照常使用这两个函数进行输入输出外,还增加了标准输入流对象cin和标准输出流对象cout来进行输入和输出。

Iostream是C++系统定义的一个头文件,在这个文件中声明了程序所需要的输入和输出操作的有关信息。

在C语言中头文件中用“.h”作为后缀,如stdio.h、math.h等。

2.单步调试如下的代码并回答问题。

#include

inlineintf(intx)

{return2*x*x+4*x+5;}

inlinedoublef(doublex)

{return2*x*x+4*x+5;}

voidmain()

{intx=5;

doubley=5.2;

cout<

cout<

}

(1)inline的含义和作用是什么?

答:

含义:

在函数说明前冠以关键字“inline”,该函数就被声明为内联函数,每当程序中出现对该函数的调用时C++编译器使用函数体中的代码插入到调用该函数的语句处,同时用实参取代形参。

作用:

主要是为了消除函数调用时的系统开销,以提高运行速度。

(2)C允许两个函数同名(函数重载)么,函数重载的作用是什么?

答:

不允许,作用:

方便使用函数,只要函数参数的类型不同,或者参数的个数不同,或者二者兼而有之,两个或者两个以上的函数可以使用相同的函数名。

实现函数编译的多态性。

(3)单步调试(F10、F11),记录f(x)和f(y)会分别调用哪段代码,为什么?

答:

f(x)会调用intf(int5)f(y)会调用doublef(double5.2)

因为虽然两个函数名是一样的,形参类型和返回值类型不同,根据所给的实参类型如int型就调用intf(int5)。

3.单步调试如下程序并回答问题。

#include

inta[]={1,2,3,4,5,6,7,8,9,10};

intsum;

voidmain()

{

inti;

intsum=0;

for(i=0;i<10;i++)

{

if(a[i]%2!

=0)sum=sum+a[i];

:

:

sum=:

:

sum+a[i];

}

cout<<"sumofallis:

"<<:

:

sum;

cout<<"sumofoddis:

"<

}

(1)什么是局部变量和全局变量,其作用域如何界定?

答:

全局变量:

在函数外定义的变量,可以为本源文件的其他函数所公用,有效范围为从定义变量的位置开始到本源文件结束。

局部变量:

在一个函数内部定义的变量是内部变量,它只在本函数范围内有效。

(2)在局部变量和全局变量作用域重叠区域,默认哪个变量起作用;如果一定要访问全局变量,怎么实现。

答:

默认局部变量起作用。

如果一定要访问全局变量,可以用:

:

对所屏蔽的同名全局变量进行访问。

(3)单步调试,查看并记录程序中循环体的两条语句的sum的变化情况,并说明它们是局部变量和全局变量。

答:

第一个sum为全局变量,第二个:

:

sum为局部变量。

 

4.调试如下程序并回答问题。

#include

voidmain()

{

double*r;r=newdouble;

cin>>*r;

cout<<"Areais:

"<<3.14*(*r)*(*r);

deleter;

}

(1)C语言的内存申请和释放使用哪个函数

答:

内存申请:

malloc释放:

free

(2)C++的内存申请和释放使用哪个函数?

简单比较。

答:

内存申请:

new释放:

delete

使用malloc函数时必须使用sizeof函数来计算所需要的字节数,而new可以根据数据类型自动计算所要分配内存的大小,这就减小了发生错误的可能性。

new能够自动返回正确的指针类型,而不必像malloc函数那样,必须在程序中进行强制类型转换,才能使其返回正确的指针类型。

实验二C++简单程序设计练习

院(系):

课程名称:

面向对象程序设计教师签名:

班级

学号

实验室

姓名

实验成绩

所用软件

Word文档、VC++软件

实验目的和要求

1.掌握if语句的用法。

2.掌握switch语句的用法。

3.掌握循环和多重循环的用法。

4.掌握函数的定义和调用。

5.掌握数组的定义和基本操作。

实验内容和步骤

1.根据输入的百分制按五分制的成绩输出,记录和分析实验结果(后续每个实验都有此要求,不再一一注明)。

百分制与五分制之间的关系见下表。

分别使用if分支结构和switch结构编写程序。

百分制

五分制

90~100

5

80~89

4

70~79

3

60~69

2

0~59

1

#include

intmain()

{

inta;

cout<<"从键盘输入百分制:

"<

cin>>a;

if(a>0&&a<60)cout<<"五分制为:

1"<

1

else

if(a<70)cout<<"五分制为:

2"<

else

if(a<80)cout<<"五分制为:

3"<

else

if(a<90)cout<<"五分制为:

4"<

else

if(a<=100)cout<<"五分制为:

5"<

}

使用if嵌套语句实现某一范围内的输出

具体看注释

 

#include

voidmain()

{

inta,b;

cout<<"从键盘输入百分制:

"<

cin>>a;

b=a/10;//对a求商并赋值给b

switch(b)//确定b的值为什么值

{

case10:

case9:

cout<<"五分制为:

5"<

5

case8:

cout<<"五分制为:

4"<

case7:

cout<<"五分制为:

3"<

case6:

cout<<"五分制为:

2"<

default:

cout<<"五分制为:

1"<

}

}

 

用switch语句实现

分析如上的注释

 

2.编程求3~100之间的所有素数,要求编写一个素数判断的函数,然后在主程序中调用。

 

#include

#include

intmain()

{inti;//定义变量i

intfun(int);//函数的声明

for(i=3;i<=100;i++)

if(fun(i))cout<

}

intfun(intn)//函数的定义

{

inti,t;//定义两个整型变量

t=sqrt(n);

for(i=2;i<=t;i++)//当有能被整除的数则返回0,后则返回1

if(n%i==0)

return0;

return1;

}

 

3.编写程序列出斐波那契(Fibonacci)数列的前20项。

(Fibonacci数列是指前两项为1,后面的每一项都为前两项之和。

要求用数组存储数列)。

 

#include

voidmain()

{

inta[20]={1,1};//初始化数组a,a[0]=a[1]=1

inti;

for(i=2;i<20;i++)

{

a[i]=a[i-1]+a[i-2];//后面每一项都为前两项之和

}

for(i=0;i<20;i++)//输出前20个斐波那契数列

{

cout<

}

}

 

 

4.编程实现输入10个整数,从小到大排列输出。

#include

intmain()

{

inta[10];//定义一个整型数组

inti,j,t;//定义三个整型变量i,j,t

cout<<"从键盘输入十个整数:

"<

for(i=0;i<10;i++)

{

cin>>a[i];//输入数据

}

for(i=0;i<10;i++)//采用冒泡排序法外部循环

{

for(j=0;j<10;j++)//内部循环

{

if(a[j]>a[j+1])//如果不是从小到大排列则交换位置关系

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

}

for(i=0;i<10;i++)//输出整理好后的数组

{

cout<

}

}

实验三类与对象

(一)

院(系):

课程名称:

面向对象程序设计教师签名:

班级

学号

实验室

姓名

实验成绩

所用软件

Word文档、VC++软件

实验目的和要求

1.掌握类、类的数据成员、类的成员函数的定

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 少儿英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1