cfor中迴圈條件是賦值語句是什麼情況?如for(i 5 i i 1)

2021-03-23 03:04:58 字數 6243 閱讀 4939

1樓:人生竟已如此

判斷語句是用來判斷真假的,也就是說語句的值其實是0,1。

i=5的話相當於是真。

比如有 for(i=0,j=5;i=j;j--)就會執行五次。

因為五次迴圈後j的值為0,賦值給i後進行判斷,導致語句為0(其實就是i為0),即假,結束,退出。

2樓:兔兔兔子

樓上兩個都是錯的 尤其是你採納的那個。判斷語句 是負值語句 只要不是零 就是無限迴圈的 不懂裝懂還誤導人 真是看不下去了

c++中int i(1),sum(0); for(i=1;i<=10;i++) sum=sum+i; cout<

3樓:訪澄慧號暈戳

【1】int是c++語言中基本資料型別中的整型。

【2】sum指的是返回某一單元格區域中的數、邏輯值及數字的文字表示式之和。

【3】int i(1),sum(0);即int i=1,sum=0;意思是把字母i定義為整型常量,把i賦值為1。把具有「總和」意思的英文單詞sum定義為整型常量,把sum賦值為0。

【4】延伸一下:整型常量由正整數、負整數和零擔當。

【5】for是迴圈語句,通常用於重複指定次數的迴圈。

【6】對於for(i=1;i<=10;i++)sum=sum+i;意思是:對具有初始值為1的i,迴圈加1,迴圈i的值小於等於10就停止執行運算,輸出的迴圈值10是sum=sum+i式中第2個sum的值。最終輸出值為sum的值,即sum=sum+i表示式中第1個sum值,sum=10+1=11。

因為sum是i值的總和,又因為cout<

【7】i=11的運算過程:

i的初始值為1

即i=1;

i=i+1=2;

i=i+1=3;

i=i+1=4;

i=i+1=5;

i=i+1=6;

i=i+1=7;

i=i+1=8;

i=i+1=9;

i=i+1=10;

因為i<=10,所以此時進入sum=sum+i的表示式運算中。輸出的迴圈值10是sum=sum+i式中第2個sum的值,最終輸出的值為sum的值,即sum=sum+i中第1個sum值,sum=10+1=11。因為sum是i值的總和,又因為cout<

(希望幫到你!)

4樓:弦訴相思

很簡單,i從1遞增到了10,最後一次迴圈的判斷條件是,i<=10,此時i=10,正常通過,然後執行一次sum+=i,執行完後for語句裡面的i++又被執行了一次,所以此時i=11,然後下次判斷i<=10的時候結果是false,因此跳出迴圈

5樓:紅藍塞思克

i的值是1 ,sum是0 迴圈加

i迴圈一次自加一次

加到11 不符合條件 退出

6樓:匿名使用者

當 i == 11時,正好退出這個for迴圈(i <= 10),所以輸出的i就是11.

7樓:匿名使用者

判斷完i<=10之後,還會進行i++的計算啊,i=11後在判斷i<=10,不符合調出迴圈了,所以輸出11唄

c++問題 執行語句for(i=1;i++<4;);後變數i的值

8樓:匿名使用者

樓上的說法不對,建議看看書,i++和++i的區別。同樣是把i+1,i++返回的是+1前的值,++i返回的是+1後的值

當i=3時,執行i++後,i變成了4,但i++返回值是3,因此滿足條件,迴圈繼續。

當i=4時,執行i++後,i變成了5,而i++返回值是4,跳出迴圈。

所以最後i是5

9樓:匿名使用者

++操作分兩種,乙個是i++,乙個是++i。i++表示i先賦值,後加1;++i表示先加1後賦值。以下面為例:

int d;

int i;

i = 2;

d = i++;

那麼d的值是2,i的值為3,即i的值先賦給d,之後i再自增。

若為d = ++i;則d的值為3,i的值為3,即i先自增,後賦值。

題目中i++<4即i先與4比較,後自增1,相當於i<4,i = i+1;

當i變化為4時,4<4不成立,但i=i+1仍然執行,但不執行迴圈體。迴圈結束,故i最終變化為5。(其實最後一句才是最重要的。)

10樓:z粽

++是個後置的運算子~也就是說i++ < 4這個條件中的i用的是自增運算前的值~

再比如:

int main()

這樣的話,程式執行得到的顯示是「c=3;a=3」

就是在計算c = (a++) + b的時候a還是2的值~在語句執行完之後才進行自增哦~

所以你那個語句裡,在最後不滿足i++ < 4時,i其實是剛好等於4,迴圈執行完之後就變成5了~

那麼 如果想讓他最後是4的話,你應該用前置自增 就是「++i < 4」~~這和我們平時對自增的認識是一樣的

-----

希望幫到你

11樓:匿名使用者

當i加到4時,迴圈條件不滿足,跳出迴圈,但是i還要加一次,因為i++是先使用i比較後再加1的,所以i的值是5。

12樓:無月⑥聲

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

;for後面跟著乙個空語句~~當然是i一直在迴圈到i=5不符合i++<4跳出for迴圈啦~~~

所以i是5,呵呵~~

i++<4 是先做i<4的判斷然後再i++的,呵呵

13樓:匿名使用者

對於i++<4,即先判斷i<4,再執行i++;

當i=4時,i<4不成立,退出for語句,再i++,故最後i=5

14樓:匿名使用者

i++是先使用i的值後,再執行i=i+1

當i=4時,求解i++<4不成立,但求解過程是先使用i的值,4<4為假,但接下來要再執行i=i+1,

所以i值就為5了

15樓:匿名使用者

這是很基礎的問題啊...樓上給了很多這方面的知識,好好學...說明你基礎不紮實,多注意這些細節對你程式設計有幫助

c++迴圈求和 解釋下這個**,和for(i=1; ;i++)中分號和空格的含義 謝謝

16樓:匿名使用者

for 語句是乙個迴圈語句當然就有初值 、判斷語句、迴圈語句;

for(1;2;3)

4;其中1是賦初值,2是判斷,3迴圈、4迴圈體;

其執行順序1-2-4-3-2-4-3-2-4。。。。。。

其中1.2.3可以適當省略;1、3 省略實則可以當沒有其語句也就是不執行,2因為是判斷語句則表示為滿足;

像你的這個迴圈只要不執行 break;則一直執行迴圈。

希望能說明白;如果我沒說明白可以在問我;

17樓:眼眶的濕潤

int i,isum=0;

for(i=1; ;i++)

整個**的含義是計算1到10的數字之和

for(i=1; ;i++)這是for迴圈,for迴圈的()內部有3個部分,分別用;號隔開

其中第乙個是對初始條件賦值,第二個是迴圈結束的條件,第三個每迴圈一次就改變i的值,以便能夠達到結束迴圈的條件。

而在這句話,是i被賦了初值1,i++是指每迴圈一次使得i自加1,中間的那個結束迴圈條件被省略了。不過迴圈依舊能結束,因為在迴圈體裡有乙個if判斷,如果i>10,則break,break的作用是能跳出迴圈。

希望對你有幫助,望採納謝謝。

18樓:匿名使用者

就像樓下說的:

for(i=1; ;i++)這是for迴圈,for迴圈的()內部有3個部分,分別用;號隔開

其中第乙個是對初始條件賦值,第二個是迴圈結束的條件,第三個每迴圈一次就改變i的值

。就是for一開始是i=1,然後執行完一次迴圈體(for的那對花括號裡的內容),i=i+1,然後就用判斷新的i值是否符合第二個表示式的要求,比如(i<5)等等咯,但是這裡沒有第二個表示式,意味著無論i怎麼變都是符合要求的

19樓:匿名使用者

這個**的作用是求1+2+3+------+10的和

c++中的雙for迴圈是什麼意思?比如:乘法口訣:for(i=1;i<=9;i++)(j=1;j<=9:j++) 最好詳細點兒

20樓:匿名使用者

for迴圈,是在不滿足當前的迴圈條件,才是結束迴圈對於for for迴圈,外面的for是控制迴圈的次數,裡面的for只是外面for 的乙個執行語句,

所以,外面的for執行一次時,裡面的for 會執行很多次。

比如九九乘法,

1*1(外)=1

1*2(外)=2 2*2=4

1*3(外)=3 2*3=6 3*3=9......

1*9(外)=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

語句為:

for (int i=1;i<=9;i++)}你如果在列印出九九乘法表,你那裡面的條件不應該是j<=9;因為j是隨i的變化而變化的

手打真累...........................

c++的 for (; ;)是什麼意思啊,好像還有其他幾種特殊一點的情況分別是什麼呢

21樓:匿名使用者

迴圈(定義變數初始化;保持迴圈條件;每次迴圈尾部執行語句)for(int i=0;i<5;i++)

相當於 int i=0 while(i<5);

以上3個語句都可為空

要說特殊情況 也就是 for(...);//迴圈直接加界符;

不執行任何語句 迴圈若干次以達到某種目的

另外跳出迴圈不一定在兩個分號之間

可以將其為空 在迴圈體內部判斷 進而break;

22樓:

for (; ;)

就是無限迴圈。

23樓:匿名使用者

如果 for(;;)迴圈體裡沒有 break ;的 才能肯定其為死迴圈~

24樓:匿名使用者

for(表示式

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

它的執行過程如下:

1) 先求解表示式1。

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

3) 求解表示式3。

注意:1) for迴圈中的「表示式1(迴圈變數賦初值)」、「表示式2(迴圈條件)」和「表示式3(迴圈變數增量)」都是選擇項, 即可以預設,但「;」不能預設。

2) 省略了「表示式1(迴圈變數賦初值)」, 表示不對迴圈控制變數賦初值。

3) 省略了「表示式2(迴圈條件)」, 則不做其它處理時便成為死迴圈。

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

相當於:

i=1;

while(1)

4) 省略了「表示式3(迴圈變數增量)」, 則不對迴圈控制變數進行操作,這時可在語句體中加入修改迴圈控制變數的語句。

例如:for(i=1;i<=100;)

5) 省略了「表示式1(迴圈變數賦初值)」和「表示式3(迴圈變數增量)」。

例如:for(;i<=100;)

相當於:

while(i<=100)

6) 3個表示式都可以省略。

例如:for(;;)語句

相當於:

while(1)語句

7) 表示式1可以是設定迴圈變數的初值的賦值表示式,也可以是其他表示式。

例如:for(sum=0;i<=100;i++)sum=sum+i;

8) 表示式1和表示式3可以是乙個簡單表示式也可以是逗號表示式。

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

或:for(i=0,j=100;i<=100;i++,j--)k=i+j;

9) 表示式2一般是關係表示式或邏輯表示式,但也可是數值表示式或字元表示式,只要其值非零,就執行迴圈體。

例如:for(i=0;(c=getchar())!=』\n』;i+=c);

又如:for(;(c=getchar())!=』\n』;)

printf(「%c」,c);

5p b則正確的賦值語句是A b「abcdBb「abcdC p「abcdDp「a

答案是c a,b選項中,對於陣列而言,有三種賦值方式,1.在定義的時候賦值 初始化 2.用for語句,對陣列元素乙個乙個地賦值 3.使用指標,如c d選項中,錯在多了乙個 abcd 賦值給p是將 abcd 的首位址賦給p指標 abcd 都是錯的。題目是否抄錯。字串 賦值 用 strcpy p,abc...

以下合法的c語言賦值語句是aab58bkint

程式執行的時候若是非要保留那個3,後面應該加上乙個分號。寫成,i 3 這樣程式執行才能通過。否則,提示有錯誤,丟失分號。而3 在程式執行中不起任何作用。合法的c語言賦值語句是 a.int a,b a b 58 printf d d n a,b 列印出 58 58 b.k int a b 改為 k i...

兩個for語句並列,是怎麼執行迴圈的

最重要的是看末尾有沒有分號,例如 for i 0 i 2 i for j 0 j 3 j 兩個for語句一共執行五次迴圈。而 for i 0 i 2 i for j 0 j 3 j 兩個for語句一共執行六次迴圈。二者的區別就在於前者第乙個for語句後有分號,而後者沒有,其實還是要看書,自己體會。例...