c語言陣列學習問題迴圈方式給陣列賦值

2021-12-19 06:18:48 字數 2079 閱讀 4462

1樓:匿名使用者

就是for迴圈沒學會吧。那就講一下for迴圈和陣列應用。

就拿你的這個程式舉例子好了,定義了一個整型陣列a[3],然後看這段**:

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

for迴圈的括號裡面有三個東西,for(賦初值; 迴圈條件; 步長)

賦初值就是給迴圈變數(相當於一個計數器)賦初值,當然也可以初始化其他的變數。第一個分號後面是迴圈條件,只有滿足迴圈條件才執行迴圈體內部的語句,不滿足則跳出迴圈。第二個分號後面是迴圈變數的自增步長,就是每次迴圈結束以後,迴圈變數要增加或減少多少,當然也可以執行其他的運算,按照需求來。

運算過程如下:

進入for迴圈後,

第一次迴圈:i = 0,給變數 i 賦初值為0,然後判斷 i < 3,如果i 是 小於3的,那麼進入迴圈內部執行for迴圈裡面的語句,即a[i] = i。

這裡,i 是等於 0 的,那麼a[i]就是a[0],a[i] = i的意思就是a[0] = 0,也就是說,給陣列a的第一個元素(即下標為0的元素)賦值為0。接著a[i]=i這句執行完了,接著執行的是for迴圈的步長自增語句,即i++。i++和i=i+1是等價的,所以執行完這句語句以後,i的值從0變成了1。

到這裡,第一次迴圈就結束了,現在執行第二次迴圈。

第二次迴圈:第一次迴圈結束以後,進入第二次迴圈之前,先要執行for迴圈的第一個分號後面的語句,就是迴圈條件判斷。即i<3。

在第一次迴圈結束後,i的值是1,那麼1是小於3的,因此符合該條件,開始執行迴圈體內部的語句a[i] = i,這裡,i的值是1,那麼a[i]就是a[1]了,也就是陣列a的第二個元素(即下標為1的元素),執行完以後,又跳回for迴圈的第二個分號後面了,執行i++,執行完i++以後,i的值從1變成了2。接著開始第三次迴圈。

如此往復,第三次迴圈結束以後,i的值變成了3,在執行第四次迴圈的時候,首先進入for迴圈的迴圈條件判斷,也就是第一個分號後面的語句,i<3,這個時候i的值是3,3<3是不成立的,因此從這裡開始跳出迴圈,第四次迴圈也就不執行了。

迴圈結束以後,陣列a就變成這樣了:a[0]=0,a[1]=1,a[2]=2。而i的值在此時為3。

自己一步一步寫出來for迴圈的執行步驟就好了。

總結:for(賦初值; 迴圈變數; 迴圈變數自增)

這句語句的執行順序是:

1.賦初值。

2.判斷迴圈條件,若滿足條件執行第3步,若不滿足條件執行第6步。

3.執行迴圈體語句。

4.迴圈變數自增。

5.執行第2步。

6.跳出迴圈。

2樓:匿名使用者

int a[3],i; 真不明白你是怎麼學習的,你問的問題我都沒怎麼看懂,什麼叫剛開始定義的i是自增運算子呀?這裡在定義一個存放整型常量的變數i,不是什麼自增運算子,什麼叫迴圈時呼叫了?這句話我是想不明白,你想問什麼。

a[i]=i; 你問「這裡a[i]又呼叫了次,是什麼意思?什麼叫呼叫2次也行呀?」不明白你問什麼,在這裡i是一個變數(什麼叫變數不用我解釋吧,和初中數學時的變數的函義一樣,就是值會變的量),因此i的值是會變的,因為在for迴圈中對i賦了初始0,也就是i=0,所以第一次迴圈時i=0,然後使用i=0代替a[i]=i中的i就得到a[0]=0;其中a是一個陣列不用解釋吧?

陣列就是能存放多個同種型別資料的變數,比如int a[3]就表示陣列a可以存放3個int型的值,比如a[0]=?或者a[1]或者a[2]=?在這裡只是沒有對其陣列中的成員賦值,也就是陣列中儲存的值究竟是什麼還不知道,而在for迴圈中就得到了他們的值,也就是a[0]=0,a[1]=1,a[2]=2,注意陣列是以下標來訪問他所訪問的其中的值,而且是以0開始。

下面是抄的樓上那位仁兄的

第一次,執行賦值語句i=0,然後判斷語句i<3是否成立,執行迴圈體a[0]=0(因為此時i為0),完後i自加,此時i值變為1;

第二次,i=1,判斷語句i<3成立,執行迴圈體a[1]=1(因為此時i為1),完後i自加,此時i值變為2;

第三次,i=2,判斷語句i<3成立,執行迴圈體a[2]=2(因為此時i為2),完後i自加,此時i值變為3;

第四次,i==3,判斷語句i<3不成立,迴圈結束。

3樓:匿名使用者

先是利用迴圈賦值 然後利用迴圈輸出

c語言二維陣列迴圈賦值,C語言二維陣列迴圈賦值

這個只是陣列值的大小和行列的關係而已 就代表改數的值等於所在行數的4倍加所在列數加1 c語言中怎樣實現對二維陣列元素進行賦值並輸出。可以按照下面步驟進行定義二維陣列並輸出 1 定義二維指標。2 確定內陣列維數,即行數容和列數。3 申請行數個一維指標大小空間,並賦值給二維指標。4 對於每個一維指,申請...

c語言迴圈問題,c語言for迴圈問題

include define n 3 void main int i,j for i 0 i include stdio.h int main 這是c 裡面的寫法如果是c要在使用之前定義i變數。int i 0 然後使用for迴圈 for int i 0 i 10 i for int j i j 0 ...

大學c語言迴圈章節問題。 不用陣列 編寫程式,輸出楊輝三角形

include define n 14 void main printf d行楊輝三角如下 n n for i 1 i n i a i 1 a i i 1 兩邊的數令它為1,因為現在迴圈從1開始,就認為a i 1 為第一個數 for i 3 i n i for j 2 j i 1 j a i j a...