c我有給計算疑惑,求解,c語言的位運算疑惑

2022-11-13 02:06:47 字數 2905 閱讀 9784

1樓:金色潛鳥

c/c++ 中,運算子號 = , 它叫 賦值號,它的意思是把 賦值號右邊「表示式」的值 賦給 賦值號左邊的變數, 左邊的變數,無論它原先是否有值,無論原先的值是什麼,執行 賦值後,就變成了 右邊「表示式」的值了。

a賦值3,b賦值0。b=a+2 這是賦值運算,b變成了 5。

接著 a=b 這是賦值運算, 把b 的當前值 5 ,賦給了 a, a 變成了 5。

它與數學式不同,數學 裡 = 叫 等於號。c/c++ 中 判斷兩個數是否相等 ,用的 是 == 好。 a==b 是邏輯表示式,當 a等於b時, 邏輯表示式得「真」(true 和 1),當 a不等於b時, 邏輯表示式得「假」(false 和 0)。

2樓:匿名使用者

1、在c語言程式設計裡,一個等於號(=)並不是等於的意思,而是賦值語句,意思是,把右邊的值賦給左邊的變數;

2、而等於這個概念是用兩個等於號(==)來表示的,即a==b才是表示a和b相等,而a=a+2的意思是,把a+2的值賦給a。

3、所以,其實只是你不理解語法而已,理解了就不會有疑問了

c語言的位運算疑惑

3樓:風若遠去何人留

首先 x=040是8進製表示方式. 也就是10進位制的32

然後 計算x=x<<1 左移一位後,x=64

輸出x的十進位制值,也就是結果為64

4樓:唐博

因為你的x =040,代表x是一個八進位制的數,040相當於十進位制的32,移位之後就是64了

5樓:匿名使用者

x=040是八進位制數,轉化為二進位制是00100000,左移一位就是01000000.

6樓:匿名使用者

x=040,是八進位制的表示方法,也就是x=32,x<<1就是將它的二進位制左移一位,也就相當於乘以了2,所以昌64

7樓:被狼吃的孩子

八進位制的040換成二進位制是:100000

《是:左移

x<<1的意思是向左移動一位結果是:1000000%d的意思是十進位制輸入結果是:64

8樓:匿名使用者

char c=040即整數32;左移一位相當於乘法*2^1,所以為64.只要知道一位運算其實是乘法和除法,自己類比一下十進位制後面加幾個0,減幾個0,其實就是移位。

9樓:

040是八進位制數,轉化為十進位制為32。x=x<<1意思是將x左移移位,左移一位在十進位制角度為變為原來的2倍,即32*2=64.

10樓:匿名使用者

恩。分析下思路。先針對你的這個題目。

1:040 是八進位制的表示。換成十進位制是 4*8+0*1=322:ascii編碼表中 32表示的是空格符號。 char中寸的是ascii編碼,所以是32

3:位移運算:>>表示右移位

我以8為例。8的二進位制是1000, 8>>1對應的二進位制形式就是1000——0100看到變化了沒有。

所以右移位相當於這個數除2

左移位你看看 01000——10000是16了。相當擴大一倍。

32的二進位制是 0010 0000左移1位 01000000你看看是不是64

4:最後列印的是%d,所以是數字。而不是字元希望你能明白!打字好累啊!

c語言算漢諾塔,遞迴時的輸出是怎麼一步一步來的?如圖,求大神幫忙

11樓:匿名使用者

例如,n=3,三個柱子是a b c

那麼是這樣:

呼叫的層次已經用製表符分開

hanoi(3, a, b, c)=>

hanoi(2, a, c, b)=>

hanoi(1, a, b, c)

=>move(1, a, c)

move(a, b)

hanoi(1, c, a, b)

=>move(c, b)

move(a, c)

hanoi(2, b, a, c)=>

hanoi(1, b, c, a)=>

move(1, b, a)

move(b, c)

hanoi(1, a, b, c)=>

move(1, a, c)

c語言培訓有一些疑惑 求過來人講講

12樓:加青菇涼

從單純的c語言培訓來講,算是一個基礎程式語言,也有很多c崗位的工程師,當然還是覺得比較勢單力薄。畢竟當前比較火的一些技術,像嵌入式。一些底層的應用c比較多。

樓主可以考慮考慮這種前沿的技術。畢竟能使你更值錢。

其次,我不太瞭解樓主的情況,不知道你是否是理工科畢業的。學程式設計並不界定非工科不能學,當然如果有基礎是最好的。自己的興趣也有一定的關係,所以樓主三思,入一行就得愛一行。

只有這樣你才能走到最後。

最後,作為過來人我奉勸你,培訓只是一扇門,給你領進去了,更多的還是需要靠自己。不要把所有的希望都寄予給別人身上,就好比我當初是有一定基礎的,我去華清遠見培訓的時候,剛開始覺得c語言超簡單。但是隨著課程的不斷深入,用到的也越來越多,不再那麼簡單。

我意識到得好好的跟下去。總之學習是辛苦的了,但收穫是自己的。加油!

13樓:匿名使用者

別去了。去ios,安卓,php那些還可以。去c的話就算了。

c偏向做底層的,招聘c的公司都是中大型公司。都是招一些大本專業的大學生居多。。而且別說最低本科要求了,偏底層的研究生的要求也不少。

需要拼內功。幾個月的培訓學條毛啊。。微機系統,作業系統,彙編,編譯原理,資料結構,演算法,設計模式,高數(數學)必要時還加上模電數電,這個就是內功。

這個根本不能速成的,拼天分和時間累積而已。語言沒啥用的,可以理解成外功招式,任何語言知識一個載體,承載api等等。。

關於c語言的 疑惑,關於C語言的 疑惑

for i 2 i a 1 i for i 2 i a 1 i include int desk int a void main int a,z scanf d a z desk a switch z case 1 printf d不是素數 n a break default printf d是素數...

C語言的疑惑

y b b b 對這個式子,計算機要作兩次運算,1,b b 這時b 10,得到20。2,得到答案後現加 b 這時b 11,得到31。x a a a 同樣的,先作 a a a 8,得到16。由於這個表示式還沒完成,所以a還不能進行自加運算,要一直到這個表示式完成後才能自加,所以第二次加時,還加的是8,...

幾道C語言題求解,求解這幾道C語言題的答案

1.1 編譯錯誤,b 錯了吧 1.2 編譯錯誤,沒定義s 1.3 11 1.4 15,20 2.1 key,break 2.2 不管填什麼都沒用,沒有輸出表項 3 abc 4 編回譯錯誤,i 2 j,表達答 式不能做賦值運算的左值 5 58 6 if a i p if a i p a i j p j...