当前位置:文档之家› 广东海洋大学学生实验报告书

广东海洋大学学生实验报告书

广东海洋大学学生实验报告书(学生用表)实验名称简单的C++程序课程名称C++程序设计课程号16232108-0学院(系) 软件学院专业软件工程班级软件学生姓名钟炜堂学号201211701131 实验地点钟海楼04004实验日期9-11一、实验目的:熟悉Visual C++6.0开发环境,学会利用Visual C++6.0 开发环境创建控制台应用程序。

学习并实践C++语言在非面向对象方面的一些新特征:函数名重载二、实验内容:(1)在Visual C++6.0 开发环境中编辑、编译、运行下面的程序,体会C++程序中的输入输出流类对象的输入和输出操作。

#include <iostream>using namespace std;int main( ) //前面的int 指定了main()函数返回值的数据类型{ int a, b, c;cin>>a>>b;if(b==0) return –1; // main()函数返回非0值表示程序遇到错误而结束c= a/b;cout<<"c= "<<c<<’\n’;return 0; //程序正常结束,函数main()返回值为0。

}(2)编辑并编译下面的C++程序段,并尝试修改该程序,使其能够通过编译检查。

const int model = 90; // model is a constconst int v[ ]={1,2,3,4}; // v[i] is a constconst int x; // error: no initializervoid f( ){model =200; // errorv[2]++; // error}(3)在Visual C++6.0 开发环境中编译并运行下面的程序,理解函数原型的作用。

#include <iostream>using namespace std;void sqr_it(int *i); // function prototype 函数原型int main( ){int x;GDOU-B-11-112x=10;sqr_it(x); // compiling time error: type mismatch 类型不匹配cout<<"The square of x is "<<x<<'\n';return 0;}void sqr_it(int *i){*i=(*i)*(*i);}由于使用了函数原型,C++语言的编译器能够进行函数参数的类型匹配检查,从而使我们尽早发现错误,显著减少大型程序的排错和调试时间。

(4) 模仿教材中【例2.11】的程序,将函数sum重载三次,使它能够分别求两个整数、两个长整型数、和两个双精度浮点数的最大值,并在主函数main( )中演示这三个函数。

(5) 模仿教材中【例2.13】的程序,编写一个C++程序,使用new开辟动态存储单元保存你的名字,并显示出你的名字,输出完毕后使用delete释放动态存储单元。

(6) 阅读下面的程序,将其中的指针函数参数修改为引用作为参数。

#include <iostream.h>void f(int a[ ],int n, int *max, int *min){*max=*min=a[0];for(int i=1;i<n;i++){if(*max<a[i]) *max=a[i];if (*min>a[i]) *min=a[i];}}void main( ){int a[10]={2,5,3,9,0,8,1,7,6,4};int max,min;f(a,10,&max,&min);cout<<"Max: "<<max<<endl;cout<<"Min: "<<min<<endl;}三、实验步骤:(2):#include<iostream>using namespace std;const int model = 90; // model is a constconst int v[ ]={1,2,3,4}; // v[i] is a constconst int x=3; // error: no initializervoid f( const int model,const int v[]){model; // errorv[2]; // error}void main(){cout<<model<<endl;cout<<v[2]<<endl;}(3):sqr_it(x); // compiling time error: type mismatch 类型不匹配将其修改为sqr_it(&x);(4)模仿演示如下:#include <iostream>using namespace std;inline void print(int a){ cout<<a<<endl;}void print(double a){ cout<<a<<endl;}int max(int x,int y);long int max(long x,long y);double max(double x,double y);void main(){int x1;long x2;double x3;x1=max(15,6);cout<<x1<<endl;x2=max(60000,388888);cout<<x2;}int max(int x,int y){int max;max=x;if (x<y)max=y;return max;}long int max(long x,long y){ long int max;max=x;if (x<y)max=y;return max;}double max(double x,double y){ double max;max=x;if (x<y)max=y;return max;}(5)使用new开辟动态存储单元保存你的名字,并显示出你的名字,输出完毕后使用delete 释放动态存储单元#include<iostream>using namespace std;main(){int *p;p=new int;cout<<"my name is:"<<endl;cin>>*p;delete p;}(6)将其中的指针函数参数修改为引用作为参数#include <iostream>using namespace std;void f(int a[ ],int n, int &max, int &min){max=min=a[0];for(int i=1;i<n;i++){if(max<a[i]) max=a[i];if (min>a[i]) min=a[i];}}void main( ){int a[10]={0,5,3,9,0,8,1,7,6,4};int max,min;f(a,10,max,min);cout<<"Max: "<<max<<endl;cout<<"Min: "<<min<<endl;}(7)#include<iostream>using namespace std;const int model=300 ; // model is a constconst int v[ ]={1,2,4,4}; // v[i] is a constconst int x=20; // error: no initializer void f( const int model,const int v[] );void main(){f(model, v[]);cout<<x<<endl;cout<<model<<endl;cout<<v[2]<<endl;}void f(const int model,const int v[]){v[2]++; // errormodel=2100; // error}/*const int model = 90; // model is a constconst int v[ ]={1,2,3,4}; // v[i] is a constconst int x=3; // error: no initializervoid f( int model, int v[] ){model =200; // errorv[2]++; // error}*/四、实验总结:成绩指导教师日期注:请用A4纸书写,不够另附纸。

相关主题