上海花千坊

C语言

C语言自定义函数

时间:2024-08-09 15:32:14 C语言 我要投稿
  • 相关推荐

C语言自定义函数

  C语言一共只有32个关键字,9种控制语句,程序书写自由。那么大家知道C语言自定义函数是什么呢?下面一起来看看!

  函数是一段可以重复使用的代码,用来独立地完成某个功能,它可以接收用户传递的数据,也可以不接收。

  无参函数的定义

  如果函数不接收用户传递的数据,那么定义时可以不带参数。如下所示:

  返回值类型 函数名(){

  函数体

  }

  说明:

  返回值类型可以是C语言中的任意数据类型,例如 int、float、char 等。

  函数名是标识符的一种,命名规则和标识符相同。函数名后面的括号( )不能少。

  函数体是函数需要执行的代码。即使只有一个语句,也要由{ }包围。

  在函数体中使用return语句返回数据。

  例如,定义一个函数,计算1加到100的结果:

  int sum(){ int i, sum=0; for(i=1; i<=100; i++){ sum+=i; } return sum;}

  计算结果保存在变量sum中,通过return语句返回。sum为int型,所以返回值类型也必须为int,要一一对应。

  return是C语言中的一个关键字,只能用在函数中,用来返回处理结果。

  将上面的代码补充完整:

  #includeint sum(){ int i, sum=0; for(i=1; i<=100; i++){ sum+=i; } return sum;}int main(){ int a = sum(); printf("The sum is %d ", a); return 0;}

  运行结果:

  The sum is 5050

  函数不能嵌套定义,main 也是一个函数定义,要将 sum 放在 main 外面。函数必须先定义后使用,所以 sum 只能在 main 前面。

  注意:main 是函数定义,不是函数调用。当可执行文件加载到内存后,系统从 main 函数开始执行,也就是说,系统会调用我们定义的 main 函数。

  无返回值函数

  有的函数不需要有返回值,或者返回值类型不确定(很少见),那么用void表示,例如:

  void hello(){ printf ("Hello,world "); //没有返回值就不需要 return 语句}

  void是C语言中的一个关键字,表示空类型或无类型,绝大部分情况下也就意味着没有 return 语句。

  有参函数的定义

  如果函数需要接收用户传递的数据,那么定义时就要带参数。如下所示:

  返回值类型 函数名(参数列表){

  函数体

  }

  用户数据通过“参数列表”传递给函数,供函数处理。例如,定义一个函数求两个数中的最大值:

  int max(int a, int b){ if (a>b){ return a; }else{ return b; }}

  参数(Parameter)本质上也是变量,定义时要指明参数类型和参数名称。参数列表中可以定义一个或多个参数,多个参数之间用逗号,分隔。参数列表中给出的参数可以在函数体中使用。

  调用 max() 函数时可以直接传递整数:

  int n = max(10, 20);

  也可以传递变量:

  int a = 10, b = 20;

  int n = max(a, b);

  也可以整数和变量一起传递:

  int a = 10;

  int n = max(a, 20);

  变量 n 得到的值都是20。

  函数定义时给出的参数称为形式参数,简称形参;函数调用时给出的参数(传递的数据)称为实际参数,简称实参。函数调用时,将实参的值传递给形参,相当于一次赋值操作。注意:实参和形参的类型、数目必须一致。

  将上面的代码补充完整:

  #includeint max(int a, int b){ if (a>b){ return a; }else{ return b; }}int main(){ int num1, num2, maxVal; printf("Input two numbers: "); scanf("%d %d", &num1, &num2); maxVal = max(num1, num2); printf("The max number: %d ", maxVal); return 0;}

  运行结果:

  Input two numbers: 100 200

  The max number: 200

  定义max时,变量a、b的值都是未知的;调用max时,分别将num1、num2的值传递给a、b,类似于:

  a=num1;

  b=num2;

  return 语句可以有多个,可以在函数体的任意位置。在max中,根据 if 的判断结果来执行不同的 return 语句。

  函数一旦遇到 return 语句就返回(停止执行),后面的所有语句都不会被执行到,例如:

  int max(int a, int b){ int n = (a>b) ? a : b; return n; printf("Function is performed ");}

  第4行代码是多余的,永远没有执行的机会。

【C语言自定义函数】上海花千坊相关的文章:

什么是C语言函数09-26

C语言函数的定义07-13

C语言函数的递归调用08-26

关于C语言对函数06-14

C语言常用的转出函数08-18

C语言函数递归教程09-25

C语言常用的输入函数10-22

C语言中函数的区分08-30

C语言函数的运用及调用10-09

c语言数学函数的介绍10-20