課程名稱
c++與物件導向程式設計
實驗專案名稱
實驗室名稱及編號
實驗日期
學生姓名
學號
專業班級
同組組員
無
機器編號或ip
***.***.***.***
一,實驗目的和要求
1.理解和使用函式過載以及帶預設引數的函式;
2.使用new和delete進行動態記憶體管理;
3.理解和使用引用。
二、實驗環境(軟、硬體及條件)
一台安裝有visual c++ 6.0的計算機
三,實驗步驟
1.閱讀下面的程式,寫出程式的執行結果。
#include
int max_def(int x, int y)
int max_def(int x, int y, int z)
double max_def(double x, double y)
int main()
該程式的執行結果是x1=6
x2=4
d1=5.6
d2=12
2. 閱讀下面的程式,寫出程式的執行結果。
#include
void swap(int a, int b)
void swap(int *a, int *b)
int main()
該程式的執行結果是before swap: i=5,j=10
after the first swap: i=5,j=10
after the second swap: i=10,j=5
3.以下程式的功能是:請輸入9個整數:
1 2 3 4 5 6 7 8 9
the product is :362880
# include
const int size=9;
int *init() //返回指標值的函式
return new int[size]; //分配空間將首位址返回
void readin(int *a) //從a指向的儲存單元開始讀入資料
int i;
cout<<"請輸入">*(a+i); //讀入資料到a+i指向的儲存單元
void product(int *arr ,int size,int *result)
//計算從arr指向的儲存單元開始的
//連續size個儲存單元的乘積
{ int m,i;
for (m=1,i=0;size>0;size--,i++)
m=m*(*(arr+i));
*result=m; //乘積的結果放入result指向的儲存單元
int main()
int *x,res;
if ((x=init())==null)
return 1;
readin(x);
product(x,size,&res);
cout<<"the product is :"return 0;
3.設計乙個函式:exchange(float x, float y, float z),當呼叫exchange(a,b,c)時,將a的內容賦值給b,b的內容賦值給c,c的內容賦值給a,要求採用引用的方式來實現。
#include
using namespace std;
float exchange(float &x,float &y, float &z)
float t;
t=x;
x=y;
y=t;
y=z;
z=t;
return x,y,z;
int main()
float a,b,c;
cout<<" please inputa,b,c">a;
cin>>b;
cin>>c;
float &i=a;
float &j=b;
float &k=c;
exchange(i,j,k);
cout<<"交換後的值"4.編寫過載函式max1可分別求取2個整數,3個整數,2個浮點數,3個浮點數的最大值。
#include
using namespace std;
int max(int a,int b)
return a>b?a:b;
int max(int a,int b,int c)
return max(a,max(b,c));
double max(double a,double b)
return a>b?a:b;
double max(double a,double b,double c)
return max(a,max(b,c));
void main()
int a,b,c;
double x,y,z;
cout<<"input three int:">a>>b>>c;
cout>x>>y>>z;
cout四、實驗中遇到的問題及解決
:\users\周佳麗\desktop\microsoft visual studio(3)\microsoft visual studio\common\cpp1.cpp(7) : error c2059: syntax error : ';'
c:\users\周佳麗\desktop\microsoft visual studio(3)\microsoft visual studio\common\cpp1.cpp(13) : warning c4508: 'exchange' : function should return a value; 'void' return type assumed
c:\users\周佳麗\desktop\microsoft visual studio(3)\microsoft visual studio\common\cpp1.cpp(19) : error c2440: 'initializing' : cannot convert from 'float *' to 'float'
there is no context in which this conversion is possible
c:\users\周佳麗\desktop\microsoft visual studio(3)\microsoft visual studio\common\cpp1.cpp(20) : error c2440: 'initializing' : cannot convert from 'float *' to 'float'
there is no context in which this conversion is possible
c:\users\周佳麗\desktop\microsoft visual studio(3)\microsoft visual studio\common\cpp1.cpp(21) : error c2440: 'initializing' : cannot convert from 'float *' to 'float'
there is no context in which this conversion is possible
error executing cl.exe.
實驗結果及分析
<1>
x1=6
x2=4
d1=5.6
d2=12
<2>
before swap: i=5,j=10
after the first swap: i=5,j=10
after the second swap: i=10,j=5
<3>
請輸入9個整數:
1 2 3 4 5 6 7 8 9
the product is :362880
<4>
please inputa,b,c
4 7 8
交換後的值784
<5>
input three int:
1 2 3
input three double:
3.2 7.2 2.1
7.27.2
C 實驗報告3
一 問題及 作 者 曾瑞嘉 完成日期 2016 年 3 月 17 日 版 本 號 v1.0 對任務及求解方法的描述部分 成年男性的標準體重公式為 標準體重 kg 身高 cm 100 超標準體重20 為超重,比標準體重輕20 為超輕。請編寫 c 程式,輸入身高和體重,完成下面的任務 計算出標準體重,輸...
C程式設計實驗報告
c程式設計實驗報告 1 了解字元在計算機中以ascii碼方式表示,了解字元的型別 字長其數的表示範圍。2 掌握c語言資料型別,熟練掌握變數定義 3 使用scanf 輸入變數的值,使用printf 輸出變數 4 掌握運算子與表示式的使用方法及其優先順序和結合性規律。5 鞏固對演算法概念的理解,掌握運算...
C程式設計實驗報告
試驗專案 1.字元與ascll碼 2.運算子與表示式的運用 3.順序結構應用程式 4.數學函式的演算法描述 5.雞兔同籠的演算法描述 6.確定座標的演算法描述 一,實驗目的與要求 1.實驗目的 具體要求 1 從鍵盤輸入任意字元,且在輸入前要求有提示資訊。2 輸出兩行 第一行是字元形式輸出3個字元,3...