c語言 中的是什麼意思 int r 8print

2021-03-28 14:52:03 字數 6480 閱讀 8023

1樓:匿名使用者

「>>」是c語言中的位操作符,在譚浩強的《c程式設計》中第12章講位運算的裡面有講到有關位操作的知識。「r>>1「 按位向右移動1位,8的二進位制碼:00001000右移後:

00000100,記住是每一位都右移,如:a=163,二進位制:10100011,a>>2後:

00101000,移位後超出的自動去掉。另外還有「<<"左移位,"&"按位與,"|"按位或,"^"按位異或,"~"按位取反等操作符,這些操作符主要是在某些需要對二進位制位進行操作的地方用到,很方便,比如某些時候你希望用一個二進位制位表示一個狀態或者其它什麼資訊時,把這些資訊用一個位儲存起來(每個位代表一個資訊,節省空間,傳輸也方便,在上位機與下位機通訊時經常會用一個位元組的位來儲存資訊),而這個時候的某些操作就需要進行位運算,它會給你的程式帶來很多方便。

你可以看看書,譚浩強那本是不錯的c入門書籍,剛看位操作時可能不太好明白,因為不知道它能幹嘛,平時寫程式也很少用到,我學這個的時候就是這樣,幾乎是隨便看看就沒管它了,後來到工作中偶然一個機會用到了它,那時才對這個位操作有了一點認識,所以程式設計的事還要多實踐、多練習,在實踐中體會、理解。

2樓:匿名使用者

樓主你好,>>運算子相當於向右移位,r>>1則相當於把a的值向右移1位,在高位前面補0,比如a是整數5的話,那麼它的二進位制計數為0000 1000,這時計算r>>1的結果為0000 0100,那麼結果就是2了,其實移位運算也是相當於每次除2,而《運算子相當於向左移位,如果向左移2位的話,在低位補0,就變成0010 0000,那麼結果就是32,這也相當於每次移位乘2。

希望對樓主有所幫助!

3樓:匿名使用者

>> 是右移的意思,r>>1表示把r向右移動一位,其效果相當於把r除以2,

所以這個程式的輸出就是4

4樓:石月升

右移, 8,換成二進位制是b = 00001000,右移裡1位是00000100,十進位制是4。右移一位相當於除以2。

5樓:小飛花兒的憂傷

右移你得先了解數在計算機中的表示,然後知道他們是怎麼運算的

6樓:星煩了

>>在c中是遠遠大於的意思! r>>1, 的意思是r遠遠大於1

7樓:匿名使用者

那是位運算,>>表示右移位運算,其實簡單的說就是除以2.

c語言**如下 int a=1,b; printf("%d\n%d\n",a,b); 為什麼輸出結果為: 1 8 這個8是怎麼來的?

8樓:匿名使用者

這個8應該是未初始化的結果,c語言沒有要求必須初始化(具體怎麼處理看編譯器的配置了),它在不同環境上跑的結果可能不一樣。例如

上面那個才是debug單歩的輸出

c語言中int mid=(l+r)>>1是什麼意思?

9樓:匿名使用者

l+r的值右移1位,相當l+r的值除以2取整。

int是將一個數值

向下取整為最接近的整數的函式。int是資料庫中常用函式中的取整函式,常用來判別一個數能否被另一個數整除。

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。

10樓:寧雪容洋馳

是位元操作,可以看做是除2,如

12的二進位制表示是00001100,12>>1將00001100右移一位,變為00000110,即6.

又如15的二進位制表示是00001111,15>>1將00001111右移一位,變為00000111,即7.

另外《就是左移,相當於乘以2.

希望對你有幫助!

c語言中下面這句話是什麼意思?那個>>符號看不懂…… int mid=(l+r)>>1;

11樓:南方小智

是位元操作,可以看做是除2,如

12的二進位制

表示是00001100,12>>1將00001100右移一位,變為00000110,即6.

又如15的二進位制表示是00001111,15>>1將00001111右移一位,變為00000111,即7.

另外《就是左移,相當於乘以2.

希望對你有幫助!

12樓:匿名使用者

位移操作符,l+r的和向右位移一位

例如l+r=2

二進位制位

00000010

右移一位

00000001

十進位制為1

13樓:我愛涮涮鍋

這是位操作符,即將l+r的結果右移一位就是mid的值,《是左移

c語言中 (n & 1)什麼意思啊

14樓:浪哥

首先,a&b表示,a和b在計算機中儲存的對應二進位制碼按位取與:

例如:a的二進位制碼為:0111,b的二進位制碼為:0011時:

0111

& 0011

= 0011

對應十進位制形式為:7&3=3;

同理:因為1的對應儲存的二進位制碼除了最低位,其他位都是0,所以,n&1要麼為1(n為奇數時,n的最低位為1),要麼為0(n為偶數時,n的最低位為0)。

綜上可得:n&1等效於 n%2==1

15樓:熱詞課代表

n+1中的n指的是每工作1年支付1個月工資的經濟補償。所謂的+1,是指用人單位解除勞動合同但是未提前30天書面通知勞動者時,額外支付的1個月工資。

16樓:文化廚子

這應該是一段控制輸出資訊的字元控制資訊。 使用%1f不明顯,直接看示例。

#include

int main()

程式執行效果:

說明:%1f或者%10f,裡面的數字指的是最小域寬限定符,簡單的說即數值輸出後要有多少個字元。 %1f保證輸出的數至少有1個字元位 ,%10f表示輸出的數至少是10位,如果不夠10個字元,預設填充的是空格,程式設計師可以自己設定用什麼填充。

比如下面的**當輸出的字元不夠10個時用0進行填充:

#include

int main()

17樓:匿名使用者

這個是問號運算子。問號運算子是三目運算子,格式:

表示式1?表示式2:表示式3;

如果表示式1成立,則執行表示式2,否則執行表示式3對於本題,(n)?(c++):(c--);的意思是如果n不等於0,那麼執行c++,就是c自增1,如果n等於0,那麼執行c--,就是c自減1

18樓:匿名使用者

這是一個死迴圈,約束條件為1,也就是說恆為真,n會一直自增下去,但如果for裡面有個break就回讓for跳出迴圈,例如:

for (n=0;1;n++)

}//其中m是外面確定好的一個數

19樓:阿爾邁凡

應該是(n)?(c++):(c--)吧

這是一個三目運算子

表示(n)有表示式值是否為真

如果為真的話則返回(c++)表示式的值

否則將會返回(c--)表示式的值

然後這個注意一個字尾自增/減表示式的求值就可以了

20樓:匿名使用者

是相與的意思。算術"與"操作。「&&」這是邏輯「與」操作。基本操作有0&1=0;

1&1=1;

0&0=0;

這一題中無論n的值是多少。只要它二進位制的最後一位是0。結果就是0;如果是其最後一位是1結果就是1。

回答樓主這樣的題目,挺沒勁的。。別事事問知道,您不能多看看書啊??這樣學的更快啊。

21樓:匿名使用者

位運算的位移操作。 左邊的是

被位移資料,右邊的是要位移的位數

>> 右移

<< 左移

運算時,先將被位移數轉化為2進位制,然後進行左移或者右移。移出的空位通常用0填充。

(具體要看編譯器和系統環境來決定是否用0填充)例:8 >> 1

00001000 >> 1

0 0000100

得到的結果是4

22樓:

這個是讓n和1做位與運算,假設你的n是0x0002,二進位制就是0000000000000010,那麼1是0x0001,二進位制就是0000000000000001,兩個做位運算後就是0,每個位和每個位要做位與運算

23樓:陳亦煬

一般不會用這種寫法把,光看這條是1左移n位的意思。不過還是要結合具體程式看。要是用在mcu裡面c語言的話有時在往暫存器傳送資料的時候會用到類似這種寫法。

因為暫存器一次只能接受1位資料而一個位元組有8位,不過一般都是用賦值語句寫的,如:for(i=0;i<8;i++)temp=temp<<1;

24樓:永恆的小火火

《是位操作符 1<>是指右移

m>>=1 相當於m= m>>1

注意移位都是二進位制下的

25樓:匿名使用者

應該是n和1的與吧,

26樓:匿名使用者

\n' 的意思是:回車換行。將當前位置移到下一行的開頭。

1、\n是換行符,通常在輸出中用作格式控制;\n'就是一個轉義字元,其意義是「回車換行」。

2、轉義字元以反斜線"\"開頭,後跟一個或幾個字元。轉義字元具有特定的含義,不同於字元原有的意義,故稱「轉義」字元。

3、一般放到printf()這類函式中使用,比如:printf("this is a test\n please check it\n");

結果是:this is a test       please check it

擴充套件資料

所有的ascii碼都可以用「\」加數字(一般是8進位制數字)來表示。而c中定義了一些字母前加"\"來表示常見的那些不能顯示的ascii字元,如\0,\t,\n等,就稱為轉義字元,因為後面的字元,都不是它本來的ascii字元意思了。

轉義字串(escape string),即字元實體(character entity)分成三部分:第一部分是一個&符號,英文叫ampersand;第二部分是實體(entity)名字或者是#加上實體(entity)編號;第三部分是一個分號。

比如,要顯示小於號(<),就可以寫 < 或者 < 。

用實體(entity)名字的好處是比較好理解,一看lt,大概就猜出是less than的意思,但是其劣勢在於並不是所有的瀏覽器都支援最新的entity名字。而實體(entity)編號,各種瀏覽器都能處理。

參考資料

27樓:修者世界

c語言中'\n'是換行的意思,一般放到printf()這類函式中使用,比如:

printf("this is a test\n please check it\n");

結果是:

this is a test

please check it

28樓:匿名使用者

包含在雙引號裡的反斜槓 \ 是轉義識別符號,它告訴編譯器,接下來的字元被轉義,如果接下是數字字元,則將這些數字看成 8 進位制

所以在c中有如下用法

\n 相當換行

\t 製表符(tab)

\012 代表ascii碼為 10 的字元\081 代表ascii碼為 65 的字元

29樓:匿名使用者

換行符就是回車

轉義字元是一種特殊的字元常量。轉義字元以反斜線"\"開頭,後跟一個或幾個字元。轉義字元具有特定的含義,不同於字元原有的意義,故稱「轉義」字元。

例如,在前面各例題printf函式的格式串中用到的「\n」就是一個轉義字元,其意義是「回車換行」。轉義字元主要用來表示那些用一般字元不便於表示的控制**。

常用的轉義字元及其含義

轉義字元 轉義字元的意義 ascii**

\n 回車換行 10

\t 橫向跳到下一製表位置 9

\b 退格 8

\r 回車 13

\f 走紙換頁 12

\\ 反斜線符"\" 92

\' 單引號符 39

\」 雙引號符 34

\a 鳴鈴 7

\ddd 1~3位八進位制數所代表的字元

\xhh 1~2位十六進位制數所代表的字元

廣義地講,c語言字符集中的任何一個字元均可用轉義字元來表示。表中的\ddd和\xhh正是為此而提出的。ddd和hh分別為八進位制和十六進位制的ascii**。

如\101表示字母"a" ,\102表示字母"b",\134表示反斜線,\xoa表示換行等。

c語言中是什麼意思,C語言中 是什麼意思

等於的意思 是賦值的意思。只要理解到 賦值不是等於 就能分辨了。比如 int a a 2 賦值,讓a的值變成2 a原來是多少是不知道的 if a 3 判斷 a是否等於3,此時a的值仍然是2a 這是一個邏輯符號,也就是說,結果是真或者假.a b 當a與b相等時是真,否則為假.還有,迴應一下klboy1...

c語言中是什麼意思C語言中x是什麼意思

非x即not x也就是說,表示x的相反的一面 如果if x 成立,那麼if x 就不成立。反之亦然。如果x不是零,那 x就變成零,如果x是零,那麼 x就變成1 x 字串 內容是 x x 註解行 x 註解行 條件 if x 0 printf x not equ zero n else printf x...

c語言中for是什麼意思C語言中for是什麼意思?

在c語言中,for語句使用最為靈活,它的一般形式為 for 表示式1 表示式2 表示式3 語句它的執行過程如下 先求解表示式1。求解表示式2,若其值為真 非0 則執行for語句中指定的內嵌語句,然後執行下面第3 步 若其值為假 0 則結束迴圈,轉到第5 步。求解表示式3。轉回上面第2 步繼續執行。迴...