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 需要先操...