第六章:利用數組處理批量數據


一維數組的定義:

類型符 數組名[常量表達式]

例:int a[10];

定義數組,會從內存里划分出一片存儲空間。

a[0]

a[1]

a[2]

a[3]

a[4]

a[5]

a[6]

a[7]

a[8]

a[9]

每一個空間你都可以存儲數據,也可以不存儲(輸出是隨機數)。

引用:

數組名[下標]

 通過上邊的定義可以看出來,下標和它對應的位置是差一的。

一維數組的初始化:

int a[10]={1,2,3,4,5,6,7,8,9,10};

從左至右依次對應,若初始值量不夠,則后面的就初始化為零。

特例;int a[10]={0}; (把數組a全部初始化為0

例:用數組處理Fibonacci數列問題!

#include

int main()

{

    int a[30]={1,1},i;

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

    {

        a[i]=a[i-1]+a[i-2];

        printf("%d\n",a[i]);

    }

    return 0;

}

通過數組我們很容易就就出了前三十的值。數組的魅力很大,需要我i們慢慢體會。

 

二維數組:

和一維數組用法差不多,所以就描述下他的一般形式

int a[2][3];

定義數組,會從內存里划分出一片存儲空間。

a[0][0]

a[0][1]

a[0][2]

a[1][0]

a[1][1]

a[1][2]

通過表可以看出第一個下標代表縱列,第二個下標代表橫列。

引用和初始化參考一維數組進行理解。

用字符初始化數組:

單個字符。

Char a={a};//單引號

字符串。

Char a[10]={Hello};//雙引號,定義的下標要>=字符串的長度.

對於數組的輸入輸出:

#include

int main()

{

    int a[3],i;

    char str[6],s;

    sacnf("%d %d %d",&a[0],&a[1],&a[2]);//輸入整形數組

    scanf("%c",&s[5]);//輸入字符

    scanf("%s",str);//輸入字符串

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

        printf("%d ",a[i]);

    printf("\n");

    printf("%c\n",s);

    printf("%s\n",str);

    return 0;

}

多留意下輸入語句,這是用scanf()函數實現的輸入。

定義輸入字符串時,沒有&,因為數組本身就是指針。結束條件是空格或回車。

 

scanf()不能實現對有空格的字符串的輸入,但是gets()可以,輸出可以用puts()。

一般形式:

gets(字符數組名);

puts(字符數組名);

字符串處理的函數:

① Puts(字符數組)//輸出字符串

② Gets(字符數組)//輸入字符串

③ Strcat(字符數組1,字符數組2//合並字符串

④ Strcpy(字符數組1,字符數組2//字符串復制

⑤ Strcmp(字符串1,字符串2//比較字符串

⑥ Strlen(字符串)//測字符串的長度

⑦ Strlwr(字符串)//將字母轉化為小寫

⑧ Strupr(字符串)//將字母轉化為大寫

 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com