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=;f2=;

         for(i=;i<=;i++)

         {

                   printf("%12ld  %12ld",f1,f2);

                   if(i%==)

                            printf("\n");

                   f1=f1+f2;

                   f2=f2+f1;

         }

}

例2 利用数组解决Fibonacci问题

/************************************

  功能:利用数组解决Fibonacci问题

***********************************/

#include <stdio.h

void main()

{

         int i;

         long int f[]={,};

         for(i=;i<;i++)

         {

                   f[i]=f[i-]+f[i-];

         }

         for(i=;i<;i++)

         {

                   if(i%==)

                            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=;i<;i++)

         {

                   f=Fibonacci(i);

                   if(i%==)

                            printf("\n");

                   printf("%ld  ",f);

         }

}

long int Fibonacci(int i)

{

         long int f;

         if(i==||i==)

                   f=;

         else

                   f=Fibonacci(i-)+Fibonacci(i-);

         return f;

}

最新文章

  1. tn文本分析语言(四) 实现自然语言计算器
  2. JavaScript学习笔记-对象
  3. 未将对象引用设置到对象的实例 启用 JIT 调试后,任何无法处理的异常
  4. Unity Standard Assets 简介之 Utility
  5. 李洪强iOS经典面试题131
  6. 【基础】Html跨域跳转问题整理
  7. C# ManualResetEvent 的方法介绍
  8. 合并同一目录下多个EXCEL的多个sheet
  9. NHibernate输出SQL语句
  10. JAVA_JDBC
  11. Git关联远程GitHub仓库
  12. 十六进制颜色与Color对象的互相转换[C#]
  13. 背包类问题解答——poj3624分析
  14. Spring @Aspect切面参数传递
  15. React Native动画总结
  16. [Swift]LeetCode137. 只出现一次的数字 II | Single Number II
  17. 大数据: 完全分布式Hadoop集群-HBase安装
  18. Linux安装配置rabbitmq
  19. sprintf() 处理 float类型的数字,保留小数位等。
  20. Java中常见的排序方式-选择排序(升序)

热门文章

  1. Java实现读取文件夹下(包括子目录)所有文件的文件名
  2. Linux下ffmpeg的各种编解码器的安装
  3. ClearCanvas DICOM 开发系列 一
  4. py代码模糊工具
  5. 5. apktool 给XX手机卫士加广告页
  6. C/C++程序员必须熟练应用的开源项目[转]
  7. uniq命令注意事项,检查重复行的时候,只会检查相邻的行。
  8. espcms列表页ajax获取内容 - 并初始化swiper
  9. NHibernate实战详解(一)领域模型设计
  10. windows编程注意点(持续更新)