没有合适的资源?快使用搜索试试~ 我知道了~
面向对象程序设计实验.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 186 浏览量
2022-06-21
05:11:50
上传
评论 1
收藏 113KB DOC 举报
温馨提示
试读
27页
实验一 C++基础 1.1 实验目的 1.了解并熟悉开发环境,学会调试程序; 2.熟悉C++中简单的标准输入输出函数的使用方法; 3.理解const修饰符的作用并学会应用; 4.理解内联函数的优缺点并学会其使用场合; 5.理解并学会函数重载; 6.理解并熟练掌握使用new和delete来分配内存; 7.理解并熟练掌握引用的使用方法。 1.2 实验内容 1.2.1 程序阅读 1.理解下面的程序并运行,然后回答问题。 #include <iostream.h> int max_def(int x, int y) { return (x>y?x:y); } int max_def(int x, int y, int z) { int temp = 0; return (temp=(x>y?x:y))>z?temp:z; } double max_def(double x, double y) { return (x>y?x:y); } int main() { int x1 = 0; int x2 = 0; double d1 = 0.0; double d2 = 0.0; x1 = max
资源推荐
资源详情
资源评论
实验一 C++基础
1.1 实验目的
1.了解并熟悉开发环境,学会调试程序;
2.熟悉 C++中简单的标准输入输出函数的使用方法;
3.理解 const 修饰符的作用并学会应用;
4.理解内联函数的优缺点并学会其使用场合;
5.理解并学会函数重载;
6.理解并熟练掌握使用 new 和 delete 来分配内存;
7.理解并熟练掌握引用的使用方法。
1.2 实验内容
1.2.1 程序阅读
1.理解下面的程序并运行,然后回答问题。
#include <iostream.h>
int max_def(int x, int y)
{
return (x>y?x:y);
}
int max_def(int x, int y, int z)
{
int temp = 0;
return (temp=(x>y?x:y))>z?temp:z;
}
面向对象程序设计实验
double max_def(double x, double y)
{
return (x>y?x:y);
}
int main()
{
int x1 = 0;
int x2 = 0;
double d1 = 0.0;
double d2 = 0.0;
x1 = max_def(5,6);
x2 = max_def(2,3,4);
d1 = max_def(2.1,5.6);
d2 = max_def(12.3,3.4,7.8);-----------------------------------------------------①
cout<<"x1="<<x1<<endl;
cout<<"x2="<<x2<<endl;
cout<<"d1="<<d1<<endl;
cout<<"d2="<<d2<<endl;--------------------------------------------------------②
return 1;
}
问题一:上述程序的输出结果是什么?
问题二:用的是哪个函数?
答:调用的函数是
int max_def(int x, int y, int z)
{
int temp = 0;
return (temp=(x>y?x:y))>z?temp:z;
}
问题三:②处的输出结果为什么是 d2=12,而不是 d2=12.3?
1
面向对象程序设计实验
答:因为①处调用的是整型函数,d2 在此函数中被转换为整型,小数点后面被删除。
2.理解下面的程序并运行,然后回答问题。
#include <iostream.h>
int main()
{
int *p1 = new int; -----------------------------------------------------①
int *p2 = new int(0); -----------------------------------------------------②
char *p3 = new char[10]; -----------------------------------------------------③
return 1;
}
问题一:①、②、③处动态申请内存分别代表什么意思?
答:① new 动态分配存放一个整数的内存空间,并将其首地址赋给指针变量 p1;② new 动态
分配存放一个整数的内存空间,并对其初始化赋值为 0,并将其首地址赋给指针变量 p2;
③ new 动态分配存放 10 个字符型数组元素的内存空间,并将其首地址赋给指针变量 p3。
问题二:该程序存在什么不合理的地方?。
答:程序结束时没有将分配的空间释放,应该使用 delete 函数释放内存。
3.理解下面的程序并运行,然后回答问题。
#include <iostream.h>
void swap(int a, int b)
{
int temp = a;
a = b;
b = temp;
}
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
int main()
{
int i = 5;
2
面向对象程序设计实验
int j = 10;
cout<<"Before swap: i="<<i<<",j="<<j<<endl;
swap(i,j); -----------------------------------------------------①
cout<<"After the first swap: i="<<i<<",j="<<j<<endl;
swap(&i,&j); -----------------------------------------------------②
cout<<"After the second swap: i="<<i<<",j="<<j<<endl;
return 1;
}
问题一:输出结果是什么?
问题二:①处函数调用不能实现两个数的交换,而②可以,原因是什么?
答:①处调用的函数只是交换了局部变量 a 和 b,并没有改变 i 和 j 的值;②处调用的函数使
用了引用形参,i 和 j 的值随着此处调用的函数中 a 和 b 的对换而对换。
问题三:②处调用的是哪个函数?
答:调用的函数是
void swap(int a, int b)
{
int temp = a;
a = b;
b = temp;
}
1.2.2 程序设计
1.定义两个重名函数,分别求出两点间平面距离和空间距离。
#include<iostream>
#include<cmath>
using namespace std;
3
面向对象程序设计实验
int distance(int x1,int y1 ,int x2,int y2)
{
double dis;
dis=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
cout<<dis<<endl;
return dis;
}
int distance(int x1,int y1,int x2,int y2,int z1,int z2)
{
double dis;
dis=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)+(z1-z2)*(z1-z2));
cout<<dis<<endl;
return dis;
}
void main()
{
int a;
int i,j,k,l,q,w,e,r,t,y;
cout<<"请输入平面两点坐标:"<<endl;
cin>>i>>j>>k>>l;
a=distance(i,j,k,l);
cout<<"请输入空间两点坐标"<<endl;
cin>>q>>w>>e>>r>>t>>y;
a=distance(q,w,e,r,t,y);
}
2.设计一个函数:exch(),当调用 exch (a,b,c)时,将 a 赋值给 b,b 赋值给 c,c 赋值给 a,要
求采用引用的方式来实现。
#include<iostream>
#include<cmath>
using namespace std;
void exch(int &m,int &n,int &p)
{
int temp=p;
p=n;
n=m;
m=temp;
}
int main()
4
剩余26页未读,继续阅读
资源评论
是空空呀
- 粉丝: 168
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 2001~2022年上市公司数字赋能指数.dta
- 2001~2022年上市公司数字赋能指数.xlsx
- 信息办公石大在线财务管理系统(含源码)-shidacaiwu.rar
- 信息办公电信计费系统完整代码-netctossconformity.rar
- matlab实现TD-SCDMA中初始同步捕捉DwPTS下行同步导频时隙的仿真.zip
- 信息办公玉玺学生信息管理系统-webapps.rar
- 信息办公基于struts的图书管理系统-struts-ts.rar
- 管家婆分销ERP V1 V3 A8II TOP V10.0.2最新全版本通用
- 信息办公基于Ajax+J2EE的MicroERP源码下载-microerp-0.1.rar
- 信息办公双鱼林jsp人事工资系统-wagesmanagesystem.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功