C語言中取餘運算,怎麼算?比如有負號,怎麼算?如 1 2或者

2021-08-20 06:46:13 字數 7211 閱讀 1799

1樓:匿名使用者

when integers are divided, the result of the / operator is the algebraic quotient with any

fractional part discarded.87) if the quotient a/b is representable, the expression

(a/b)*b + a%b shall equal a.

借用c99標準裡的一段話

無論誰正誰負,這個等式應該成立:(a/b)*b + a%b == a看下面這段**

#include

int main()

如果只是單純記憶的話:

|a%b| == |a|%|b|,結果的絕對值就是a的絕對值對b的絕對值取餘數

sign(a%b) = sign(a),結果的符號與a相同

2樓:

-1%2結果是-1;

-6%5的結果也是-1。

3樓:匿名使用者

計算結果的符號與第一個數相同,-1%2=-1,-6%5=-1

4樓:王斌隨

-1%2=-1

-6%5=-1

5樓:

先把負號不看。。。算完了再把負號加進去嘛。。。

請問下c語言中取餘運算子“%”在1%2下怎麼取餘啊?結果是啥

6樓:幻翼高達

需要準備的材料分別有:

電腦、c語言編譯器。

1、首先,開啟c語言編譯器,新建一個初始.cpp檔案,內例如容:test.cpp。

2、在test.cpp檔案中,輸入c語言**:printf("%d", 1 % 2);。

3、編譯器執行test.cpp檔案,發現取餘運算子“%”在1%2下取餘的結果就是1。

7樓:足壇風行者

c語言中取餘運算 1%2 的結果為0。因為1除以2的餘數是0。

% 取模運算子,其運版算規則是整除後的餘數。

假設變數 a 的值為權 10,變數 b 的值為 20,那麼, b % a 將得到 0  。

假設變數 a 的值為 2,變數 b 的值為 3,那麼, b % a 將得到 1  。

擴充套件資料

c語言的運算子介紹

假設變數 a 的值為 10,變數 b 的值為 20,則:

1、+    把兩個運算元相加    a + b 將得到 30;

2、-    從第一個運算元中減去第二個運算元    a - b 將得到 -10 ;

3、*    把兩個運算元相乘    a * b 將得到 200 ;

4、/    分子除以分母    b / a 將得到 2 ;

5、%    取模運算子,整除後的餘數    b % a 將得到 0 ;

6、++    自增運算子,整數值增加 1    a++ 將得到 11 ;

7、--    自減運算子,整數值減少 1    a-- 將得到 9 。

8樓:物理公司的

取餘數du啊,這麼想 30%20 = 10 很好理解,這個zhi結果10是怎麼來的呢?

dao30裡減去1個20還剩下10嘛,為什麼只減一版個?因為只剩下10了不權夠再減一個了,所以餘數就是10。那10%20呢,10裡面能減去幾個20?

0個嘛,那就不減啦,還剩下10嘛,所以餘數也是10嘍!!發現越簡單的東西越不好解釋,哈哈

9樓:武成

1%2等於1,

被除數是1,除數是2,商是0,餘數是1

被除數=商✘除數+餘數

10樓:匿名使用者

記得小學還沒學小數時學的餘數吧,1÷2=0……1 ,就算忘了寫個程式不就知道了。

11樓:幽客天下

1/2=0餘1,那1%2=1

c語言中1%2等於多少

12樓:小小詩不敢給她

首先我們要理解的是%在c語言中是什麼運算。在c語言中,%指的是取餘數。

有了以上知識作為鋪墊,我們來看一下1%2結果到底是什麼。

1除以2,商是0,餘數是1,所以1%2的結果是1。

關於“/”的“%”的總結

除法運算子“/”。二元運算子,具有左結合性。參與運算的量均為整型時,結果為整型,捨去小數。如果運算量中有一個為實型,結果為雙精度實型。

求餘運算子“%”,二元運算子,具有左結合性。參與運算的量均為整型。

求餘運算的結果等於兩個數相除後的餘數。

“%”取模運算子還有一些小的應用,例如:

①當你想要通過rand()獲得隨機數時,rand()%100;產生0-99的隨機數。

假如要產生16-59之間的數,可以這樣寫:rand()%44+16(這裡44由59-16+1得到)。

rand()%44 即可獲得0-43的隨機數,再加上16即可得到16-59的隨機數了;

②除了第一點以外,“%”運算還通常用於n進位制的轉換。 例如:

如果是二進位制轉換,那麼就可以通過/與%的結合使用則可以得到轉換之後的二進位制數了(其實就是短除法)

當原數被除至剩餘0時,它的上一次模數就是最高位進位制數。

30(10)->11110(2)

/與%的結合使用通常都可用於獲得最低位數又或者獲得所需的某位數。 例如:

“/”通常可以去掉尾數,而“%”通常都用於獲得尾數。

13樓:天雲一號

在c語言中, -1++ 這種寫法是錯誤的,進行編譯的時候會報錯,因為只有變數才可以進行自增或自減運算,對常量不能進行自增或自減運算。

可以通過如下的語句來進行驗證:

printf("%d\n", -1++); // 編譯的時候會報錯,因為-1是常量,而常量是不能進行++操作的

14樓:匿名使用者

你記住前面的數比後面的數小 那麼 餘數就是 前面的數。 像 5%10 還是5 1%2 還是1

15樓:匿名使用者

是1,因為%是取餘數運算子,1除以2等於0餘1,所以1%2=1

而/是除,對於整數如3/2=1,它把小數舍掉了,即便是0.9也舍,不是按四捨五入的,整數相除結果還是整數

而3.0/2=1.5這是因為實數相除還是實數

16樓:匿名使用者

1%2的計算結果是1

%在作為雙目運算子時,表示取模運算,c語言中如a%b的結果即為a除以b得到的餘數。

17樓:匿名使用者

c語言中1%2 是對1求餘數1除以2 餘1 結果就是1,餘數是多少結果就是多少當整除的時候結果是0

18樓:匿名使用者

1除以2,商是0,餘數是1,所以1%2的結果是1。

19樓:小亞

1,因為取模運算是求的餘數,一除以二,商0,餘1.

只要記住%是求餘數就行了。再不行你就用除法算了收餘數就行,而且運算數必須是整型

20樓:su9_踏雪無痕

在c語言裡邊 -1++ 這種寫法是錯誤的,只有左值才能進行自增或者自減運算。

例如:int a = 1;

-a++;

相當於 a = a+1;

a = -a;

所以結果為 -2

21樓:abc會吃草的牛

你連中100%分之二等於0.01和0.02

22樓:抬頭望那蒼穹

等於1.意思是1除以2的餘數,商是0,餘數為1

23樓:匿名使用者

1因為%是取餘數運算子,1除以2等於0餘1,所以1%2

c語言中15對2取餘是多少?15%2=?

24樓:

c語言取餘操作符 “%”抄 運算規則:

1)結果是第一個

運算數除以第二個運算數餘下的餘數。

2)結果的符號和第一個運算數符號相同。

舉例:a)15%2,因為 15/2 = 7...1b)-15%2,因為 -15/2 = -7...-1

25樓:匿名使用者

這個和咱們數學是一樣的,取餘就是要他的餘數,15除以2餘數為1,結果就是1!

26樓:闇衂の羽鳳

int a,b,c;

a=15,b=2;

printf("c=%d",a%b);

試試就知道了 c等於1

27樓:匿名使用者

%是去餘符號,求餘數我想閣下應該自己會懂

c語言中,有哪些算術運算子?

28樓:哇哎西西

c語言中算術運算子有以下這些

例項:#include

int main()

當上面的**被編譯和執行時,它會產生下列結果:

line 1 - c 的值是 31

line 2 - c 的值是 11

line 3 - c 的值是 210

line 4 - c 的值是 2

line 5 - c 的值是 1

line 6 - c 的值是 21

line 7 - c 的值是 22

擴充套件資料:

c語言中,除了算數運算子,還提供以下運算子:

1、關係運算子

2、邏輯運算子

3、位運算子

4、賦值運算子

5、雜項運算子

運算子優先順序:

c語言中,運算子的運算優先順序共分為15 級。1 級最高,15 級最低。

在表示式中,優先順序較高的先於優先順序較低的進行運算。而在一個運算量兩側的運算子 優先順序相同時,則按運算子的結合性所規定的結合方向處理。

運算子結合性:

c語言中各運算子的結合性分為兩種,即左結合性(自左至右)和右結合性(自右至左)。例如算術運算子的結合性是自左至右,即先左後右。

如有表示式x-y+z 則y 應先與“-”號結合,執行x-y 運算,然後再執行+z 的運算。這種自左至右的結合 方向就稱為“左結合性”。而自右至左的結合方向稱為“右結合性”。

最典型的右結合 性運算子是賦值運算子。如x=y=z,由於“=”的右結合性,應先執行y=z 再執行x=(y=z)運算。c語言運算子中有不少為右結合性,應注意區別,以避免理解錯誤。

優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。

所有的優先順序中,只有三個優先順序是從右至左結合的,它們是單目運算子、條件運算子、賦值運算子。其它的都是從左至右結合。

具有最高優先順序的其實並不算是真正的運算子,它們算是一類特殊的操作。()是與函式相關,與陣列相關,而->及.是取結構成員。

其次是單目運算子,所有的單目運算子具有相同的優先順序,因此在我認為的 真正的運算子中它們具有最高的優先順序,又由於它們都是從右至左結合的,因此*p++與*(p++)等效是毫無疑問的。

29樓:之何勿思

七個,如下:

+   -   *    /    %     ++      --

雙目運算子+和-具有相同的優先順序,它們的優先順序比運算子*、/和%的優先順序低,而運算子*、/和%的優先順序又比單目運算子 +(正號) 和 -(負號) 的優先順序低。

30樓:晟睿教育

基本表示式 1級

基本表示式(primary expressions),主要是用於運算子之間,做為運算數。

標識,常量,字串文字量,優先順序提升表示式最優先執行。

優先順序提升表示式是指圓括號包圍的表示式,如“( expression )”

字尾表示式 2級

postfix-expression [ expression ],陣列下標運算。

postfix-expression ( argument-expression-list),函式呼叫,括號內的引數可選。

postfix-expression . identifier,成員訪問,

postfix-expression -> identifier,成員訪問,->號之前應為指標。

postfix-expression ++,字尾自增

postfix-expression --,字尾自減

int unamed = ; //unamed表示一個不可見的變數名。

int* a = unamed;

單目/一元運算 3級

++ unary-expression 字首自增

-- unary-expression 字首自減

unary-operator cast-expression 單目轉型表式式, 包括 取地址& ,提領 * , 正號+ ,負號- 位反~ 邏輯否!。

sizeof unary-expression 求型別長度,對表示式求型別長度

sizeof ( type-name ) 求型別長度

強制型別表示式 4級

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

乘法表示式 5級

“ * ” 乘法運算子;“ / ”除法運算子;“ % ” 取餘運算子。

加法運算子 6級

“ + ”加法運算子;“ - ”減法運算子。

移位運算子 7級

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

關係運算子 8級

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

相等運算子 9級

“ == ”等於運算子;“ != ”不等於運算子。

位與運算子 10級

“ & ”按位與運算子

位異或運算子 11級

“ ∧ ”按位異或運算子(bitwise exclusive or operator)。

位或運算子 12 級

“ | ”按位或運算子(bitwise inclusive or operator)。

邏輯與運算子 13級

“&&”邏輯與運算子。

邏輯或運算子 14 級

“ || ”邏輯或運算子。

三元條件運算子 15級

? :條件運算子。

賦值運算子 16 級

=、 +=、 -=、 *=、 /=、 %=、 &=、 ^=、 |=、 <<=、 >>=賦值運算子。

逗號運算子 17級

“,”逗號運算子。

c語言求模運算子的使用方法,C語言中, 取餘運算子也叫取模運算子,用它對某數取餘後,對這個數有影響麼?

求模也就是數學上所謂的除法中的餘數 5 2的話就等於1啦 這是算閏年的程式吧 這裡的求模僅僅是判斷能不能被4整除。17 4 4.1 17 4 1 取模運算子 一個表示式的值除以另一個表示式的值,並返回餘數。number1 number2 引數number1任何整數表示式。number2任何整數表示式...

關於c語言裡的求餘求餘是怎麼算的如果731那麼

7 3 1相當於7 3 2餘1 同理4 6 4相當於4 6 0餘4 餘數一定是大於零的 知道了吧 求餘,就是求餘數啊 4 6 的結果是4 為什麼c語言中7 3就會等於1怎麼來的 c語言中 符號叫取餘數,你應該還記得小學數學裡邊,7 3 2.1那個1就是餘數,和這個運算子對應的是 就是除,7 3的結果...

c語言中34是怎麼運算的結果是多少啊

結果是1 是邏輯操作符號 與 當兩邊都為非0時,整個結果為1。邏輯與操作符 真值表 邏輯與操作符可以應用於任何型別的運算元,而不僅僅是布林值。在有一個運算元不是布林值的情況下,邏輯與操作就不一定返回布林值 此時,他遵循下列規則 1.如果第一個運算元是物件,則返回第二個運算元 2.如果第二個運算元是物...