C语言函数的简单说明
来源:互联网 发布:知乎一句话个人介绍 编辑:程序博客网 时间:2024/05/19 11:47
这篇主要讲解一下函数的一些基本概念及其用法。先放一张图,有助于更清楚的阅读。
应用环境
函数是一种能完成特定功能的程序代码的一个单元。它提供给我们一个和黑子的概念,让代码模块化,当你需要实现某一功能的时候,即可调用一个函数来帮你做,这样减少了重复工作,也让代码更加模块化,使得代码的阅读,完善和维护更加简单。
函数的用法
当你想调用一个函数的时候,一般如下格式
函数名(参数)
比如这样printf("打印函数");
函数定义的一般形式如下:
类型标识符 函数名()
{
声明部分
语句
}
这是一个无参数函数的定义。其中类型标识符和函数名称为函数头。类型标识符指明了本函数的类型,函数的类型实际上是函数返回值的类型。该类型标识符与前面介绍的各种说明符相同。函数名是由用户定义的标识符,函数名后有一个空括号,其中无参数,但括号不可少。{}中的内容称为函数体。在函数体中声明部分,是对函数体内部所用到的变量的类型说明。在很多情况下都不要求无参函数有返回值,此时函数类型符可以写为void,或者不写。
函数的参数分为实参和形参,实参可以是常数、变量、表达式等,多个实参用逗号,
分隔。形参是你声明和定义时所用的参数,实参则是你实际调用时的参数。
函数的嵌套使用
函数不能嵌套定义,但可以嵌套调用,也就是在一个函数的定义中出现对另一个函数的调用。这样就出现了函数的嵌套调用,即在被调函数中又调用其它函数。这样也就实现复杂功能的简单化。例如这样
#include <stdio.h>//求阶乘long factorial(int n){int i;long result=1;for(i=1; i<=n; i++){result *= i;}return result;}/ / 求累加的和long sum(long n){int i;long result = 0;for(i=1; i<=n; i++){//嵌套调用result += factorial(i);}return result;}int main(){printf("1!+2!+...+9!+10! = %ld\n", sum(10));return 0; }
递归函数
递归函数一般是学习函数过程中的一个难点,它也是函数嵌套使用的一种,不过有些不同于普通的函数嵌套,在调用过程中,执行的语句中有将自身再次调用的语句。在写递归函数的过程中必须有结束条件的语句。
比如下面这个例子
#include <stdio.h>void up_and_down(int);int main(){ up_and_down(1); return 0;}void up_and_down(int n){printf("leave %d: n location %p\n",n,&n );if(n<4) up_and_down(n+1);printf("leave %d:n location %p\n",n,&n );}
函数的返回值
函数的返回值就是你所要实现功能的结果表现,它的类型与函数的类型相同,当你定义函数的时候,定义了什么类型的函数,函数的返回值就是什么类型,就像这样,看这几行代码
自定义函数
虽然c语言的函数库很丰富,但是总有的时候不能找到合适的函数,这个时候我们就可以自己动手来,编写一个函数。自定义一个函数主要有一下几个步骤
1.声明函数
2.定义函数
3.编写语句
例如下面这个例子
#include <stdio.h> int xiao(int n,int m); int main() {int evil1,evil2;printf("Enter a pair of integers(q to quit):\n");while(scanf("%d %d",&evil1,&evil2) == 2){ printf("The lesser fo %d and %d is %d.\n",evil1,evil2,xiao(evil1,evil2)); printf("Enter a pair of integers(q to quit):\n");}printf("Bey\n");return 0; } int xiao(int n,int m) { return (n<m)?n:m;}函数声明给出了函数名、返回值类型、参数列表(参数类型)等与该函数有关的信息,称为函数原型(Function Prototype)。函数原型的作用是告诉编译器与该函数有关的信息,让编译器知道函数的存在,以及存在的形式,即使函数暂时没有定义,也不会出错。函数的声明一般在mina函数前面,语句后有分号。
函数的定义一般在最后或者其他文件里。
- C语言函数的简单说明
- C语言里面函数嵌套调用的简单说明谢谢
- C语言宏的简单说明
- [C语言]fopen()函数的参数说明
- C语言strings函数说明
- C 语言时间函数说明
- C语言getopt函数的简单使用
- c语言中函数的简单介绍
- 4.6 C语言函数的简单介绍
- c语言文件的简单实例和说明
- C语言的编码风格-函数说明(6)
- 关于C语言中的main函数的一点说明
- c语言中 main()函数的参数说明
- C语言关于qsort函数的用法详细说明
- C语言 sscanf 和 sprintf函数的说明和使用
- 关于C语言中一些常用函数的说明
- 程序设计(C语言)(常用函数说明)
- C语言memset函数详细说明
- iOS 画板、涂鸦
- D08 MapReduce编程思想
- 多进程写入文件
- javaee学习日记之java基础之初识java
- 【C#】C# 扩展方法
- C语言函数的简单说明
- eclipse或者myelipse没有代码提示,即使已经设置二十个字母
- IntentFilter过滤小数点两位
- 计算机网络1-Socket编程
- 创建线程的两种方式
- AspNetPager 翻页参数问题
- 修饰符
- android 显示 PDF 文件
- js图片上传预览