第七章 函数第2讲(C语言)
- 格式:ppt
- 大小:361.00 KB
- 文档页数:45
c语言程序设计第七章函数笔记总结第七章函数1. 函数的概念与作用在C语言程序设计中,函数是一种封装了一系列语句的代码块,它可以实现特定的功能并且可以被多次调用。
函数的作用在于提高代码的复用性、模块化和可维护性。
通过函数,可以将程序分解成一个个小的模块,使得整体代码结构更加清晰,更易于维护和管理。
2. 函数的定义与声明在C语言中,函数由函数名、参数列表、返回类型、函数体四部分组成。
函数的定义包括了函数的实际操作代码,而函数的声明则告诉编译器函数的存在和函数的类型。
在使用函数之前,通常需要提前声明或者定义函数。
3. 函数的参数传递C语言中,函数的参数传递有值传递和指针传递两种方式。
值传递是将实参的值传递给形参,在函数内部对形参的修改不会影响到实参。
而指针传递则是传递变量的位置区域,可以在函数内部通过指针对实参进行修改。
4. 函数的返回值函数可以有返回值,也可以没有返回值。
在函数有返回值时,需要在函数定义中定义返回类型,并且使用return语句返回具体的数值或者变量。
5. 函数的递归调用函数可以调用自身,这种特性被称为递归调用。
递归函数通常通过递归终止条件来结束递归过程,可以解决一些数学问题或者遍历树的问题。
6. 内联函数内联函数是一种特殊的函数,它会在函数调用时直接将函数的代码嵌入到调用的地方,而不是通过函数调用指令来执行。
内联函数可以提高程序运行的效率,但也会增加代码的大小。
总结与个人观点:本章介绍了C语言中函数的使用和定义,详细讲解了函数的各种特性和用法。
通过学习这一章的内容,我对函数的概念和作用有了更深入的了解,也掌握了如何正确地定义和调用函数。
在实际编程中,函数的使用能够更好地组织和管理代码,提高程序的可读性和可维护性。
个人观点上,我认为函数作为一种重要的编程工具,在程序设计中扮演着至关重要的角色。
合理地使用函数能够将复杂的问题分解成简单的小模块,使得程序结构更加清晰和易于维护。
我也认为要注意函数的递归调用和内联函数的使用,灵活运用不同的函数特性来提高程序的效率和性能。
C程序设计(第五版)谭浩强学习笔记—重点及易错点(第7章-函数)⽤函数实现模块化程序设计⽬录⼀、定义函数定义函数应包括以下⼏个内容:(1) 指定函数的名字,以便以后按名调⽤。
(2) 指定函数的类型,即函数返回值的类型。
(3) 指定函数的参数的名字和类型,以便在调⽤函数时向它们传递数据。
对⽆参函数不需要这项。
(4) 指定函数应当完成什么操作,也就是函数是做什么的,即函数的功能。
这是最重要的,是在函数体中解决的。
类型名函数名(形式参数表列){函数体}例如:int max(int x,int y){ int z; //声明部分z=x>y?x:y; //执⾏语句部分return(z);}当然函数可以没有返回值或者形式参数。
⼆、调⽤函数1.⾸先要对要调⽤的函数进⾏声明2.采⽤合适的⽅式调⽤函数(1). 函数调⽤语句 把函数调⽤单独作为⼀个语句。
如printf_star(); 这时不要求函数带回值,只要求函数完成⼀定的操作。
(2). 函数表达式 函数调⽤出现在另⼀个表达式中,如c=max(a,b); 这时要求函数带回⼀个确定的值以参加表达式的运算。
(3). 函数参数 函数调⽤作为另⼀个函数调⽤时的实参。
如m=max(a,max(b,c));,⼜如:printf (″%d″, max (a,b));3.实参和形参间的数据传递:实参向形参的数据传递是“值传递”,单向传递,只能由实参传给形参,⽽不能由形参传给实参。
实参和形参在内存中占有不同的存储单元,实参⽆法得到形参的值。
例如:{ float add(float x, float y); //对add函数作声明float a,b,c;printf("Please enter a and b:"); //提⽰输⼊scanf("%f,%f",&a,&b); //输⼊两个实数c=add(a,b); //调⽤add函数printf("sum is %f\n",c); //输出两数之和return 0;}float add(float x,float y) //定义add函数{ float z;z=x+y;return(z); //把变量z的值作为函数值返回}三、函数的递归调⽤在调⽤⼀个函数的过程中⼜出现直接或间接地调⽤该函数本⾝,称为函数的递归调⽤。