c語言中,設m 10,n 4,則賦值運算m n 1執行後,m的值是多少?求答案及解釋,謝啦

2021-03-19 12:20:21 字數 6115 閱讀 2552

1樓:

m=0;

因為%=的作用是計算求餘後,把值賦給左邊的變數,算術運算子+的優先順序高於賦值運算子%=,所以m%=n+1相當於m%=(n+1),也就是m=m%(n+1)=10%5=0

2樓:匿名使用者

答案:0

(執行結果如下面的**,是用c++寫的、不過原理一樣。。。)解析:「m%=n+1」等價於m=m%(n+1),也就是m=10%(4+1),所以m=0。

「%」,求餘運算子,就是模運算, 基本概念:   給定乙個正整數p,任意乙個整數n,一定存在等式 n = kp + r ;   其中k、r是整數,且 0 ≤ r < p,稱呼k為n除以p的商,r為n除以p的餘數。

3樓:匿名使用者

m%=n+1

拆開表示式就是 m = m%(n + 1)m = 10%5 10除以5餘數為0

所以m最終結果是0

4樓:光明

這個跟優先順序有關啊,式子中 % = + 的優先順序順序是 % > + > =, 因此此式可以寫成 m = m%n + 1, 結果不用我說啦

5樓:匿名使用者

等於0 m%=n+1就是m=m%(n+1)=10%5=0;

6樓:匿名使用者

m=0,%=優先順序小於+

在c語言中,設有如下定義: int a=1,b=2,c=3,d=4,m=2,n=2; 則執行表示式:(m=a>b)&&(n=c>d)後,n的值為,過程

7樓:無憂網事

n的值抄仍然為2,沒有改變!

過程:先計算a>b,值為0,賦給m的值為0,表示式m=a>b的值也是0。

對於&&邏輯運算,不管後面(n=c>d)的值如何,都不影響(m=a>b)&&(n=c>d)的最終結果,因此,c語言不再對表示式n=c>d進行計算。因而n的值沒有改變!!

8樓:匿名使用者

n的值為2

a = 1, b = 2 ===> m = a > b ===> m = 0

&&支援短路運算

所以m = a > b的值為0 不用考慮後面的值了所以n的值任然為2

int a=1, b=2,c=3,d=4,m=2,n=2; 則執行表示式:(m=a>b)&&(n=c>d)後,n的值為?

9樓:匿名使用者

n=2,因為m=(a>b);

解釋為bai:如果a大於dub,那麼m等於true(即1);否則zhim等於false(即0);

n=c>d也是這個意思.

再有dao(m=a>b)&&(n=c>d)首判斷a>b是否為真,因為內a=1,b=2.所以a>b為假。m=0,接容著就不進行

n=c>d。故n的值未改變。估是因為&&的原因。

10樓:寒冰射手小樣

n的值仍然為2,沒有改變!

過程:先計算a>b,值為0,賦給m的值為0,表示式m=a>b的值也是版0。

對於&&邏輯運算,不管後面

權(n=c>d)的值如何,都不影響(m=a>b)&&(n=c>d)的最終結果,因此,c語言不再對表示式n=c>d進行計算。因而n的值沒有改變!!

11樓:詹爵雲蕙若

m=0n=2

a>b不成立m=0;

又因為(m=a>b)為0,所以不執行(n=c>d),即n的值不變。這是&&的特性。

c語言中c=++a是什麼意思

12樓:非常可愛

a++這個式子的返回值是a,所以b=a++相當於b=a,然後a=a+1;

++a的返回值是a+1;所以b=++a相當於a=a+1;然後b=a;

a++先返回a,再自加

++a先自加,再返回a

如a=3

b=a++;//b=3

c=++a;//c=5

擴充套件資料例:#include

intmain()

13樓:匿名使用者

那是問號表示式,簡單地舉個例子

int c = (a > b ? 1 : 0);

意思就是說,如果a大於b,那麼c就為1,否則就為0就你提出的問題而言,意思就是

如果w小於x,返回w的值,否則(如果z小於y,返回z,否則返回x)

14樓:雲南新華電腦學校

c語言中「++」是自加的意思。

1、自加,有兩種用法:假如定義了乙個變數i=1(1)若使用i++, 指代先取i的值再另i=i+1(2)若使用++i,指代先使i=i+1再取i的值

15樓:路堯家的顧小言

意思是相等,==是關係運算子,用來判斷兩個值大小是否相同,當左邊的內容與右邊的內容相同時,返回1,其餘時候返回0。

例如下列程式,輸入2個整數,判斷他們倆是否相等,如果相等,輸出a is equal to b。

16樓:蘇嘉愛娛樂

是運算符號。

位元右移(>>)運算子可以是算術(左端補最高有效位)或是邏輯(左端補 0)位移。

例如,將 11100011 右移 3 位元,算術右移後成為 11111100,邏輯右移則為 00011100。因算術位元右移較適於處理帶負號整數,所以幾乎所有的編譯器都是算術位元右移。

運算子的優先順序從高到低大致是:單目運算子、算術運算子、關係運算子、邏輯運算子、條件運算子、賦值運算子(=)和逗號運算子。

擴充套件資料

右移運算子(>>)規則:

按二進位制形式把所有的數字向右移動對應位移位數,低位移出(捨棄),高位的空位補符號位,即正數補零,負數補1。

計算過程:

11的二進位制形式為:0000 0000 0000 0000 0000 0000 0000 1011,然後把低位的最後兩個數字移出,因為該數字是正數,所以在高位補零。則得到的最終結果是0000 0000 0000 0000 0000 0000 0000 0010。

轉換為十進位制是2。

數學意義:右移一位相當於除2,右移n位相當於除以2的n次方。

17樓:雲南新華電腦學校

這是c語言中的「右移運算子」。一般情況下,他是按位操作。

特點:1.雙目運算子,就像+、-、*、/一樣,格式為(數1)>>(數2)

2.數1是被運算元,如被減數、被除數等;數2是右移位數。

3.優先順序低,結合性:從左向右運算

18樓:house黃信

有好多種形式。

1.運算子:%取餘運算子。

2.格式:%d是整型,%c是字元型,%%是輸出%,%ld是輸出長整型。

%f是輸出浮點型(小數形式),%e是輸出浮點型(指數形式)。

%lf,%le用於輸出double型,%g選%e/%f長度小的一種,且不輸出多餘的零。

%o輸出八進位制,不會輸出負的,%x輸出十六進製制。

%hd用於輸出短整型。

%s用於字串

19樓:距離離愛

這個是c語言的乙個三目運算子 ?:

意思是先判斷?前面的表示式的邏輯值是否為真,如果為真,則取冒號前面的表示式的值為整個表示式的值,如果為假,則取冒號後面的表示式的值為整個表示式的值。

20樓:天下黑人第一

例如a是5

c=++a,在使用a之前,a先加1,然後結果賦值給c(加在前,先加(a變成6),後進行其它運算,例如賦值給c。c為6,a為6

c=a++,在使用a之後,使a加1,那麼a值賦給c,a再加1(加在後,先進行其它運算,本例題是賦值給c(a為5,先賦值結c,a再自加),後加。c為5,a為6

21樓:墨陌沫默漠末

c語言裡++是自增運算子,表示自加的意思,有如下兩種用法:

假如定義了乙個變數i=1

1) 若使用i++, 指代先取i的值再另i=i+1

2)若使用++i,指代先使i=i+1再取i的值

++在前是先給變數的值自加,及自身加一,再用變化後的值去參與運算。而++在後,則是先用原來的值參與運算,遇到乙個特殊序列點(&&或||或,或?:或;)才使變數自加。

若b=3,a=b++;則a=3,b=4。若a=++b,則a=4,b=4。

c語言中其他類似的運算子:

1、( type-name ) cast-expression,強制表示式成為type-name指定的型別。

2、「 * 」 乘法運算子;「 / 」除法運算子;「 % 」 取餘運算子。

3、「 + 」加法運算子;「 - 」減法運算子。

4、<< 左移運算子;>> 右移運算子。

5、<、<=、>、>=關係運算子。

6、「 == 」等於運算子;「 != 」不等於運算子。

7、「 & 」按位與運算子

8、「 ∧ 」按位異或運算子(bitwise exclusive or operator)。

9、「 | 」按位或運算子(bitwise inclusive or operator)。

22樓:

由於沒有說明用在什麼語句中,所以得分三種情況說:

用於scanf函式的格式化控制字串時,在為對應的變數輸入十進位制數時必須在其前附加輸入###a=等字元,否則出錯。

用於printf函式的格式化控制字串時,在按十進位制輸出對應的變數值時在其前附加輸出###a=等字元。

用於其他地方,一般就是個普通的字串常量。

23樓:匿名使用者

就是相等關係的意思

通常的單個=在c語言中是運算子 代表將=右邊的值賦給=左邊的變數

而==代表判斷是否相等

24樓:匿名使用者

驚嘆號 !

是「邏輯非」運算

在 a[i] = !a[i] 中,

如果 a[i]的值為0,則 !a[i] 的值為 1;

如果 a[i]的值非0,則 !a[i] 的值為 0;

所以執行 a[i] = !a[i] 後, a[i]的值,不是0就是1,即a[i]被二值化了。

25樓:方田

回答的好請採納哦!!!

這是c語言中的「右移運算子」。一般情況下,他是按位操作。

特點:1.雙目運算子,就像+、-、*、/一樣,格式為(數1)>>(數2)

2.數1是被運算元,如被減數、被除數等;數2是右移位數。

3.優先順序低,結合性:從左向右運算

如:8>>1=?表示將被移數向右移動1位

如何操作?

1.化十進位制數為(注意了)對應的二進位制數,對應指格式對應2.通通右移,不足補0

3.化為十進位制數

舉例:short int a=8;a=a>>1;

1.a=0 000 1000

2.右移一位後:a= 0 000 100

3.補0:a=0 000 0100

4.化為十進位制數:a=4

舉例:int a=8;a=a>>1;

1.a=0 000 0000 0000 10002.右移一位後:

a= 0 000 0000 0000 1003.補0:a=0 000 0000 0000 01004.

化為十進位制數:a=4

26樓:匿名使用者

%d:輸入輸出為整形 %ld 長整型 %hd短整型%hu無符號整形 %u %lu

%s:輸入輸出為字串

%c字元

%f:輸入輸出為浮點型 %lf雙精度浮點型

27樓:匿名使用者

這個是這個是右移

符號例如a>>b 就是a右移b位

例子:a=5,a>>2

需將5,化為8位二進位制,00000101

右移的意思就是把最右邊的兩位直接抹去,然後在最左邊增加2個0移去多少位就加多少個0,然後再轉為十進位制就是移動結果

28樓:匿名使用者

「>>」在c語言中是右移的意思,

「<<」則是左移的意思。

比如:portd |= (1<<4);//把1左移4位後(值為0x10)賦給portd。

//也就是讓portd的第5個輸出i/o輸出為高電平的意思。

c語言中10的n次方怎麼表示用C語言表示10的N次方怎麼表示符號

10的n次方為 1e10 也可寫成1e 10 如果是負n次方的話就把加號變成減號 e大小寫都可以 需要注意的是e前面必須有乙個數字 不然的話就不合法。另外可以用函式表示 在c語言中 求x的y次方可用pow x,y 表示,所以10的n次方也可表示為pow 10,n 需要注意的用pow x,y 的話要用...

C語言中,如何表示變數的n次方,C語言中,如何表示乙個變數的n次方?

用pow函式 pow函式的形式 pow double x,double y 用來求解x的y次方。使用dupow函式時,如果變數原先定義為整型,需要強制轉換為浮點型。舉例 double a pow 3.14,2 計算3.14的平方。注 使用pow函式時,需要將標頭檔案 include包含進原始檔中。c...

C語言裡有沒有直接的冪函式,關於C語言中n次冪函式的用法

也可以直接寫個啊,不是很難的,順便也練練嗎,當然肯定沒有庫函式的專 效率高,主要是練屬手.int mifunc int x,int n return sum 功能是求x的y次方 原型 double pow double x,double y 標頭檔案math.h 有,double pow doubl...