1. 程式人生 > >陣列的初步學習

陣列的初步學習

一.本週學習重點

1.陣列

二.學習的重點內容

(一)一維陣列

1.一維陣列的定義和引用:

定義一個數組,需要明確陣列變數名,陣列元素的型別和陣列的大小(即陣列中元素的數量)

2.一維陣列的定義式的一般形式為:

     型別名     陣列名    【陣列長度】

型別名指定陣列中每個元素的型別;陣列名是陣列變數的名稱,是一個合法的識別符號;陣列長度是一個整型常量表達式,設定陣列的大小。

3.一維陣列的初始化

一般形式為:型別名   陣列名    【陣列長度】 =   {初賦值}

初值表中依次放著陣列元素的初值

注意點:

1.陣列長度是一個常量

2.陣列名是一個地址常量,存放陣列記憶體空間的首地址

3.陣列下標從0開始,下標不能越界,如果只對部分元素初始化,陣列長度是不能省略的

(二)二維陣列

1.二維陣列的定義形式為:

     型別名    陣列名   【行長度】【列長度】

2.引用二維陣列的元素要指定兩個下標形式為:

     陣列名   【行下標】   【列下標】

3.二維陣列的初始化

(1).分行初賦值

一般形式為:

型別名   陣列名  【行長度】 【列長度】   =    {{初值表0},...,{初值表k},...}

(2).順序賦初值

一般形式為:

型別名   陣列名   【行長度】  【列長度】  =   {初值表}     

根據陣列元素在記憶體中的存放順序,把初值表中的資料依次賦給元素

注意:如果只對部分元素賦初值,要注意初值表中資料的書寫順序

 

三.相關習題

輸入十個整數,計算這些數的平均值,再輸出所有大於平均值的數

  1. #include <stdio.h>
  2. int main(void)
  3. {
  4.  int i;
  5.  double average, sum;
  6.  int a [10];
  7.  printf("Enter 10 integers:");
  8.  sum = 0;
  9.  for(i=0;i<10;i++){
  10.    scanf("%d",&a[i]);
  11.    sum = sum+a[i];
  12.  }
  13.  average = sum/10;
  14.  printf("average = %.2f\n", average);
  15.  printf(">average:");
  16.  for(i=0;i<10;i++)
  17.  {
  18.    if(a[i]>average)
  19.    printf("%d", a[i]);
  20.  }
  21.  printf("\n");
  22.  return 0;
  23. }