C 語言基礎(chǔ)教程

C 語言流程控制

C 語言函數(shù)

C 語言數(shù)組

C 語言指針

C 語言字符串

C 語言結(jié)構(gòu)體

C 語言文件

C 其他

C 語言參考手冊

C 語言數(shù)組

在本教程中,您將學(xué)習(xí)如何使用數(shù)組。您將借助示例學(xué)習(xí)如何聲明,初始化和訪問數(shù)組的元素。

數(shù)組是可以存儲多個(gè)值的變量。例如,如果要存儲100個(gè)整數(shù),則可以為其創(chuàng)建一個(gè)數(shù)組。

int data[100];

如何聲明數(shù)組?

dataType arrayName[arraySize];

例如,

float mark[5];

在這里,我們聲明了一個(gè)浮點(diǎn)類型的數(shù)組mark。其大小為5。意味著,它可以容納5個(gè)浮點(diǎn)值。

需要注意的是,數(shù)組的大小和類型一旦聲明就不能更改。

訪問數(shù)組元素

您可以按索引訪問數(shù)組的元素。

假設(shè)您如上所述聲明了一個(gè)數(shù)組mark。第一個(gè)元素是mark[0],第二個(gè)元素是mark[1],依此類推。

C數(shù)組聲明

說明

  • 數(shù)組的第一個(gè)索引為0,而不是1。在此示例中,數(shù)組為第mark[0]一個(gè)元素。

  • 如果數(shù)組的大小為,則要n訪問最后一個(gè)元素,n-1則使用索引。在這個(gè)實(shí)例中mark[4]

  • 假設(shè)的起始地址mark[0]是2120d。然后,的地址mark[1]將為2124d。同樣,地址mark[2]將是2128d等。
    這是因?yàn)閍的大小float是4個(gè)字節(jié)。

如何初始化數(shù)組?

在聲明期間可以初始化數(shù)組。例如,

int mark[5] = {19, 10, 8, 17, 9};

您也可以像這樣初始化一個(gè)數(shù)組。

int mark[] = {19, 10, 8, 17, 9};

在這里,我們沒有指定大小。但是,當(dāng)我們使用5個(gè)元素進(jìn)行初始化時(shí),編譯器知道其大小為5。
在C語言編程中初始化數(shù)組

這里,

mark[0] 等于 19
mark[1] 等于 10
mark[2] 等于 8
mark[3] 等于 17
mark[4] 等于 9

更改數(shù)組元素的值

int mark[5] = {19, 10, 8, 17, 9}

//使第三個(gè)元素的值為-1
mark[2] = -1;

//使第五個(gè)元素的值為0
mark[4] = 0;

輸入和輸出數(shù)組元素

這是如何從用戶那里獲取輸入并將其存儲在數(shù)組元素中的方法。

// 獲取輸入并將其存儲在第三個(gè)元素中
scanf("%d", &mark[2]);

// 把輸入存儲在第i個(gè)元素中
scanf("%d", &mark[i-1]);

這是打印數(shù)組單個(gè)元素的方法。

//打印數(shù)組的第一個(gè)元素
printf("%d", mark[0]);

//打印數(shù)組的第三個(gè)元素
printf("%d", mark[2]);

//打印數(shù)組的第i個(gè)元素
printf("%d", mark[i-1]);

示例1:數(shù)組輸入/輸出

//程序從用戶那里獲取5個(gè)值并將它們存儲在數(shù)組中
//打印存儲在數(shù)組中的元素
#include <stdio.h>

int main() {
  int values[5];

  printf("輸入5個(gè)整數(shù): ");

  //接受輸入并將其存儲在數(shù)組中
  for(int i = 0; i < 5; ++i) {
     scanf("%d", &values[i]);
  }

  printf("顯示整數(shù): ");

  //打印數(shù)組的元素
  for(int i = 0; i < 5; ++i) {
     printf("%d\n", values[i]);
  }
  return 0;
}

輸出結(jié)果

輸入5個(gè)整數(shù): 1
-3
34
0
3
顯示整數(shù): 1
-3
34
0
3

在這里,我們使用了一個(gè)  for循環(huán),來從用戶那里獲取5個(gè)輸入的數(shù)值,并將它們存儲在一個(gè)數(shù)組中。然后,使用另一個(gè) for循環(huán),這些元素顯示在屏幕上。

示例2:計(jì)算平均值

//程序使用數(shù)組查找n個(gè)數(shù)字的平均值
#include <stdio.h>
int main()
{
     int marks[10], i, n, sum = 0, average;

     printf("輸入元素?cái)?shù)量: ");
     scanf("%d", &n);

     for(i=0; i<n; ++i)
     {
          printf("輸入數(shù)字%d: ",i+1);
          scanf("%d", &marks[i]);
          
          //將用戶輸入的整數(shù)添加到sum變量
          sum += marks[i];
     }

     average = sum/n;
     printf("平均值 = %d", average);

     return 0;
}

輸出結(jié)果

輸入元素?cái)?shù)量: 5
輸入數(shù)字1: 45
輸入數(shù)字2: 35
輸入數(shù)字3: 38
輸入數(shù)字4: 31
輸入數(shù)字5: 49
平均值 = 39

在這里,我們計(jì)算了用戶輸入的n個(gè)數(shù)字的平均值。

訪問元素超出范圍!

假設(shè)您聲明了一個(gè)由10個(gè)元素組成的數(shù)組。比方說

int testArray[10];

您可以訪問數(shù)組元素 testArray[0] - testArray[9]。

現(xiàn)在,假設(shè)您嘗試訪問testArray[12]。該元素不可用。這可能會導(dǎo)致意外輸出(拋出錯誤)。

因此,永遠(yuǎn)不要訪問數(shù)組邊界之外的元素。

多維數(shù)組

在本教程中,您了解了數(shù)組。這些數(shù)組稱為一維數(shù)組。

在下一個(gè)教程中,您將學(xué)習(xí)多維數(shù)組(數(shù)組的數(shù)組)。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清