数组02 - 零基础入门学习C语言24

第六章:数组02

 

让编程改变世界

Change the world by program


 

一维数组元素的引用

[codesyntax lang="c"]
#include <stdio.h>

void main()
{
    int i,a[10];

    for(i=0;i<=9;i++)
    {   
        a[i]=i;
    }
    for(i=9;i>=0;i--)
    {
        printf("%d ",a[i]);
    }
}
[/codesyntax]  

一维数组的初始化

  小秘密:给数组赋值的方法除了用赋值语句对数组元素逐个赋值外, 还可采用初始化赋值和动态赋值的方法。 数组初始化赋值是指在数组定义时给数组元素赋予初值。数组初始化是在编译阶段进行的。这样将减少运行间, 提高效率。   !!注意:之前用赋值语句或输入语句也可给数组素指定初值, 是在运行时完成。  

初始化赋值的一般形式为:

类型说明符 数组名[常量表达式] = {值, 值, ……值};

 

实现方法有如下几种:

1) 在定义数组时对数组元素赋以初值。 例如: int a[10]= {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; 将数组元素的初值依次放在一对花括弧内。 经过上面的定义和初始化之后, a[0]=0, a[1]=1, a[2]=2, a[3]=3, a[4]=4, a[5]=5, a[6]=6, a[7]=7, a[8]=8, a[9]=9。   2) 可以只给一部分元素赋值。 例如: int a[10]= {0, 1, 2, 3, 4}; 定义a数组有10个元素, 但花括弧内只提供5个初值, 这表示只给前面5个元素赋初值, 后5个元素值为0。不信的话可以调试一下!!尽信书则不如无书!!   3) 如果想使一个数组中全部元素值为0 可以写成

int a[10]={0, 0, 0, 0, 0, 0, 0, 0, 0, 0};

int a[10]={0};

4) 在对全部数组元素赋初值时, 由于数据的个数已经确定, 因此可以不指定数组长度。 例如: int a[5]= {1, 2, 3, 4, 5}; 也可以写成:int a[ ]= {1, 2, 3, 4, 5}; 在第二种写法中, 花括弧中有5个数, 系统就会据此自动定义a数组的长度为5。但若数组长度与提供初值的个数不相同, 则数组长度不能省略。 例如, 想定义数组长度为10, 就不能省略数组长度的定义, 而必须写成int a[10]={1, 2, 3, 4, 5}; 只初始化前5个元素, 后5个元素为0。  

数组初始化与未初始化比较

[codesyntax lang="c"]
#include  <stdio.h>

void main()
{
    int  i, a[5] = {3, 4, 5}, b[5];

    printf(“ n array a is: ”);
    for(i=0; i<5; i++) 			
        printf(“%6d”, a[i]);

    printf(“ n array b is: ”);
    for(i=0; i<5; i++)		   
        printf(“%6d”, b[i]);
}
[/codesyntax]  

动态赋值的方法 :

[codesyntax lang="c"]
#include <stdio.h>

void main()
{
    int i, max, a[10];

    printf("input 10 numbers:n");

    for(i=0; i<10; i++)
	scanf("%d",&a[i]); //这里是因为篇幅限制不得已。
  	max = a[0];

    for(i=1; i<10; i++)
        if(a[i]>max) 
            max=a[i]; //有条件的话还是加回括号给它哦~

    printf("maxmum=%dn",max);
}
[/codesyntax] [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/LBWXBPYOERBD']视频下载[/Downlink]
posted @ 2010-10-26 14:40  我就爱小甲鱼  阅读(110)  评论(0编辑  收藏  举报