C语言 函数

 目录

 函数的定义

 函数的调用

 函数的声明

 参数的传递

 函数的应用


函数的定义

函数头             类型  函数名 (类型 参数1,类型 参数2,... ...)

    {

                                 声明部分

函数体                           执行部分

                                [return 表达式;]

                     }

//类型:为返回值的类型,如果没有,则默认int

//函数名:函数名标识符

//(类型 参数1,类型 参数2,...):形参表

long Fact (int n)  //函数定义
//long 为返回值类型
//Fact 函数名说明函数的功能
//int n 为形参表,是函数的入口
{
   int i;               //函数内部可以定义只能自己使用的变量
  long result =1;
   for(i=2;i<=n;i++)
  {
     result *=i;
  }
return  result;//返回值作为函数调用表达式的值
}

void 函数名()//函数没有返回值,则用void;

                           //没有参数时,"()"不能省略

{  声明语句序列

      可执行语句序列

return;                  //return语句后面不需要任何表达式

}

void main()
{
       ......
  }


int main()
{
       ......
      return 0;
}

 函数的调用

函数名 (实参表);

注:

1. 实参可以是常量、变量、表达式、函数等,但必须有确定的值

2.函数的实参和形参应在个数、类型和顺序上一一对应

3.对于无参函数,调用时实参表列为空,都是()不能省略

通过传值方式调用函数

/* 函数定义 */
void swap(int x, int y)
{
   int temp;
   temp = x; //保存 x 的值 
   x = y;    //把 y 赋值给 x 
   y = temp; //把 temp 赋值给 y 
  
   return;
}

 函数的声明

函数类型  函数名(类型 参数名,......);

 long Fact (int n);

函数类型  函数名(类型 ,......);

 long Fact (int );

 例:


#include <stdio.h>
int max(int n1, int n2);// 函数声明  
int main ()
{
   // 定义局部变量 
   int a = 50;
   int b = 36;
   int ret;
   ret = max(a, b); // 调用函数来获取最大值  
   printf( "Max value is : %d\n", ret ); 
   return 0;
}
 
int max(int n1, int n2)
{
   
   int result;   // 声明局部变量 
   if (n1 > n2)
      result = n1;
   else
      result = n2; 
   return result; //函数返回两个数中较大的那个数 
}

实验结果如下:

  参数的传递

形参:定义函数时函数名后面括号内的变量名

实参:调用函数时函数名后面括号内对应的参数

实参向形参传递数据的方式:单向的值传递

void swap(int a,int b)   //参数

{

 int t;

 t=a;a=b;b=t;

        }

void main ()

{

 int x=7,y=11;     //值

swap(x,y);        //函数的调用

printf("x=%d,y=%d\n",x,y); 

   }

函数的应用

例:求两个整数中最大值的函数


#include <stdio.h>
int max(int x,int y)
{
	/*函数的定义*/
	int t;
	t=x>y?x:y;
	return t;
}
main()
{
	int max(int x,int y);
	/*函数的声明*/
	int a,b,c;
	scanf("%d",&a,&b);
	c=max(a,b);
	/*函数的调用*/
	printf("最大值为:%d\n",c);
 } 

 实验结果如下:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值