c中,intnnn》1請問這第二句是什麼意思

2021-03-07 21:50:32 字數 4791 閱讀 8498

1樓:匿名使用者

比如原來n是8,他的二進位制數為00001000,進行》1右移一位後就是00000100,4了.

第二個就是將n與n-1進行相與操作.同時為1是1.例. n =7, n&=n-1就是n=n&(n-1)

00000111

& 00000110

---------------

00000110

不知道你看明白了嗎?

2樓:疏影清曉

第二句是將n右移一位之後再賦值給n。

c++是c語言的繼承,它既可以進行c語言的過程化程式設計,又可以進行以抽象資料型別為特點的基於物件的程式設計,還可以進行以繼承和多型為特點的物件導向的程式設計。c++擅長物件導向程式設計的同時,還可以進行基於過程的程式設計,因而c++就適應的問題規模而論,大小由之。

c++不僅擁有計算機高效執行的實用性特徵,同時還致力於提高大規模程式的程式設計質量與程式語言的問題描述能力。

3樓:匿名使用者

移位n的每一位右移1位

n&=n-1 應該是去並值 也就是n=n&n-1

4樓:匿名使用者

是n=n&(n-1)吧

5樓:匿名使用者

永遠大於1!~~?~~~

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

6樓:浪哥

首先,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

7樓:熱詞課代表

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

8樓:文化廚子

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

#include

int main()

程式執行效果:

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

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

#include

int main()

9樓:匿名使用者

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

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

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

10樓:匿名使用者

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

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

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

11樓:阿爾邁凡

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

這是乙個三目運算子

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

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

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

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

12樓:匿名使用者

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

1&1=1;

0&0=0;

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

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

13樓:匿名使用者

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

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

>> 右移

<< 左移

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

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

00001000 >> 1

0 0000100

得到的結果是4

14樓:

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

15樓:陳亦煬

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

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

16樓:永恆的小火火

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

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

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

17樓:匿名使用者

應該是n和1的與吧,

18樓:匿名使用者

\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)編號,各種瀏覽器都能處理。

參考資料

19樓:修者世界

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

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

結果是:

this is a test

please check it

20樓:匿名使用者

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

所以在c中有如下用法

\n 相當換行

\t 製表符(tab)

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

21樓:匿名使用者

換行符就是回車

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

例如,在前面各例題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表示換行等。

22樓:匿名使用者

\n相當於乙個字元,這個字元就是 換行 。

字元\n 與 字元a 用法一樣,你用字元a時是不是 要加引號:'a' 表示是乙個字元而不是變數,所以\n也一樣,用的時候加上'\n'就可以了。

請問在c語言中for迴圈語句表示式1中能否定義變數?如果可以它的作用域又是什麼

標準c語言,變數聲 明必須在語句之前,for 小括號中宣告 定義變數是語法錯誤。for int i 0 i錯誤。標準c語言,每對花括號之間為乙個域,每個域中可以宣告 定義變數,它的作用域就是花括號之間。花括號套花括號,則外域量 可以作用到 內域,除非 內域 宣告了 同名 變數。int i for i...

在正方體ABCD A1B1C1D1中,M是CC1的中點1)求異面直線A1M和AB所成的角的大小

設ab a.1 由於 ab a1b1 故a1b1與a1m的夾角即為ab與a1m的夾角.現在求角ma1b1 連線mb1.由於a1b1垂直於平面bcc1b1,故a1b1垂直於直線mb1.即三角形ma1b1為直角三角形.求得mb1 a 根號 5 4 故tan 角ma1b1 mb1 a1b1 根號5 2 角...

c 中對於陣列int a 9p a,a 1,aa,p 1,pp有什麼區別

a 和 a是錯誤的,編譯都不會過,因為陣列名是常指標。只剩下a 1和p 1了,它們在使用上是沒有區別,指向了同乙個地方,但a是常指標而p是普通指標!都不表示a 1 a 1表示 a 1 a 和 a都是非法p 1和a 1相同 p 和 p不一樣,前者值是p後者是p 1 c語言對於陣列a 1,3,5,7 p...