c語言for這個語句怎麼理解,C語言for 這個語句怎麼理解?

時間 2021-10-17 04:47:57

1樓:風千觴

for語句的一般形式為:

for(表示式1;表示式2;表示式3)

語句3個表示式的主要作用是:

表示式1:設定初始條件,只執行一次。可以為零個、一個或多個變數設定初值。

表示式2:是迴圈條件表示式,用來判斷是否繼續迴圈。在每次執行迴圈體前先執行此表示式,決定是否繼續執行迴圈。

表示式3:作為迴圈的調整,例如使迴圈變數增值,它是在執行完迴圈體後才進行的。

所以for語句可以這樣理解

for(迴圈變數賦初值;迴圈條件;迴圈變數增值)

語句舉個例子來說

for(i=1;1<=100;i++)

sum=sum+i;

接下來來說for(;;)這個語句,第一個分號前為空,即沒有賦初始值,為了能正常執行迴圈,應要在for語句之前給迴圈變數賦初始值。第二個分號前為空,即不設定任何表示式作為迴圈條件,那此時迴圈無終止的進行下去。第二個分號後為空,即執行for語句時會一直執行下去,永無終止。

其實for(;;)語句即是不設初值,不判斷條件,迴圈變數不增值,無止盡的執行迴圈體語句。不過,顯然這個是沒有實用價值的。

while(1)與for(;;)等價。

2樓:灬愛爬樹的魚

for(表示式1;表示式2;表示式3)

這三個表示式,可以都有,也可以都沒有,也可以由任意的一項或兩項,這就是for的靈活性所在

解釋一下三個表示式的含義

表示式1,這個一般是初始化條件,如i=1。在第一個分號之前,可以用一個,也可以好幾個,用逗號隔開

表示式2,這個事迴圈條件,滿足就繼續執行迴圈體,不滿足就跳出迴圈。這裡一般是個邏輯判斷語句。

表示式3,這個一般是改變迴圈條件的地方,如i++。

執行順序是,先初始化,也就是運算表示式1,初始化完成後,這個表示式就沒有用處了。

接著判斷是否滿足迴圈條件,也就是運算表示式2,如果是真,就執行迴圈體。

最後,運算表示式3,改變迴圈條件。這樣第一次迴圈完成。

接著第二次迴圈,也就是運算表示式2,看是否滿足迴圈條件,如果表示式2還滿足(也就是真),接著執行迴圈體。完成後運算表示式3,。

如此往復迴圈,直到不滿足表示式2後,跳出迴圈

說白了就相當於沒有迴圈條件,既然沒有迴圈條件就是一直滿足,所以是無限迴圈

3樓:

這個其實就是個無限迴圈,跟while(1){}一樣的效果,一般會在迴圈內部採用break,goto,以及return來結束迴圈。望採納

4樓:匿名使用者

這個是死迴圈,最好寫成while(1){}

你把for(;;)換成while(1)就可以了,意思就是不停執行for後面{}裡面的**,**的具體意思嗎,不太瞭解。除非你提供函式原**

5樓:一路的淚

for(判斷條件1;判斷條件2;執行語句)

6樓:東魏巍

無限迴圈後面的,直到執行break停止

7樓:留陽澤

??你想問for語句中都為空怎麼理解 ?

8樓:i_拋物線

無限迴圈,死迴圈。。

c語言中for迴圈怎麼理解?

9樓:楓璽

for迴圈是程式語言中一種開界的迴圈語句,而迴圈語句由迴圈體及迴圈的終止條件兩部分組成,for迴圈一般形式為:for(單次表示式;條件表示式;末尾迴圈體)。

執行的中間迴圈體可以為一個語句,也可以為多個語句,當中間迴圈體只有一個語句時,其大括號{}可以省略,執行完中間迴圈體後接著執行末尾迴圈體  。執行末尾迴圈體後將再次進行條件判斷,若條件還成立,則繼續重複上述迴圈,當條件不成立時則跳出當下for迴圈。

for迴圈例項:

# include

int main(void)

printf ("sum = %d\n", sum);

return 0;}

假如 n=4,當 i=1 時,m=1,sum=1。當 i=2 時,m=1×2,sum=1+1×2。當 i=3 時,m=1×2×3,sum=1+1×2+1×2×3。

當 i=4 時,m=1×2×3×4sum=1+1×2+1×2×3+1×2×3×4。

擴充套件資料

for迴圈注意事項:

1、for迴圈的**不僅可以寫一句,也可以寫多句(保證第二部分的返回值是布林值)

2、for迴圈的三個部分都可以省略。第一部分省略表示不初始化;第二部分省略表示不判斷,預設值為true;第三部分省略表示省略後什麼也不執行。

3、小迴圈在外,大迴圈在內、

4、如果for迴圈有條件判斷,可以將條件放到for迴圈外。

5、 for迴圈中的"單次表示式"、"條件表示式"和"迴圈體語句"都是選擇項, 即可以預設成只剩下“;”的空語句, ";"不能預設的原因是編譯格式如此,預設了編譯器不認識而會報錯。

10樓:guxuecan劍

以題目中的程式為例子:

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

a+=i;

for迴圈裡面的三個引數為三個表示式:

第一個控制表示式”i=1“在迴圈開始時執行,且只執行一次。

第二個控制表示式必須是一個邏輯表示式,且在每次迴圈迭代開始重複前計算。

第三個控制表示式”i++“在每一次迴圈迭代結束時執行。

只有第二個邏輯表示式為真時,語句塊內的語句才執行。

11樓:匿名使用者

1、for是c語言中的一個關鍵字,主要用來控制迴圈語句的執行。

2、下面舉例說明for語句的使用方法:

int i;

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

// i=0是初始化部分;i<3是迴圈判斷條件部分(當滿足此條件時才進入執行for迴圈中的語句);i++是執行完迴圈體語句後的操作

// 上面的for語句就是控制輸出3次helloworld

12樓:匿名使用者

a+=i就是a=a+i,

for迴圈語句就是:i=0時,a=a+0;再執行i++,即i=1;再執行a=a+i,一直到i=9,為止,能看懂嗎?

13樓:匿名使用者

初始時,i=0,開始迴圈。

第一步:a+=i;然後i++,i變成1,1<10,繼續迴圈;

第二步:a+=i;然後i++,i變成2,2<10,繼續迴圈;

。。。第九步:a+=i;然後i++,i變成9,9<10,繼續迴圈;

第十步:a+=i;然後i++,i變成10,10<10不成立,迴圈結束

14樓:匿名使用者

a相當於一個累加器 每次都用a和i的值相加 然後再把結果存在a中 ,直到i=10為止

a=a+0;

a=a+1;

a=a+2;

a=a+3;

a=a+4;

a=a+5;

a=a+6;

a=a+7;

a=a+8;

a=a+9;

15樓:匿名使用者

for從i=0開始,如果i<10,進入迴圈體 a+=i;結束之後,i++;然後繼續判斷i<10,然後進入迴圈體,a+=i。。。。。如此迴圈,最後得到a=0+1+2+……+9

16樓:

你只要搞清楚for迴圈3個語句的含義應該就懂了第一個是初始化,第二個是條件語句,第三個是自處理語句;

迴圈時第一個語句只使用一次,然後判斷是否滿足第二個語句,滿足則進入迴圈體執行a+=i,然後i自加1,再判斷是否滿足第二個語句,滿足則進入迴圈體執行a+=i,一直到i不滿足i<10了,迴圈跳出。

開始時,i=0,開始迴圈。假設a初始化為0,第一步:a+=i;然後i++,a=0,i變成1,1<10,繼續迴圈;

第二步:a+=i;然後i++,a=1,i變成2,2<10,繼續迴圈;

。。。第九步:a+=i;然後i++,a=36,i變成9,9<10,繼續迴圈;

第十步:a+=i;然後i++,a=45,i變成10,10<10不成立,迴圈結束

17樓:匿名使用者

第一次i=0,a=a+i,後面依次i=1,2,3。。。9,a=a+i;

誰能 給我解釋一下 c語言中 這個語句的意思;為什麼可以這樣寫,我一直沒想明白! for(i

18樓:匿名使用者

以你的第一個for迴圈為例

for (i = t; i > 0; i--)執行一個for迴圈,一般會有一個迴圈變數,有迴圈終止與否的判斷1) i =t, 在進入for迴圈前,執行一次,對迴圈變數進行初始化,初始值為5

2)i>0,迴圈進行的條件,就是隻要迴圈變數大於0,就一直執行3)執行完迴圈體之後,就來這裡,執行一次i--,然後回到2)所以這個for迴圈的執行順序是

1) i = t;

2) 判斷 i>0是否成立,成立則進入迴圈體,否則退出for迴圈3)執行迴圈體

4)執行i--

5) goto 2)

19樓:匿名使用者

你看的郭天祥的十天微控制器吧,這個是延時功能

20樓:匿名使用者

第一個for迴圈:首先i被賦值為t,當i>0時,執行第二個迴圈

第二個for迴圈:首先j被賦值為110,當j>0時,什麼也不執行(因為for語句以分號結束),再j-1,再比較j和0的大小,當j=0時,第二個for迴圈不成立,跳出。執行第一個for迴圈i-1,在判斷i是否大於0,成立時再執行第二個迴圈。。。

簡單點說就是迴圈t*110次。外迴圈乘以內迴圈次數。。

21樓:匿名使用者

作為程式的一部分它的功能就等於是什麼實事也不幹,多用做延時功能

22樓:匿名使用者

這應該是倆個for迴圈的疊加,迴圈次數等於第一個for迴圈次數乘以第二個for迴圈次數,

像這個迴圈次數是:

t*100次

c語言 裡面的for是什麼意思

23樓:匿名使用者

迴圈如for (i=o;i<5;i++)printf("\n");

i初始值為0.i小於5時執行以下的語句。執行後就進行i++(也就是把i自身+1)。

24樓:匿名使用者

for 迴圈

bai for (j=0;j<5;j++)以這個為du例

for迴圈中有兩個分號zhi,將()中分為3部分i=0;j<5;j++這三個部分

j=0是起始值dao,版j<5是迴圈條件,成立繼續迴圈,權j++是繼續

執行順序i=0(只執行開始一次);j<5;如果成立執行迴圈體printf("%c",a[i][j]);然後是j++,

再然後 j<5,成立執行printf("%c",a[i][j]); j++....

25樓:匿名使用者

這裡的for語句,可以理解為for的意思是當什麼什麼時,執行什麼什麼操作,

意思是版從i=0開始,如果i小於

權5,i自加,也就是說,i的範圍是0,1,2,3,4,5;

printf 可以理解為輸出,\n 是換行,從j=0開始,如果j小於5,執行j自加,就是說j的範圍是0,1,2,3,4,5;

輸出a[i][j],

【ls的回答相當靠譜......】

26樓:匿名使用者

for迴圈,從i=0開始,每迴圈一次i加1,i<5是條件,當i>=5時跳出迴圈

27樓:echoの忽忽

首先bai,for是一個循

環,括號內有三du條語句,要注zhi意這裡的分隔符是分號不dao是專

逗號,然後分別對應的屬意思是 :i=0是初值,i<5是迴圈條件,i++是迴圈體(即此題中的printf)執行後的操作。

先來看只有for (i=o;i<5;i++)printf("\n");的情況,

可以 把i看做一個計數器,初值為0,此時判斷i是否小於5,若滿足,則執行printf,然後i++,一次迴圈結束,因為執行了i++,所以第二次迴圈時i的值變為2。依次類推,知道i=5,迴圈停止。

再來看for (i=o;i<5;i++)printf("\n"); //外層後執行

for (j=0;j<5;j++)printf("%c",a[i][j]) ; //內層先執行

i=0時,分別做j=0,1,2,3.4,5。。的情況

然後i=1,j=0,1,2,3,4,5

以此類推

C語言賦值語句,C語言中賦值語句有什麼規則要求?

選ab中取模右邊不是整數 c中賦值號左側不是一個變數 d中第二個賦值號左側不是一個變數 吉祥二進位制 c語言中通過 運算子來實現賦值,有時候也用它來進行初始化,在c語言中初始化和賦值是完全兩個不同的概念。比如下面的 int a 10 這是初始化a 0 10 這是賦值 初始化是一個順序點,編譯器保證每...

c語言define語句的用法,C語言, define語句的用法。

亙心 帶參巨集定義 c語言允許巨集帶有引數。在巨集定義中的引數稱為形式引數,在巨集呼叫中的引數稱為實際引數。對帶引數的巨集,在呼叫中,不僅要巨集,而且要用實參去代換形參。帶參巨集定義的一般形式為 define 巨集名 形參表 字串 在字串中含有各個形參。帶參巨集呼叫的一般形式為 巨集名 形參表 例如...

請問c語言的語句,請問乙個c語言的語句

可以理解為賦值的意思,c語言的賦值操作使用 所以,1 a的意思是 a 1 2 b的意思是 b 2 a b a的意思是 a a b 或者 a b 是c語言的乙個操作符,表示自加。b 1 b的意思是 b b 1 或者 b 或者 b 都可以。後面的問題看不太清楚。求1 2 100寫出程式來,大概是這樣子i...