C程序设计-第七章函数详解

需积分: 9 0 下载量 50 浏览量 更新于2024-07-12 收藏 578KB PPT 举报
"该资源是关于C语言编程中函数的介绍,主要涵盖了函数的概念、定义、调用、递归调用、变量作用域等多个方面。示例代码展示了一个简单的函数调用过程,包括主函数调用其他函数的实例。" 在编程领域,函数是组织代码的基本单元,它封装了一段具有特定功能的代码,使得代码结构清晰,易于复用。在C语言中,函数是程序设计的重要组成部分,它们允许我们将大问题分解为小任务,每个任务由一个单独的函数来完成。 第七章的内容主要分为以下几个部分: 1. **函数概述**:C程序可以由一个主函数和多个其他函数构成,函数间通过调用来实现功能的组合。主函数是程序的起点,而其他函数可以互相调用,形成复杂的控制流程。 2. **函数定义与调用**:定义函数时需要指定返回类型、函数名和参数列表,如`void printstar()`。调用函数则通过函数名后跟括号,如`printstar()`,将控制权转移给被调用函数。 3. **函数的递归调用**:函数能调用自身,这种调用方式称为递归。在示例中未展示递归,但在实际编程中,递归常用于解决分治策略的问题,如计算阶乘、遍历树结构等。 4. **变量的作用域**:变量在其定义的代码块内有效,这称为局部作用域,如示例中的`int n`和`long y`。而在整个源文件或程序中都有效的变量称为全局变量。 5. **函数的作用域**:函数内部的变量只能在该函数内部访问,而函数外定义的变量可以在整个程序中访问,除非被其他作用域覆盖。 6. **函数参数和函数的值**:函数可以通过参数接收输入数据,并通过返回值传递结果。例如,示例中的`fac`函数可能计算阶乘并返回结果。 7. **函数的嵌套调用**:一个函数可以调用另一个函数,这称为函数嵌套,允许创建复杂的逻辑结构。 8. **数组作为函数参数**:函数不仅可以接受基本类型的参数,还可以接受数组作为参数,这在处理数据集合时非常有用。 9. **变量的存储方式和生存期**:C语言中,变量根据存储类型(如自动、静态、动态)有不同的生命周期和存储位置。 10. **变量的声明和定义**:声明告诉编译器变量的存在,而定义分配了内存空间。示例中`long fac(int n);`是对`fac`函数的声明,`long y=fac(n);`则是对`y`的定义和赋值。 11. **内部函数和外部函数**:内部函数(static修饰的函数)只在定义它的源文件内可见,而外部函数可以在整个程序中被调用。 通过学习这些知识点,开发者可以更好地理解和创建高效、可维护的C程序,利用函数实现模块化设计,提高代码的复用性和可读性。
2023-05-15 上传

1、用自定义模块建立一个Python程序文件。 2、创建一个fibo、py模块,其中包含两个求Fibonacci数列的函数,然后导入该模块并调用其中的函数。 3、例8-10,先定义函数求∑_(i=1)^n▒i^m ,然后调用该函数求s=∑_(k=1)^100▒k+∑_(k=1)^50▒k^2 +∑_(k=1)^10▒1/k。 4、输出宠物的叫声。 5、定义一个函数,实现两个数的四则运算,要注意有3个参数,分别是运算符和两个用于运算的数字。 6、假设设一个简单的ATM机的取款过程是这样的:首先提示用户输入密码(pakaword),最多只能输入3次,超过3次见提示用户"密码错误,请取卡”结束交易。如果用户密码码正确,再提示用户输入金额(amount). ATM机只能输出100元的纸币,一次取钱数要求最低0元,最高1000元。如果用户输入的金额符合上述要求。则打印出用户取的钱数。最后提示用户“交易完成,请取卡”,否则提示用户重新输入金额。假设用户密码是“888888”。 7、编写一个函数,输入n为偶数时 ,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数 1/1+1/3+...+1/n。 8、斐波那契数列(Fibonacci sequence)指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)。 9、约瑟夫环问题:n个人组成一个环或者排成一个队,从n个人的第一个人每次报数k,然后剔除。 10、输出裴波那契数列。 11、什么叫递归函数?举例说明。 12、什么叫lambda函数?举例说明。

2023-06-07 上传