函数,递归,头文件

来源:互联网 发布:网络鲜花实体店 编辑:程序博客网 时间:2024/04/30 07:01

- - - - - - - - - - - - - - - 触控未来的日子–Day 33- - - - - - - - - - - - - -

首先什么也不说,先把昨天家庭作业没有按时完成的题目附上,(然后我就发现,一觉醒来它尽然如此简单,大概是早上出门前系鞋带的时候,把脑袋里的水倒出来了的原因):

求数列2/1,3/2,/5/3……..前20项之和。

# include <stdio.h>#include <math.h>   void main(){  float f1 = 1,f2 = 2,f3,i,n;  float sum = 0;  printf("请任意输入一个整数:\n");  scanf("%f",&n);  getchar();  for(i = 1;i <= n;i++){          sum += f2/f1;          f3 = f1 + f2;          f1 = f2;          f2 = f3;        }  printf("\n结果是%f",sum);  getchar();}

生兔子的简化版(斐波那契数题):

# include <stdio.h>#include <math.h>   void main(){  int f1 = 1,f2 = 1,f3,i,n;  int sum = 0;  printf("请任意输入一个整数:\n");  scanf("%d",&n);  getchar();  for(i = 1;i <= n;i++){    if( i <= 2 ){        sum =1;    //第一个月不生,第二个月不生    }else{        sum = f1 + f2;  //第三个月后每个月生一对        f3 = f1 + f2;        f1 = f2;        f2 = f3;        }  }  printf("\n结果是%d",sum);  getchar();}

上午主讲函数:

错误示例:
void main(){
}
void add(int a,int b){
return a+b
};
上述代码问题:返回值类型与类型名不符

函数类型:
1,无参数无返回值
2,有参数无返回值
3,无参数有返回值
4,有参数有返回值

今日重点内容A:
1,形参变量只有在被调用的时候才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。
2,实参可以是常量,变量,表达式,函数等,无论实参是何种类型的量,在进行函数调用时,他们都必须具有确定的值,以便把这些值传送给实参。
3,函数调用中发生的数据传送是单向的“值传递”。即只能把实参的值传送给形参而不能把形参的值反向的传送给实参。在内存中,形参与实参占用不同的单元,在函数调用时给形参分配储存单元,并将实参对应的值传递给形参,调用结束后形参单元被释放实参单元仍保留原值。因此在函数调用的过程中,形参的值发生变化,而实参中的值不会变化。

今日重点内容B:
头文件的自定义调用,避免重定义的问题。
创建一个名字形同的.h头文件,和.c源文件。
在头文件中声明函数,在源文件中定义并实现函数。

下午内容主讲递归:

函数递归核心
重复调用自己
一定要有边界,
写算法。

题目:
递归实现十进制二进制的转换
递归实现1加到100的和
递归实现1到100之间的偶数的和

全天内容回顾

1,什么是函数,函数的机构和定义
2,函数的组成部分。
3,函数的四种形式。
4,头文件的自定义和使用。
5,头疼的递归

中午玩耍的例子:打开百度,监控键盘

0 0
原创粉丝点击