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語句後有分號,而後者沒有,其實還是要看書,自己體會。例...