C語言for迴圈語句變數問題,請問在c語言中for迴圈語句表示式1中能否定義變數?如果可以它的作用域又是什麼?

2021-04-28 17:33:12 字數 3986 閱讀 7760

1樓:匿名使用者

第一次回答可獲

來2分,答案被採納可源獲bai得懸賞分和額外20分獎勵。du 答案是肯zhi定的可以,

無論是表示式,還是dao初始條件,或是增量部分的變數,都要保證先定義後引用,

如果未賦值,會按照c語言規定得到一個數值:

auto:自動變數在賦值之前,它的值是不確定的;也就是說在引用的時候會得到一個隨機數,

通常定義都是此型別,因 auto一般省略不寫。

register:暫存器變數,同自動變數;

static: 靜態變數只能使用常量或是常量表示式進行顯示初始化,編譯將他們初始化為0(對int型) 或0.0(對 float型)

幾個定義例子:

auto int a=1;

register int i,j;

static unsigned int r;

2樓:匿名使用者

可以 用兩個變數的 甚至可以是多個變數 但是 整個條件表示式 最後只能有一個 可以確定的結果

比如 :a&&b||c>0 這樣的表示式 也是可以的

3樓:匿名使用者

從上式看是不能的因為那樣不知道b的具體知識多少,如果迴圈的話就回成了死迴圈了沒答有結束,如果在前面宣告b的值的話就可以也可以用define 如define b 2 來巨集定義b這樣在呼叫時就b的值就是2

4樓:匿名使用者

按例子中的來是可以的。不過變數b是要在前面的程式中宣告並賦過值的。。

5樓:匿名使用者

可以的,不過要小心別死迴圈了.

請問在c語言中for迴圈語句表示式1中能否定義變數?如果可以它的作用域又是什麼?

6樓:

標準c語言,變數聲

明必須在語句之前,for 小括號中宣告/定義變數是語法錯誤。

for(int i=0;i錯誤。

標準c語言,每對花括號之間為一個域,每個域中可以宣告/定義變數,它的作用域就是花括號之間。花括號套花括號,則外域量 可以作用到 內域,除非 內域 宣告瞭 同名 變數。

int i;

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

7樓:天地一孤鴻

能。例如for(int i=0;i

c語言中for的迴圈條件可以是變數嗎?

c語言for語句中的條件問題

8樓:匿名使用者

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

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

int i;

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

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

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

9樓:匿名使用者

仔細看(1)(2)(3)(4)(5)這樣,你應該能瞭解了吧。c語言中的for迴圈語句使用最為靈活,不僅可以用於迴圈次數已經確定的情況,而且可以用於迴圈次數不確定而只給出迴圈結束條件的情況,它完全可以代替while語句.

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

它的執行過程如下:

(1)先求表示式 1.

(2)求表示式2,若其值為真(值為非0),則執行for語句中指定的內嵌語句,然後執行下面第三步 做若為假(值為0),則結束迴圈,轉到第5步.

(3)求解表示式3

(4)轉回上面第(2)步驟繼續執行;

(5)結束迴圈,執行for語句下面的一個語句;

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

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

它的執行相當於

i=1;

while(i<=100)

顯然,用for語句更簡單、方便。

說明:(1)for語句的一般形式中的"表示式1"可以省略,此時應在for語句之前給迴圈變數賦初值.注意省略表示式1時,其後的分號不能省略.如for(;i<=100;i++);

(2)如果表示式2省略 即不判斷迴圈條件,迴圈無終止地迴圈下去,也就是認為表示式2始終為真.

例如:for(i=1;;i++);

相當於i=1;

while(1)

(3)表示式3也可以省略,但此時程式設計者應另外設法保證迴圈能正常結束.如:

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

這個例子的迴圈增量沒有放在表示式三的位置 而是作為迴圈體的一部分 其效果是一樣的.

(4)可以省略表示式1和表示式3,只有表示式2 即只給迴圈條件.

如for(;i<=100;)

這個相當於

whlie(i<=100)

(5)三個表示式都可以省略,如:

for(;;)語句

相當於while(1)語句

即不設初值 不判斷條件(認為表示式2為真值)迴圈變數不增值,無終止的執行迴圈體.

(6)表示式1也可以是設定迴圈變數初值的賦值表示式,也可以是與迴圈變數無關的其他表示式.如:

for(sum=0;i<=100;i++)

for(sum=0,i=0;i<=100;i++)

等等寫法.

10樓:匿名使用者

y<5起作用用下面這個程式可以測試出來int main()

return 0;

} 原理: int i = 1, 2;最後i的值是2;x<5 有一個值真或假 y<5 也有一個值真或假表示式 x<5, y<5的最後的值 是y<5的值

11樓:匿名使用者

xy的初始值都是0 xy不能超過5 迴圈1次x自加1 y自加1

xy等於5了就跳出迴圈

12樓:匿名使用者

x、y都成立時候,條件才成立,才能執行下面的迴圈語句

c語言兩重迴圈用同一變數會出現什麼問題

13樓:聽不清啊

c語言兩重迴圈用同一迴圈控制變數時,最基本的,會達不到期望的效果(因為在中途「變道」了)。壞一點的可能會陷入「死迴圈」。

當然,如果不是迴圈控制變數而是某種計數或別的設計好的用途,那還是可以的。

14樓:匿名使用者

給你一個實驗看看

#include

int main()

if (count>50) break;

}return 1;

}一同一個變數控制迴圈,如果不用count來控制跳出的話,這將是一個死迴圈。一直重複列印

i=0 i=1 i=2 i=3 i=4

15樓:匿名使用者

是啊!而且非常重要它在筆試中佔30%!!!

這是我找到的一些資料:第一章 資料結構與演算法

16樓:匿名使用者

你試試就知道了唄。。。

17樓:匿名使用者

不看**的話不能決定到底會出什麼問題。

[c語言簡單問題]c語言為什麼在開頭初始化變數和在for迴圈裡初始化變數不同呢?

18樓:匿名使用者

因為你的後兩個for迴圈執行了多次,j和k第一次執行各自迴圈的時候都為零沒錯,但是當第二次執行到它們迴圈時j和k 的值都為wide了,所以就不會執行迴圈體,才會導致第一種情況,望採納!

19樓:讉莣熔燃氺

比如:int x=1;

for(int i=1;i<=3;++i)這裡baix只初始du化zhi了dao一次.輸出專

屬 2 3 4

for(int i=1;i<=3;++i)這裡x初始化了三次.輸出 2 2 2

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

include int main printf d n c 輸出迴圈次數!return 0 呵呵從來沒有看到過這種情況,for迴圈裡面只可能有三個表示式,而且只可能出現二個冒號 他可以是這樣的寫法 for inti 0,j 1 i 10 i j 一個表示式裡面可能帶多個引數 這個程式說的是3x 1問...

c語言的迴圈語句該怎麼區別呢c語言的三個迴圈語句該怎麼區別呢

c語言迴圈控制語句是一個基於c語言的程式設計語句,該語句主要有while迴圈語句 do while迴圈語句和for迴圈語句來實現迴圈結構。一 for迴圈 for迴圈語句的基本語法 for 表示式1 表示式2 表示式3 迴圈體 語義 1.選執行表示式1,跳轉到2 2.判斷表示式2是否成立,如果成立,則...

初學C語言For語句的問題,C語言關於for語句的基礎問題

你沒有搞明白迴圈的執行順序 一般迴圈要有四部分組成 初始化變數,判斷迴圈條件,執行迴圈體,改變迴圈條件這四個部分都不可缺少,不過他出現的位置可能在不同的地方就for迴圈來說 for 初始化部分 判斷迴圈條件 改變迴圈條件 迴圈體 可能是一句話,也可能是好多,但是多個要用 這個括起來 這幾個部分可能都...