C語言的乙個計算題,c語言這題怎麼計算?

2023-07-13 16:00:07 字數 3661 閱讀 9045

1樓:匿名使用者

這個問題是乙個運算子優先順序的問題!題目中的優先順序()最高,依次是()、

所以上一題首先求解的是():

第乙個()求解:z>y為真,所以結果是1,用它的結果和x比較,1<2,所以括號內的結果是0;

第二個()求解:y!=z為真,結果為1;

第三個()求解:x+y=2+4=6;

第四個()求解:y-z=-2;

所以得到的結果是!0+1||6&&-2;

完畢,如有不對,請高手指教!謝謝!

2樓:匿名使用者

此題的運算順序是:

z>y>x)+(y!=z) )x+y)&&y-z) )z>y>x)=1,(y!=z)=1,所以!(z>y>x)+(y!=z)=2

x+y=8,y-z=2,所以(x+y)&&y-z)=1所以( !z>y>x)+(y!=z) )x+y)&&y-z) )1

3樓:若冰炎

建議你去看下c語言中運算子的優先順序。

c語言這題怎麼計算?

4樓:四季花城廣場

**執行結果:

#include

int main()

int left = 0;//左下標變數。

int right = 0;//右下標變數。

int arr[10] =陣列。

int lsarr[10] =臨時陣列。

right = sizeof(arr) /4 - 1;//獲取陣列位數。

while (right !=0)//進行迴圈。

lsarr[left] =arr[right];/將arr右下標賦值給lsarr左下標。

right--;

left++;

for (int i = 0; i < 10; i++)列印出來。

printf("%d ",lsarr[i]);

return 0;

這道題 c語言計算?

5樓:紫薇參星

程式的輸出和解釋如下(見圖)

6樓:yx陳子昂

這個程式有問題,fib作為遞迴,不收斂。

fib(n+1)應該是錯的,fib(n-1)還差不多。

幾道c語言基礎計算題,求詳解

7樓:網友

輸出結果為。

只有b勉強對。

8樓:匿名使用者

5、scanf的格式化輸入"%d%c%d%c"中沒有指定分隔符,預設以空格、回車、tab為輸入分隔,所以選b

6、"%3d%f"第乙個輸入指定長度為3,所以會擷取12345的前三位置入x中,後2位置入y中,空格分開的67相當於第三個輸入數字,沒有置入任何變數,所以選b

7、printf的格式化輸出"x+y+z=%d"中的x+y+z=為普通字元,原樣輸出,%d指定以整型方式輸出x+y+z的和值,所以選a

8、a和b的寫法程式不會報錯,但輸入的東西沒有賦給任何變數,等於無效;c浮點輸入時不必指定格式也可得到正確結果,所以選d

9、"x=%d,y=%d,z=%d"格式化輸入,除了%d用具體數字替換外,其他都要在輸入中正確寫出來了,所以選c

10、"%長度為8,小數保留3位,不足的右側補空格。

",長度為10,小數保留3位,不足的左側補空格。

所以選b11、unsigned int長度為2位元組,65535的二進位製碼為1111 1111 1111 1111

d按有符號整型來輸出,上面的二進位製碼相當於-1的補碼,所以輸出為-1,選d

注,這個長度是turbo c中的標準,換到已經是4位元組了,所以沒有發生溢位,還是輸出65535

12、%運算子只支援整型,所以選b

c語言計算問題

9樓:湯菊孝嬋

答案是22.。

t=(+i)+(i)+(i)=6+8+8=22。。

為什麼呢。這是v

c++編譯器。

的特性。就是最後兩個數的優先順序是相同的。。這樣說起來有點抽象。舉幾個例子您自己去琢磨吧。。

這是因為31=6+7+9+9。。

這是因為41=6+7+8+10+10

這是因為52=6+7+8+9+11+11。。

我只能這樣解釋了。。什麼看不懂的再問我吧。。嘿嘿。

10樓:盤季問浩

c語言裡以0開頭的數表示是八進位制數,那麼,八進位制轉換成二進位制的方法是,乙個八進位制位佔3個二進位制位。

如果用二進位制表示那麼。

x=001011

y=010101

z=000001

z=111110

的優先順序高於^,,優先順序高於|

y&z=000001,.x|y&z=001011,即十進位制的11,所以第乙個用%d輸出的是11

y&~z=010100,.x|y&~z=011111,十進位制的31y&~z=010111,x^y&~z=011111,十進位制的31

11樓:實娜夫白

首先x,y,z都是八進位制的數,這裡面的運算都是用二進位制的所以化為二進位制是x=00001011,y=0010101,z

00000001(用八位表示,不足八位的用0補足)(1)先進行與運算再進行或運算即(x|(y&z))11(十進位制)

2)先進行取反再進行與運算,最後或運算即(x|(y&(~z))31(十進位制)

3)先進行取反再進行與運算,最後進行異或運算即(x^(y&(~z))

00001011^(00010101&(~00000001))=00011111=31(十進位制)

12樓:燕澹厲採

求反運算。求反運算子~為單目運算子,具有右結合性。

其功能是對參與運算的數的各二進位按位求反。例如~9的運算為:

0000000000001001)結果為:1111111111110110

按位或運算。

按位或運算子「|」是雙目運算子。其功能是參與運算的兩數各對應的二進位相或。只要對應的二個二進位有乙個為1時,結果位就為1。參與運算的兩個數均以補碼出現。

例如:9|5可寫算式如下:

十進位制為13)可見9|5=13

按位與運算。

按位與運算子"&"是雙目運算子。其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為1時,結果位才為1,否則為0。參與運算的數以補碼方式出現。

例如:9&5可寫算式如下:

9的二進位制補碼)&00000101

5的二進位制補碼) 00000001

1的二進位制補碼)可見9&5=1。

c語言計算題

13樓:佔亞運

首先執行a*a;在執行a-=144;算出a=-132.再執行a+=-132

c語言計算題?

14樓:喜羊羊

100的二進位制是1100100,48的二進位制是 110000。

進行邏輯與&操作,兩邊全為1得1,否則得0,得到0100000,即32.

進行邏輯或|操作,兩邊全為0得0,否則為1,得到1110100,即116.

進行邏輯異或^操作,兩邊相同為0,相異為1,令運算元偶數字為1,即可取反。

關於C語言的簡單計算題,關於C語言的乙個簡單計算題!!

在c語言中巨集定義只是簡單的替換s s a b 10 a b a b 10 10 20 10 20 320 s s a b s 10 a b a b 10 10 20 10 20 100 200 20 320 應該定義s r 為 define s r 10 r r define s r 10 r r...

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

因為sum a b 的時候a,b都沒有賦初值。應該先對a 0,b0再參加運算。開始定義變數後沒有賦值操作,直接進行了運算。所以出現這種情況,正確的是。voidmain 順序問題。編譯器是按照循序執行語句。程式當中你先定義了a,b 並沒有初始化。編譯器給分配了儲存空間但其中的內容並不確定。所以當執行到...

C語言,數學計算程式,c語言 編寫乙個程式,計算任意輸入的整數的各位數字之和?

給,已經編譯執行確認,並給你做了乙個簡單的介面將這幾個功能都串聯了 include include define pi 3.14159 void isleapyear void getsum void getdegree void isint int main return 1 年代除以400等於0...