1. 程式人生 > >實驗5和實驗6相關內容

實驗5和實驗6相關內容

實驗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;
}
  1. 編寫函式把華氏溫度轉換為攝氏溫度,公式為: 在這裡插入圖片描述

  2. 編寫一個函式fun1,輸入3個頂點座標,求 的面積。

實驗6 模組化程式設計(二)

一、實驗目的和要求 (1)掌握函式的遞迴呼叫。 (2)理解變數的作用域和生存期。 二、實驗內容和步驟

  1. 編寫遞迴函式getPower計算xy。其中x為double型別,y為int型,當y<0時,返回0。
  2. 用遞迴的方法編寫函式求Fibonacci級數,公式為: 在這裡插入圖片描述
  3. 分析下面程式,並記錄輸出結果。
#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:分析全域性變數和區域性變數的區別(從作用域和生存期兩點進行分析)。