实验2 C++对C的扩充

更新时间:2023-09-18 17:46:01 阅读量: 幼儿教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

电子信息学院 实验报告书

课 程 名: 面向对象程序设计 题 目:实验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 using namespace std; int main( )

{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 using namespace std;

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 main()

{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 using namespace std; int main( )

{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<

本文来源:https://www.bwwdw.com/article/e98h.html

Top