實驗5和實驗6相關內容
阿新 • • 發佈:2018-12-19
實驗5 模組化程式設計(一)
一、實驗目的和要求 (1)掌握C語言函式定義及呼叫的規則。 (2)理解引數傳遞的過程。 (3)理解函式的巢狀呼叫。 二、實驗內容和步驟 1. 閱讀並分析下面的程式,並按要求改寫程式。
#include<stdio.h>
int main()
{
int max,a,b;
scanf("%d%d",&a,&b);
if(a>b)
max=a;
else
max=b;
printf("max=%d\n",max);
return 0;
}
問題1:該程式的主要功能是什麼? 問題2:自定義函式fun實現該程式的功能,要求在主函式內實現資料的輸入輸出(也就是說資料由主函式提供,fun將求得的結果返回給主函式)。 2. 除錯下面程式,並給出正確的程式程式碼。
#include<stdio.h>
int main()
{
int x,n,s;
s=power(x,n);
return 0;
}
power(y)
{
int i,p=1;
for(i=1;i<=n;i++)
p=p*y;
}
-
編寫函式把華氏溫度轉換為攝氏溫度,公式為:
-
編寫一個函式fun1,輸入3個頂點座標,求 的面積。
實驗6 模組化程式設計(二)
一、實驗目的和要求 (1)掌握函式的遞迴呼叫。 (2)理解變數的作用域和生存期。 二、實驗內容和步驟
- 編寫遞迴函式getPower計算xy。其中x為double型別,y為int型,當y<0時,返回0。
- 用遞迴的方法編寫函式求Fibonacci級數,公式為:
- 分析下面程式,並記錄輸出結果。
#include<stdio.h>
int z=10;
void fun()
{
static int x=1;
int y=10;
x=x+2;
y=y+x+z;
printf("x0=%d,y0=%d\n",x,y);
}
int main()
{
int x=2,y=3;
printf("x=%d,y=%d\n",x,y);
fun();
z=z+4;
printf("x=%d,y=%d\n",x,y);
fun();
return 0;
}
問題1:輸出程式執行結果。 問題2:分析自動變數和靜態變數的區別(從作用域和生存期兩點進行分析)。 問題3:分析全域性變數和區域性變數的區別(從作用域和生存期兩點進行分析)。