c 實驗報告

2021-08-19 14:38:13 字數 4392 閱讀 7563

課程名稱

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