C語言的for條件與裡面迴圈條件

2023-02-23 03:25:02 字數 4891 閱讀 2542

1樓:這個也行服了

第乙個for判斷的就是是否等於0,不等於0時執行迴圈體;關於第二個問題,乙個等號是賦值運算子,如果賦的值不為零則判斷條件始終為真,這樣就不是比較兩個運算元了。

2樓:衣櫃84265臥蒼

表示式三的位置嗎?

那樣就沒有區別了。

不過奉勸lz不要看++i 和i++在printf中得例子,例如 pirntf("%d",+i);

3樓:匿名使用者

for條件的意思是*(p+i)不等於空字元'\0'。因為空字元的ascii碼也是0,所以它也可以按你那樣寫。

同理if的條件也是判斷是否為空字元。

4樓:匿名使用者

不為0就是不為0,0就是'\0',也是'\000',都一樣。

5樓:竹葉青成

那需要完整的**才能知道 都不知道你的變數代表什麼意思 沒辦法解答。

c語言的for迴圈的迴圈條件

6樓:

不會執行!

但程式沒問題。

-1<=i<1;

會自動分解為: -1<=i ,這個值為1 ,再判斷1<1 不成立。

所以不執行。

7樓:無謂之光

不會執行。

程式沒問題的,這個只要試一下就是了,通過編譯!上面的yipian_yezi 說的對,他會把自動分解為: -1<=i ,值為1 ,再判斷1<1 不成立 ,所以不執行!!!

學習程式設計要多實踐啊,

8樓:匿名使用者

不會執行!

通不過編譯的`

其中 -1<=i<1;

這一句書寫錯誤`

應該寫成。(i>=-1 &&i<1);

9樓:戈壁獨狼

會執行,但得到的結果只是a=1.

10樓:糊塗瀟

不會執行,先是-1<=i,值為1,然後判斷1<1,為假,不成立,條件不符合,不執行。

11樓:阿四哥

c語言的for迴圈的依次列印從一到十的數字,看看就會了。

cóïñôµäforñ­»·åð¶ïìõ¼þ

c語言用for迴圈迴圈條件要型別一樣嗎

12樓:匿名使用者

區別在於line15處的判等。

由於for迴圈的判斷條件是i<=k,所以實際上作為迴圈體的line15處的判斷的i>k的情況是不可能出現的,實際上就是判斷i==k

對於當k為浮點數時,i將被隱式的轉化為浮點數進行判斷,而浮點數判等一般不能直接用==,而應該計算兩者的差值是否小到可以視作相等。

13樓:匿名使用者

當k為整型時,k = sqrt(n)語句隱含這取整的功能,k值僅是結果的整數部分,下面的大等於或小等於運算都能取到等於;

當k為浮點數時,下面k與整型變數i比較不可能取到等於,因為k值的小數部分一般不為0。

c語言中迴圈條件的詳細解釋

14樓:匿名使用者

迴圈條件有真、假之分,判定真假的方法和if語句的條件判定是相同的。當迴圈條件為真時,會執行大括號{}內的所有語句,然後再次對迴圈條件進行真假判定,即進入下乙個迴圈。當迴圈條件為假時,不執行大括號內的語句,直接跳至大括號結束處往後執行,即跳出迴圈。

比較常用的迴圈有while迴圈和for迴圈。

while有兩種格式:

(一)while(迴圈條件)

(二)dowhile(迴圈條件)

這兩者就如同二樓所說,是在於入口條件和出口條件的差別。在while之後的括號()內寫上迴圈條件,迴圈條件可以是變數、常量、算式、判定語句如:

(一)int a = 10; while(a)

(二)while(true)

(三)int a = 10; while(a - 1)其實算是也可以看成常量或變數吧。

(四)int a = 10; while(0 !=a)

另外一提,大括號內的滿足條件時執行的語句可為空,就是不寫。形如:while(迴圈條件){}

但是空的大括號{}一定要帶上,如果寫成while(迴圈條件),就是錯誤的。但是在滿足條件時執性語句只有一句時,可以不寫大括號,此時若執行語句為空,則寫成while(迴圈條件);。注意那個分號。

for迴圈的格式:

for(初始語句; 迴圈條件; 執行語句)

參照以上while迴圈的格式。

迴圈條件判定真假方法:

對於bool型變數和常量,true即為真、false即為假。

對於數型變數和常量,非零即為真,0即為假。

對於判定句,成立即為真,不成立即為假。

15樓:來自天鵝洞尊敬的薔薇

當迴圈條件為真的時候 就迴圈 直到迴圈條件判斷為假的時候停止 就是非0和0

16樓:匿名使用者

分為兩種:迴圈入口條件和迴圈出口條件。

while(){判斷入口條件,條件為真(即運算的返回值非零)則進入迴圈,否則不進入迴圈;

do…while()判斷出口條件,條件為假(即運算的返回值為零)則離開迴圈,否則繼續迴圈。

c語言for迴圈結束條件

17樓:風若遠去何人留

if(i==j)本身就是在迴圈外的。

沒{}時, for只控制之後一句。

所以這個**等效於。

#include

main()

{int i,j=5;

for(i=2;i

18樓:匿名使用者

你這個個for迴圈要是成立只執行第乙個if 因為你沒用{}把倆個if都括起來 所以當for迴圈結束的時候 就是i=j的時候 第二個if就一定會成立。

19樓:網友

因為語句 if(i==j) printf("world");並不在for迴圈裡!也就是說當i=j時,跳出了迴圈後,執行了printf("world");最後的結果就有"world"。

20樓:就算你予我情深

if(i==j)

printf("world");

這乙個你沒有放在for下面,當迴圈內容有多個語句時要用花括號。

c語言的for迴圈的條件語句中 i++; 和 ++i; 有什麼區別?

21樓:

獨立的i++;和++i;效果一樣,都使i的值增1。

作為表示式的成員時,i++的取值是i,而++i的取值是i+1。

22樓:々了了

表示式三的位置嗎?

那樣就沒有區別了。

不過奉勸lz不要看++i 和i++在printf中得例子,例如 pirntf("%d",+i);

23樓:匿名使用者

沒區別~

給個有區別的例子。

a[i++]1

a[++i] =1

前面相當於 a[i] =1; i ++

後面相當於 i ++a[i] =1;

24樓:匿名使用者

for迴圈如果後面沒有再用到i沒有區別。

真要要說的話++i效率比較高。

i++ 相當於 tmp = i, tmp++,i = tmp++i相當於 i = i + 1

25樓:

在迴圈中通常是在迴圈變數更新時用到i++;或++i; 此時二者用法完全一樣沒有區別;

只有在考試時才會用到二者的真正區別吧。

26樓:匿名使用者

i++是先用i的值,在自增。++i是用i先自增,在使用自增後的值。

27樓:作風格

i++是先加再呼叫,++i是先呼叫再加。

28樓:淘氣的峰

i++先執行再加。

++i先加在執行。

int i=1;

printf("%d",+i); 輸出是2———

int i=1;

printf("%d",i++)輸出是1

29樓:匿名使用者

for迴圈中確實是沒有區別的(功能實現上)!

30樓:匿名使用者

i++先比較i的值然後++

++i是先++然後比較i的值。

c語言for迴圈條件問題

c語言中for迴圈中條件表示式的小於和小於等於問題

31樓:匿名使用者

p編譯器試試就知道了。

《是小於號,<=是小於等於號,前者就是不能等於,而後者可以等於比如給a[10]賦值,寫成:

for (i = 0; i < 10; i++)和for (i = 0; i <=9; i++)兩者只是表達方式不一樣,實際上都是一樣的,都是迴圈10次而你說那兩個,自然也是一樣的。

32樓:匿名使用者

結果是一樣的,但是意義不同!p < a+10 可以等價於 p !=a+10。。。

33樓:以愷魚翠茵

p一樣,你放編譯器試試就知道了。

《是小於號,<=是小於等於號,前者就是不能等於,而後者可以等於比如給a[10]賦值,寫成:

for(i=0;

i<10;i++)

和for(i=

0;i<=

9;i++)

兩者只是表達方式不一樣,實際上都是一樣的,都是迴圈10次而你說那兩個,自然也是一樣的。

for迴圈的流程圖,for迴圈的條件與迴圈體的執行順序

不同程式語言的for迴圈用法可能存在差異,此處以c語言為例。假設有以下for迴圈執行 1 執行for迴圈體裡的第乙個引數,也就是定義乙個int整形變數,其變數名為i,並初始化為0。2 執行完第乙個引數裡的 後,會執行第二個引數,判斷i是否小於99。3 當第二個表示式為true時會去執行迴圈體裡的 也...

c語言裡的FOR原理,C語言中巢狀迴圈的執行原理是什麼(詳細點)應注意什麼細節?

親,是for語句迴圈一次就操作一次,因為它是for語句的乙個巢狀語句,功能就是計算1 2 3 100的值。如果改成 for i 1 i 100 i i sum sum i 那麼就是你說的第二種情況了,即迴圈到for結束才把i的值帶入進去給sum賦值,此時for迴圈的語句體為一空語句。望能幫到您啊!對...

C語言,迴圈巢狀問題,迴圈語句的巢狀

第乙個for的主體是大括號括起來的那一大段,而第二個for的主體只有那個輸出空格的那一行,且輸出的空格數隨i的增大而減少。希望你能看懂,不過說實在的,如果這個題都看不懂的話,你學程式設計可能還是少了點天賦。記得喲。for i 1 i 5 i 迴圈5次,i從1到5for j 1 j 5 i j pri...