在C語言中,(n 1and n 10)是正確的嗎,同時把and改成正確嗎?謝謝

2021-03-23 03:04:58 字數 6410 閱讀 4798

1樓:金色潛鳥

標準 c 語言,沒有 定義 and, 所以不正確。

(n>=1 && n<=10) 是正確的,符合 ansi c 標準。

--------

如 果 前面 有 巨集定義

#define and &&

那麼,語法和功能上 (n>=1 and n<=10)是正確的。

and 前後要有空格。

例如:int n=5;

printf("%d",(n>=1 and n<=10));

輸出 1 (真)

2樓:匿名使用者

#define and &&

#define bit_and &

這樣就可以了,呵呵。

3樓:面對淡然

不行,c語言中識別不了and.要用&&

4樓:匿名使用者

&&肯定可以,and應該不行。

c語言中if(1<=n<=10)什麼意思啊(我知道不是【1,10】),能過編譯嗎

5樓:匿名使用者

c語言中if(1<=n<=10)執行過程是這樣的:

先判斷 1<=n ,判斷結果為0(假)或1(真),然後在判斷(1<=n)的整體值(0或1)是否小於等於10,結果為真。

可以執行,但並不能表示n介於1到10之間的判斷。

如果要執行n介於1到10之間的判斷,應表示為:if( n>=1 && n<=10 ) 。

c語言中 return (n>1 && n<=12) ? month[n]:month[n];這種寫法正確嗎?

6樓:匿名使用者

後面那個有bai問題,加入n<=1或者dun>12的時候你也是返回zhimonth[n],就是說你的判斷語句其dao實等價於return month[n];沒有起版到你想要權的作用.

寫出return (n>1&&n<=12)?month[n]:null;看看,不知道你想返回什麼

7樓:匿名使用者

這個語句在語法上沒有錯誤,但在邏輯上有錯誤,因為無論(n>1&&n<=12)的值是真還是假,都會返回month[n]這個值。

所以如果源**還有其他錯誤的話可能是其他地方的問題,另外這條語句也應該改一下。

8樓:我是王福根

返回的應該是判斷的結果,

return((n>1&&n<=12)?month[n]:month[n]);

你的返回的是 (n>1 && n<=12)的結果。ok了

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

9樓:浪哥

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

10樓:熱詞課代表

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

11樓:文化廚子

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

#include

int main()

程式執行效果:

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

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

#include

int main()

12樓:匿名使用者

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

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

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

13樓:匿名使用者

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

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

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

14樓:阿爾邁凡

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

這是一個三目運算子

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

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

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

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

15樓:匿名使用者

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

1&1=1;

0&0=0;

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

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

16樓:匿名使用者

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

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

>> 右移

<< 左移

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

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

00001000 >> 1

0 0000100

得到的結果是4

17樓:

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

18樓:陳亦煬

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

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

19樓:永恆的小火火

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

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

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

20樓:匿名使用者

應該是n和1的與吧,

21樓:匿名使用者

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

參考資料

22樓:修者世界

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

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

結果是:

this is a test

please check it

23樓:匿名使用者

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

所以在c中有如下用法

\n 相當換行

\t 製表符(tab)

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

24樓:匿名使用者

換行符就是回車

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

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

25樓:匿名使用者

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

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

請問一下c語言中(m=a>b)&&(n=c>d)a=1b=2c=3d=4是什麼意思?詳細一下謝謝

26樓:匿名使用者

(m=a>b)&&(n=c>d)

a>b的布林值賦值(1或0)給m,如果為真,繼續執行n=c>d.如果a>b為假,則不執行c=c>d

a=1b=2c=3d=4

這表示式有問題

27樓:匿名使用者

&&是條件與,表示只有前後兩個判斷語句的布林值都為1(判斷結果都為真)的時候才滿足條件。按初a=1b=2c=3d=4來看,&&前後的條件都為假,所以就是 0&&0,最終結果為假。

28樓:手動閥隧道

m=a>b就是把a>b的比較結果賦給m,即a>b成立時,m=1否則m=0

同理n=c>d也是一樣

那麼(m=a>b) && (n=c>d)的意思就是(a>b)&&(c>d),同時把a>b的結果賦給m,c>d的結果賦給n

a=1b=2c=3d=4這個不符合語法規則啊??是不是a=1;b=2;c=3;d=4?

在c語言中,a=(m=a>b)&&(n=c

29樓:天雲一號

a=(m=a>b)&&(n=c>d)表示將條件(m=a>b)與條件(n=c>d)進行邏輯與運算後,將結果賦值給變數a。

具體執行過程可以通過如下例項來說明:

int a=1, b=2, c=4, d=3;

int m, n;

a=(m=a>b)&&(n=c>d);

// 先計算(m=a>b),由於a>b為假,所以m=0;

// 再計算(n=c>d),由於c>d為真,所以n=1;

// 最後計算邏輯與,此時將m=0與n=1進行與運算,結果為0,之後將最終結果0賦值給變數a,所以經過a=(m=a>b)&&(n=c>d);運算後a=0

C語言中n10什麼意思,C語言中n10是什麼意思呢?

這是特有的表達方法 如 n 10,就等回同答 n n 10 如 n 10,就等同 n n 10 如 n 10,就等同 n n 10 如 n 10,就等同 n n 10 更有資格的告訴你,n小於等於10.這個問題很簡單麼bai 在c 裡。的自加du 減,乘,zhi除 運算子 類似於daon 10,n ...

xx1c語言中什麼意思,在c語言中x10是什麼意思

x x 1c 等價於抄 x x x 1 x 1即進行十進襲制的減法,如x 為十進位制的30,則x 1的結果為十進位制的29 如果結果用2個位元組表示則結果為 00 00 00 00 00 01 11 01 又因為x 是30其二進位制表示為 00 00 00 00 00 01 11 10 是為運算的與...

在c語言中1是什麼意思,c語言中1是什麼意思

在c語言中 1 的意思是 將1的二進位制名 向左移20位。左移一位專相當於對該數屬 乘2,左移n位就相當於乘n個2。把1,位左移20位 按二進位制來移動 在32位機中,十進位制的1就是 00000000 00000000 00000000 00000001,位左移20位就是 00000000 000...