c語言inti 1i這個表示式的值為什麼和

時間 2021-10-17 05:11:04

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與任...