c語言中語句 i 1,i 10 iii是

2021-05-20 20:40:03 字數 6237 閱讀 5570

1樓:匿名使用者

||(i=1,i=10)?i++||來++i:++i(i=1,i=10)是真的情況表示式的自值=i++||++i是假的時候=++i

(i=1,i=10)這個是逗號運算子最終i=10,是真所以表示式的值是i++||++i = 10 ||12 = 1

2樓:草根英雄

這個我還真不好說,i的值為11,列印的值我也不敢肯定,可能是10可能是1,。看編譯器了專,如屬果編譯器有布林值的概念的話,值應該是1,因為,i++||++i是表示式,表示式的值只有兩種「真」,「假」。但也可能就把i的值當做表示式,畢竟在c語言中,非零值即為真。

3樓:匿名使用者

||先看優先順序,後面用逗號分開的,兩個式子,一個是i++||++i 另一個是++i

問號前面是表示判斷版,你前面的語句執行到權括號裡面時候,看i是等於1

還是等於10 ,如果是等於1 則執行第一個式子 i++||++i 否則執行第二個式子 ++i

4樓:匿名使用者

這是條件賦值,(1)?(2) :( 3) 表示1是否為真?如果為真,則執行2,如果為假,則執行3

5樓:匿名使用者

不知道??️?️?️?️?️?️?️?️?️

c語言,for(i=1;i<=10;i+=2)的i+=2是什麼意思?

6樓:聽不清啊

這裡的i+=2

就是i = i + 2

的簡略形式。

在這裡,

for(i=1;i<=10;i+=2)

i=1;是迴圈前的初始化。為進入迴圈作準備。

中間的i< =10;可是有點錯誤的:《和=必須連在一起,成為<=才是一個邏輯運算子,否則會出錯的。當這個邏輯表示式的值為真時,就執行後面的迴圈體語句。

最後是迴圈體語句每次執行完成後執行的語句。比如這裡的i+=2。這也可看作是為下一輪迴圈作準備的(這個語句也可以不寫在這裡,而是寫在迴圈體的最後,全憑程式設計師個人習慣。

不過直接修改迴圈控制變數的簡短語句通常都是寫在這裡)。

7樓:匿名使用者

c語言中,i=10,i++ + ++i +++i的結果是多少?a=0,a++ || a++的值是多少?請詳細說一下計算過程。。。

8樓:蓉雪球

在c語言中bai,有一種理解方式du(我用括號來做zhi一下)(daoi++ )+ (++i) +(++i)=10+11+13=39

而你區別的應回

該是這答三個地方i 的值:11 12 13a++ || a++=0||0

||(同為假時才為假),所以是0

但自加的過程中,a的值是從0到1的。

最後輸出的值就是1。

9樓:匿名使用者

第一個i++返回值bai是加1前的dui,(i++)==10;此時i=11;

第二個zhi++i返回加dao1後的i,(++1)==12;此時i=12;

第三個++i返回加1後的i,(++1)==13;此時i=13;

結果是回11+12+13=36;

a=0第一個答(a++)==0;此時a=1;

第二個(a++)==1;此時a=2;

結果就是(0||1)==1

++a;返回加1之前的啊,然後a才加1;

a++;先a加1,在返回加1之後的a;

希望樓主能看懂

10樓:匿名使用者

首先c 語言有一個規則:每一個符號應該包含儘可能多的字元,

所以版式子應理權解為(i++)+(++i)+(++i);

i++是先賦值後加,所以i++=10,此時i=11;

c語言中還有個規則:前字尾運算混合的情況下,++i有兩個以上在一起時最左邊2個是自增後統一取值,其餘自增後取值,

所以++i後i=12,第二個++i後i=13,++i=13這時候統一取值++i=13,所以最後結果是10+13+13=36;

第二個問題,a++=0,此時a=1,右邊a++=1,0||1結果是1~~

我在vs2012上測試結果是這個,不知道vc++和tc上會不會有區別~~

11樓:你不愛歐文

第一個: i++首先編譯器做一次處理然後在加 1 如果是(i++)+(++i)+ ++i 由於優先順序,結果會是10+11+12 (這個10是因回

為優先順序比較高,編譯器會處理在計算),也就是說編譯器會先執行兩次i++然後再算在相加。

這道題沒有括號 也就是說不會執行兩次 而是順序執行的,先處理i++ (這個確不那麼看了)i變成11,然後會加上當前++i的值也是11(由於沒有()

答,並且之前是i++先已經處理了,所以不會在加了),最後在加上12(和前面的思考方法一樣).也就是結果。

第二個,有第一個說法了 ,第二個可以按照同樣方法考慮, a=0,也就是0||1=1.

12樓:匿名使用者

i=10,i++ + ++i + ++i

記住copy一點 ++ i 是先+再處理i 而 i++ 是先處理i 在+ 所以上面= 10 + 11 +13 = 34

a=0,a++ || a++ 同理 0 || 0 還是0

13樓:匿名使用者

i++ + ++i +++i=10+12+13=35;

a++ || a++=0 ||1

後置++是先運算後增加,前置++是先增加後運算;應該是這樣吧,畢業後都沒碰過c了

14樓:匿名使用者

以後月經題少做點,會燒腦子的,不經不利於開發而且會變孔乙己.

i++ 先得到i再自加

版,++i先自加再得到i

分化後權得到這個

(i++)+(++i)+(++i)

你那個是無意義的,你可以這樣a=(b++)+(++c)+(++d)||是或運算子,&&是和運算子

通常理解為a||b a或b,裡面有一個為真,那麼得到的就是真,值是取正數最大值.數字對這類判斷無意義.但前面說了,運算子方式,這個估計值為假,0和負數都是假

15樓:小受快跟小攻走

|++ i 是先抄+再處理

baii ;而 i++ 是先處理i 在+ .所以dui++ =i=10;++i =11;最後一個++i=11.所以i++ + ++i +++i=32.

a++=0;a++=1.因為|| 同為假時才為zhi假,假即為0,所dao以a++ || a++為0

c語言中for迴圈語句 for(i=1;i<10;i++)這個一共執行幾次 我總是無法完全理解 求

16樓:匿名使用者

首先要知道for語句

的執行原理,這樣你就知道答案了:

現在以 for(i=1;i<10;i++)為例說明如下:

1.:執行到for語句時,讓i=1,但這隻執行一次。也就是說for語句中第一個分號前的語句只執行一次,就是相當於初始化

2.:判斷第二個分號前的**是否為真

如果為假則退出for語句,就不執行for語句的後面{}中的語句,當然也就不執行第二個分號後的**了

如果為真,則先執行for語句的後面{}中的語句,如果期間沒有跳出語句的**則執行第二個分號後的**,再跳回到2步進行判斷!

所以你的這個for迴圈如下執行

先 i=1

1次,此時i=1,滿足i<10 執行for語句內**,執行i++(i=2)

2次,此時i=2,滿足i<10 執行for語句內**,執行i++(i=3)

3次,此時i=3,滿足i<10 執行for語句內**,執行i++(i=4)

4次,此時i=4,滿足i<10 執行for語句內**,執行i++(i=5)

5次,此時i=5,滿足i<10 執行for語句內**,執行i++(i=6)

6次,此時i=6,滿足i<10 執行for語句內**,執行i++(i=7)

7次,此時i=7,滿足i<10 執行for語句內**,執行i++(i=8)

8次,此時i=8,滿足i<10 執行for語句內**,執行i++(i=9)

9次,此時i=9,滿足i<10 執行for語句內**,執行i++(i=10)

此時i=10,不滿足i<10 退出for語句,未執行i++(i=10)

17樓:無奈去遊戲

9次 i=1 小於10 進入迴圈 執行宣告 後i++i=2 一次完成,

返回for 判斷小於10 進入迴圈執行宣告後i++i=3 2次完成,

返回for 判斷小於10 進入迴圈執行宣告後i++i=4 3次完成,

返回for 判斷小於10 進入迴圈執行宣告後i++i=5 4次完成,

返回for 判斷小於10 進入迴圈執行宣告後i++i=6 5次完成,

返回for 判斷小於10 進入迴圈執行宣告後i++i=7 6次完成,

返回for 判斷小於10 進入迴圈執行宣告後i++i=8 7次完成,

返回for 判斷小於10 進入迴圈執行宣告後i++i=9 8次完成,

返回for 判斷小於10 進入迴圈執行宣告後i++i=10 9次完成,

大於10跳出迴圈

18樓:爭分奪秒

10次 9次判斷成功(for迴圈體中執行9次),1次判斷沒成功(for迴圈體中沒執行) 那麼 在計算機中執行了9+1判斷語句

19樓:匿名使用者

n+1次 0~n 你自己算算~

20樓:謎幻界祖

1 2 3 4 5 6 7 8 9 九次,加到10判斷退出,多看下書。

c語言中for(i = 1;i<10;++i)和for(i = 1;i<10;i++)有區別麼?我試了一下,對執行結果沒影響

21樓:匿名使用者

效果是一樣du

的,for(i=1;i<10:++i) 是一zhi個結構,並不是一個單一的語句或表示式dao

i=1是在迴圈開始前內

的初始容化, i<10是每次迴圈開始前的驗證, ++i是在一次迴圈結速後才執行的。

這是,++i和 i++都作為一個語句來用,那麼基本上沒區別了,舊的編譯器可能會給出效率不同的編譯結果,但現在的編譯器,可能只是把它轉為 i = i+1來執行了,區別只是這一句插在原語句的前面還是後面,而++i作為單語句,那就是

i += 1;

i;//拿去用

而i++是

i;//拿去用

i+=1;

對於這個for迴圈,要的都是i 自增,所以沒區別

22樓:匿名使用者

沒區別一樣的。

因為for迴圈條件測試的順序是這樣的:

先執行,第一個分號前

專的初始化語句(可能沒屬有),只會執行一次。立馬執行第二個條件測試語句,如果為真進入迴圈體執行**。

**執行完成後,先執行第二個分號後的語句,然後測試第一個分號後的條件語句。

通過上面過程,無論是++i,還是i++他兩的值均是已經被+1後進行的測試。

因此是等效的。

個人習慣寫那種方式。

23樓:匿名使用者

i++(在使用i之前先使i+1);++i在使用i後i再加1;

例如i=3;

printf("%d",++i);

輸出結果是4;

若改為printf("%d",i++);

輸出結果是3。

24樓:

for(i = 1;i<10;++i)和for(i = 1;i<10;i++),這裡面i的都是一樣,沒區別,區別的是i++,和++i的值不一樣。

25樓:聽不清啊

這裡的i+=2

就是baii = i + 2

的簡略形式。

在這du裡,

for(i=1;i<=10;i+=2)

i=1;是迴圈前的zhi初始化。為進入循dao環作準備。

中間回的i< =10;可是有點錯誤

答的:《和=必須連在一起,成為<=才是一個邏輯運算子,否則會出錯的。當這個邏輯表示式的值為真時,就執行後面的迴圈體語句。

最後是迴圈體語句每次執行完成後執行的語句。比如這裡的i+=2。這也可看作是為下一輪迴圈作準備的(這個語句也可以不寫在這裡,而是寫在迴圈體的最後,全憑程式設計師個人習慣。

不過直接修改迴圈控制變數的簡短語句通常都是寫在這裡)。

c語言問題for語句中巢狀if語句然後if後加

為假的話就不執行if語句中的break語句,而是繼續進行下一輪的for迴圈。如此,直到if語句為真了,然後執行其內部的break 或者是因for迴圈中的條件不再滿足了而終止for迴圈了。最後k 5,for迴圈只進行了5次,使fort迴圈退出的條件是因為x在第5次迴圈中已經等於10,那麼 k for ...

c語言for語句,c語言中for語句是怎麼用的

中間那個語句i 20,j 10說明只要i和j符合這個條件就迴圈,第一次i 0,j 20符合i 20,j 10條件,迴圈繼續,轉入下面的i j i的值變為1,j為19,以此下去迴圈 include int main printf d d n i,j 我們測試下 就能知道結果 for i 0,j 20 ...

計算機c語言中i代表什麼意思C語言中mi表示什麼意思

是自增運算,而且是先加1後再執行。例如 int i,k for i 0,k 0 i 5 i 第一次進入時i的初始值是0,k的初始值也是0。這時的i 並沒有在本次語句中起到加一的作用,而是要在本次操作結束後再起作用,也就是在第一次循 環完全結束後。進入迴圈體本人看,k i 這時由於這裡的是i 需要先操...