首页 > 代码库 > 几年前做家教写的C教程(之三专讲了递归和斐波那契)
几年前做家教写的C教程(之三专讲了递归和斐波那契)
C语言学习宝典(3)
数组:
一维数组的定义: 类型说明符 数组名[常量表达式]
例如: int a[10];
说明:(1)数组名的命名规则和变量名相同,遵循标示符命名规则
(2)在定义数组时需要指定数组个数,即数组长度
(3)变量表达式中可以包括常量和符号常量,不能包含变量。
一维数组的应用: 数组名[下标]
一维数组的初始化:(1)在定义数组时对数组元素赋予初值
Int a[10]={0,1,2,3,4,5,6,7,8,9}
(2)可以只给一部分元素赋值
Int a[10]={0,1,2,3,4}
(3)对全部数组元素赋初值时,由于数据的个数已经确定,因此可以不指定数组长度
Int a[]={1,2,3,4}
函数:
函数定义的一般格式:类型标示符 函数名() { 声明部分语句}
函数参数:在定义函数时,函数名后面括号中的变量名称为”形式参数”,在主调函数中调用一个函数时,函数名后面括号中的参数称为”实际参数”
函数调用:要首先声明,要合乎函数的规范
例1 有一对兔子,从出生第三个月起每个月都生一对兔子,小兔子长到3个月后又生一对兔子,假设所有兔子不死,问每个月的兔子总数为多少?(Fibonacci问题)
/*****************************功能:求Fibonacci数*******************************/#include <stdio.h>void main(){ long int f1,f2; int i; f1=1;f2=1; for(i=0;i<=20;i++) { printf("%12ld %12ld",f1,f2); if(i%2==0) printf("\n"); f1=f1+f2; f2=f2+f1; }}
例2 利用数组解决Fibonacci问题
/************************************ 功能:利用数组解决Fibonacci问题***********************************/#include <stdio.hvoid main(){ int i; long int f[40]={1,1}; for(i=2;i<=40;i++) { f[i]=f[i-2]+f[i-1]; } for(i=0;i<40;i++) { if(i%4==0) printf("\n"); printf("%12ld",f[i]); } printf("\n");}
例2 利用递归函数解决Fibonacci问题
/******************** 功能:利用递归函数调用解决Fibonacci问题********************/#include <stdio.h>void main(){ long int Fibonacci(int i); long int f; int i; for(i=1;i<40;i++) { f=Fibonacci(i); if(i%4==0) printf("\n"); printf("%ld ",f); }}long int Fibonacci(int i){ long int f; if(i==1||i==2) f=1; else f=Fibonacci(i-2)+Fibonacci(i-1); return f;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。