1樓:
1. 首先,表示式是構成語句的基本單位,c語言中的表示式是由運算子串聯起來的式子,所串聯的物件可以是常量、變數或函式呼叫。表示式的劃分是由運算子來決定的,由算術運算子串聯起來的式子稱為算術表示式;由關係運算子串聯起來的式子稱為關係表示式等。
表示式的值表示式的值是表示式運算後的結果,任何一個表示式都會有一個值及其型別,這個值是一個常量,也就是說任何一個最小表示式的值都是一個某種型別的常量,算術表示式的的值是整形或浮點型的常量,關係表示式或邏輯表示式的值是邏輯量0或1。
2. 其次,逗號表示式是一組由逗號分隔的表示式,這些表示式從左向右計算。逗號表示式的結果是其最右邊表示式的值。如果最右邊的運算元是左值,則逗號表示式的值也是左值。
c++中,規定了運算元計算順序的操作符還有條件(?:)和逗號操作符。除此之外,其他操作符並未指定其運算元的求值順序。
3. 最後,這裡使用了++自增操作符。自增操作符有兩種形式:
前置操作和後置操作。前自增操作生成左值,在給運算元加1後返回改變後的運算元值。後自增操作生成右值,給運算元加1但返回未改變的運算元原值。
2樓:匿名使用者
如果int i =5 ; print i++ 則顯示i的值=5,然後i 再自增i=6,
如果print ++i那i 先自增,i是6
c語言中為什麼i=-a++和i=-(a++),i和a的值運算結果都是一樣的?
3樓:一顆程式猿
自增/自減運算的優先順序比正/負運算高, 所以這兩個表示式在運算順序上是一樣的
其次, a++, 自增在後,表示式的值取a的原值, 比如a=3; i=a++; i的值是3,a的值是4
所以你給出的表示式, i結果為-3, a結果為4也不用太過於追究, 這個東西也不見得永遠是對的, 這個跟你使用的編譯器有一定關係,知道怎麼回事就行了,也就是在學習/考試的時候會出現, 正常人不會用這麼彆扭的寫法
4樓:搗蒜大師
i=-(a++)是
a先自己加a變成4
然後a自增之前的值3取負號給i
因為++在後面
i是-3
~~~~~~~~~~~~~~~~~~~~~~~i=-(++a)
就是a自己加變成4
把增加之後的值4取負號給i
i就是-4
在c語言中定義int i=1;執行語句while(i++<5)後i的值為6,為什麼?
5樓:千奕森良才
i++<5表示先取i的值和5比較,然後再執行++操作,所以,當i=5的時候不滿足while條件而退出迴圈,然後還會執行一次++操作,所以i=6
6樓:潭月肇揚
while(i++<5);
++在後來
,先自取i的值和5比較,然後i自動加1
當i=4時,執行4++<5,成立,i變成5執行5++<5,不成立,你怎麼知道不成立?因為執行了這個表示式,所以i將自動加1變成6
so,i的值最終為6
7樓:看灰過來了
while(i++<5);
++在後,先取i的值和5比較,然後i自動加1當i=4時,執行4++<5,成立,i變成內5執行5++<5,不成立,你怎麼知道不成立?容因為執行了這個表示式,所以i將自動加1變成6
so,i的值最終為6
8樓:
當i不滿足條件時此時的i值是5,跳出迴圈時,又自增1
定義int i=1,在執行while(i++<5)後,i的值為?為什麼呢
9樓:陽光彩虹小可樂
值為6。復
計算過程如下:
1、制把i++賦值bai給x;
2、x=1;i=i+1=2;
3、i++ 這個操作是
dux=i;i=i+1;
4、執行while(i++<5),一次迴圈後zhi i=2;
5、所以當i=5的時候就dao跳出迴圈 然後再++ 就變成5 + 1 = 6 了;
10樓:匿名使用者
a=i++;//把i++賦值來給a
此時a=1;i=i+1=2;
i++ 這個操作是a=i;i=i+1
所以源執行while(i++<5)執行一次迴圈後 i=2執行到最後跳出迴圈i應該等於6
11樓:匿名使用者
很簡單啊 執行玩while以後就是6了 為什麼呢 因為while裡面的條件是<5 所以當i=5的時候就跳出迴圈 然後再++ 就變成5 + 1 = 6 了 這個不需要深入思考**的 只看條件就知道了
12樓:南
不夠,再寫一點,while的下一個語句是什麼?
c語言中,關係表示式和邏輯表示式的值是什麼?
13樓:噓
c語言中,關係表來達式和源邏輯表示式的值是0或bai1。
邏輯表示式的值是du一個邏輯值
zhi,即"true"或"false"。c言語編譯體系在給出dao邏輯運算效果時,以數字1示意"真",以數字0示意"假",但在推斷一個量是不是為"真"時,以0示意"假",以非0示意"真"。
因為浮點數在計算機中不能異常正確地示意,所以,推斷兩個浮點數是不是相同時,一般不運用關聯運算子"即是"(==),而是應用區間推斷方法來完成。
14樓:匿名使用者
關係表示式和邏輯表示式的值 是布林型:真或假(true or false),即0或1,但c語言沒有布林型別,以0為假,非0即真
15樓:煙火夜空
是邏輯量「真」和「假」,即是 「非0」與「0」;
關係表示式,含內有關係運算容符的表示式,而關係運算子有:>、>=、<、<=、==、!=;
邏輯表示式,含有邏輯運算子的表示式,而邏輯運算子有:&&、||;
無論是 關係表示式、還是邏輯表示式,其運算結果都只有「真」和「假」兩個邏輯量,也稱布林量。
16樓:千鋒教育
邏輯表達copy式是指運算子為或||、與&&、非!的表示式。返回值為0或1,0表示
false,非0表示true. 例如!0返回1,0&&1返回0,0||1返回1。
關係表示式是指運算子為<,<=,>,>=,==,!=的表示式。返回值同樣為0或1,例如a!=b,a>=0等。
C語言的一些表示式,求c語言表示式大全
是給leap 這個物件賦值,賦的值是一個布林型的變數 可以用括號讓表示式明確點。year 4 0 year 100 0 year 400 0 是求餘。意思就是。變數year 對對4整除但是又不對100整除。或者對400整除。本質是求year是否為閏年。如果是閏年,則leap true,否則則leap...
c語言表示式0的邏輯值是什麼,c語言,表示式( x 0)的邏輯值是什麼?
x 0,的優先順序高,所以相當於 x 0。題目沒說x是什麼型別,暫且當成整型吧。c的邏輯運算中,把0當做false,非0當做true。表示式進一步解釋為 x false。於是 x 的結果就是,如果x是0,則 x 是true 否則 x 是false。所以,如果x是0,x false的結果是false ...
關於C語言邏輯表示式X ay b II
x a y b ii0 1.include stdio.h include math.h void main 這是一個雙目運算子 判斷到 符號,後面的為0,所以還要再判斷 前面部分。如果後面的為1,則不需要再判斷了。然後首先判斷了x a a賦值給x是否成功,成功為1,然後 x a 即 1為0,0與任...