电子信息学院 实验报告书
课 程 名: 面向对象程序设计 题 目:实验2 C++对C的扩充
实验类别: 设计研究型
班 级: BX1004 学 号: 101003040420 姓 名: 施程程
评语: 实验态度:认真( ) 一般( ) 差( ) 实验结果:正确( ) 部分正确( )错( ) 实验理论:掌握( ) 熟悉( ) 了解( ) 不懂( ) 操作技能:强( ) 一般( ) 差( ) 实验报告:好( ) 一般( ) 差( ) 成绩: 指导教师: 批阅时间: 年 月 日
1、实验目的
(1)了解在面向过程程序设计中功能的扩充与增强,并善于在编写过程中应用这些新的功能。
(2)进一步熟悉在所用的系统上编辑、编译、连接和运行C++程序的方法。 (3)进一步熟悉C++程序的结构和编程方法。 2、实验内容
要求事先编好解决下面问题的程序,然后上机输入并调试运行。
(1) 输入以下程序,进行编译,观察编译情况,如果有错误,请修改程序,再
进行编译,直到没有错误,然后进行连接和运行,分析运行结果。 #include<iostream> using namespace std;
int main() {
int a,b; c=add(a,b)
cout<<“a+b=”<<c<<endl; return 0; }
int add(int x,int y) {
z=x+y;
return(z); }
(2) 编一个程序,用来求2个或3个正整数中的最大数。
1、 用不带默认参数的函数实现。 2、 用带有默认参数的函数实现。 对比两种方法,分析用带有默认参数的函数的优点和应用场合,总结如何选择默认b参数的值。请分析本题中默认参数的值应该在什么范围。 (3) 对3个变量按由小到大顺序排序,要求使用变量的引用。
1、 使用指针方法
2、 使用变量的的引用 请总结引用时要注意什么问题。
(4) 有5个字符串,要求对他们按由小到大的顺序排列,用string方法, (5) 编译一个程序,用同一个函数名对n个数据进行从小到大排序,数据类型
可以是整型、单精度型、双精度型。 1、 用重载函数实现。 2、 用函数模板实现。
比较这两种方法各有什么特点,什么情况下可以用函数模板代替重载函数?
3.实验结果
(1)程序:
#include
using namespace std; int main( )
{int add(int x,int y); int a,b,c; cin >> a >> b; c=add(a,b);
cout <<\ a+b=\ << c < int add(int x,int y) {int z; z=x+y; return(z); } 运行结果: (2)程序1:用不带默认参数的函数实现 #include {int max(int a,int b,int c); int max(int a,int b); int a,b,c; cin >> a >> b >> c; cout << \ cout << \ return 0; } int max(int a,int b,int c) {if(b>a) a=b; if(c>a) a=c; return a; } int max(int a,int b) {if(a>b) return a; else return b; } 运行结果: 程序2:用带有默认参数的函数实现 #include int max(int a,int b,int c=0) {if (b>a)a=b; if (c>a)a=c; return a;} int main(void) {int a,b,c; cin >> a >> b >> c; cout << \ cout << \ return 0; } 运行结果: 有时多次调用同一函数时用的是同样的实参直,C++提供的带有默认参数的的使用更加方便,给形参一个默认值,这样形参就不必一定要从实参取值了。在实行过程中要特别注意,指定默认值的参数必须放在形参列表中的最右端。 (3)程序1:使用指针 #include {void swap(int *,int *,int *); int a,b,c; int *p1,*p2,*p3; p1=&a; p2=&b; p3=&c; printf(\ scanf(\ swap(p1,p2,p3); printf(\} void swap(int *p1,int *p2,int *p3) {int temp,*tmp; static int i=3; if(i--) {if(*p1>*p2) {temp=*p1; *p1=*p2; *p2=temp; } if (i==2) {tmp=p2;p2=p3;p3=tmp;} if (i==1) {tmp=p1;p1=p3;p3=tmp;} swap(p1,p2,p3); } } 运行结果: 程序2:使用变量的引用 #include {void sort(int &,int &,int &); int a,b,c,a1,b1,c1; cout<<\ cin>>a>>b>>c; a1=a;b1=b;c1=c; sort(a1,b1,c1); cout< 搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新幼儿教育实验2 C++对C的扩充 全文阅读和word下载服务。
相关推荐: