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.h void 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; }
几年前做家教写的C教程(之三专讲了递归和斐波那契),布布扣,bubuko.com
原文:http://www.cnblogs.com/accipiter/p/3891179.html