簡單的C語言計算問題

2023-02-11 22:55:47 字數 1202 閱讀 8914

1樓:沒想到錯過了

a=1不用說了吧,因為前面給a賦了值等於1,~~~c=a>b&&a++在這個表示式中,a++的運算優先順序最高,也就是說系統最先處理這一步~~然後是a>b,然後是&&這一步,最後才是賦值表示式c=。。。這個式子系統運算時分解如下:

c=a>b&&a++

第一步:a++,此時a=2;

第二步:a>b,前面的結果,a=2,那麼a當然不大於b了,這個式子的值就等於0。因為它是邏輯運算,非就是0.

第三步,&&,這又是一個邏輯運算,叫做邏輯與,就是說這個符號"&&"兩邊的同時為真時才為真,其餘全為假,現在看看前兩步它的兩邊的式子的值,左邊,是0,所以,邏輯與運算結果肯定為假,就是說這個式子的值為0,

第四步,把這個邏輯與運算結果賦給c,c 當然為0了,呵呵,~~~

這一部分,你看一下c語言裡運算子的優先順序別~~~~還有就是好好看一下那些運算子號~~~剛開始學c,不要著急,現在不懂的以後過段時間就懂了~~~呵呵~~~

2樓:旅晟睿

這個知道不,教材上沒有這個定義.

巨集定義在c語言源程式中允許用一個識別符號來表示一個字串, 稱為「巨集」。被定義為「巨集」的識別符號稱為「巨集名」。在編譯預處理時,對程式中所有出現的「巨集名」,都用巨集定義中的字串去代換, 這稱為「巨集代換」或「巨集」。

一本教材(推薦譚浩強的c語言

3樓:

a=1;b=2;

c=a>b&&a++;(這個意思是,a>b的結果是0,即為false,此式結果自然為0)

所以列印出a=1,c=0

注意,在c中,true=1,false=0

4樓:輕薄的假像

將a賦值為1,將b賦值為2,如果a>b的話,給a加1並且c賦值為1,否則c賦值為0

然後列印變數,變數的值在%d的地方被列印出來,後面依次按%d的數量和排列順序添寫變數名

此時a=1,b=2,由於a小於b,所以c為0

5樓:竭樂

在c語言中,邏輯語句級別高於賦值語句。c=a>b&&a++; 先計算邏輯語句a>b&&a++其返回值只有1或0。當且僅當&&前後語句全為真時返回才為1。

又因為a++是先賦值後計算,所以在a>b&&a++表示式計算時a 值仍為1,所以a>b為假,a>b&&a++返回值為0賦給c。又因為a>b已經為假,所以&&後的語句不再計算,即a仍為1,這是c語言的預設規定。

關於c語言計算除法的問題,關於c語言計算除法的問題

n 2,因為左面的值為假,右面就不做了,所以n的值不發生變化,仍為2 c語言除法問題求教!運算子的優先順序問題,和 是同一執行級別,那麼如果沒有用括號說明,那麼就會從左到右執行,也就是先除以2,然後在乘以a。如果你先要除以 2 a這個整體,那麼就必須要用括號括起來。括號的運算優先順序高於 乘除。x1...

關於簡單的C語言程式問題

輸出的結果和你預想的不一樣是因為你沒有理解關於引數傳遞的一些問題 引數的傳遞有兩種方式 1。按值傳遞 你的程式用的都是這種方式 傳遞的只是當前值的一個副本 拷貝的 所有在函式中,副本的改變時不會影響原來的那個變數的 你的程式是變數i 2。按引用傳遞,即按地址傳遞,這種引數傳遞在函式內部改變了變數的值...

c語言 這題怎麼算,C語言計算問題

應該是3,1,0,0 的運算順序是自右至左,所以應該是c的值先賦給b,b在賦值給a,所以a 3 表示想等,優先順序比 高,所以先判斷b是否等於c等於為1不等於為0,在賦給a。因為前面已經將c的值賦給了b,所以c與b相等,因此a被賦值為1 的優先順序最高 比 還有高 所以先算括號裡面的,現將c的值賦給...