c語言運算子,C語言 運算子 是怎麼運算的

2022-11-27 09:55:12 字數 6075 閱讀 3584

1樓:

-9/7 是-1.幾,舍位後不是鐵定是-1嗎?----不是的,不能通過舍位來判定,不同的機器結果不同,可能是-1,也可能是-2;

什麼叫向上取整(向下取整)?--向上取整指當計算的結果不為整數時取大於計算結果的整數,向下取整指當計算的結果不為整數時取小於計算結果的整數。當計算結果為整數時直接取整數。

計算結果處於兩個整型數之間,例如說-1和-2之間,向上取整就是-1,向下取整就是-2;

-9%7也同樣是這兩個問題--一個運算元為負數的模運算的情況跟除不一樣(/運算的兩個運算元有一個為負時,其結果一定為負數),求模操作結果值的符號可依據分子(被除數)或分母(除數)的符號而定,如果求模的結果隨分子的符號,則除出來的值向零一側取整;如果求模與分母的符號匹配,則除出來的值向負無窮一側取整。

2樓:匿名使用者

向上取整的結果是大於等於這個數的最小的整數,例如-1.02向上取整是-1

向下取整的結果是小於等於這個數的最大的整數,例如-1.02向下取整是-2

不要以為取整隻有「四捨五入」這一種辦法

ansi c對負數的整除確實允許兩種情況,不過後來的標準把這個規定清楚了

3樓:留戀√凡塵

不會 取決於機器 不同的機器會產生不同的結果

c語言 運算子%是怎麼運算的

4樓:噠噠噠噠蝸牛啊

c語言中%的作用:%作為運算子是用來取餘的

運算子(operator)是可以對資料進行相應操作的符號。如對資料求和操作,用加法運算子 '+',求積操作使用乘法運算子 '*' ,求餘數用運算子'%'。等等

例如 :

一、25%4=1 ;25除以4商6餘數是1

二、33%5=3  ;33除以5商6餘數是3

擴充套件資料:

c語言常用的運算子

1. 算術運算子

用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求餘(或稱模運算,%)、自增(++)、自減(--)共七種。

2.關係運算子

用於比較運算。包括大於(>)、小於(<)、等於(==)、 大於等於(>=)、小於等於(<=)和不等於(!=)六種。

3.邏輯運算子

用於邏輯運算。包括與(&&)、或(||)、非(!)三種。

4.位操作運算子

參與運算的量,按二進位制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。

5.賦值運算子

用於賦值運算,分為簡單賦值(=)、複合算術賦值(+=,-=,*=,/=,%=)和複合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。

6.條件運算子

這是一個三目運算子,用於條件求值(?:)。

7.逗號運算子

用於把若干表示式組合成一個表示式(,)。

8.指標運算子

用於取內容(*)和取地址(&)二種運算。

9.求位元組數運算子

用於計算資料型別所佔的位元組數(sizeof)。

10.特殊運算子

有括號(),下標,成員(→,.)等幾種。

5樓:唐寒夜

1、%是求餘運算子,也叫模除運算子,用於求餘數。

2、%要求兩個運算元均為整數(或可以隱式轉換成整數的型別),%是求餘數的運算,例如7%2=1。

3、舉例:

#include

void main()

執行結果如下圖:

4、%是運算子的一種其他運算子:

(1)算術運算子:* - + / %

(2)關係運算子: > < == != >= <=(3)邏輯運算子:! && ||

(4)位運算子:<< >> ~ | ^ &1、%d整型輸出,%ld長整型輸出,

2、%o以八進位制數形式輸出整數,

3、%x以十六進位制數形式輸出整數,或輸出字串的地址。

4、%u以十進位制數輸出unsigned型資料(無符號數)。注意:%d與%u有無符號的數值範圍,也就是極限的值,不然數值列印出來會有誤。

5、%c用來輸出一個字元,

6、%s用來輸出一個字串,

7、%f用來輸出實數,以小數形式輸出,預設情況下保留小數點6位。

8、%.100f來輸出實數,保留小數點100位。

9、%e以指數形式輸出實數,

10、%g根據大小自動選f格式或e格式,且不輸出無意義的零。

6樓:候鳥飛

%是除法取餘運算。適用於整數與整數運算。否則,不同的編譯器會得不同結果。

'%'為取餘運算子,用於把它前面的整數值或表示式除以其後面的整數值或表示式,結果為不能被後面的整數或表示式整除的最小整數,它後面的數值應該為大於1的正整數。

作為雙目運算子,左右運算元可以是數值,也可以是表示式,但是左右兩邊的運算元必須是整數。

擴充套件資料:c語言的運算子:

1.算術運算子:* - + / %

2.關係運算子: > < == != >= <=3.邏輯運算子:! && ||

4.位運算子:<< >> ~ | ^ &

5.賦值運算子:=及擴充套件賦值運算子

6.條件運算子:?:

7.逗號運算子:,

8.指標運算子:*和&

9.求位元組數運算子:sizeof

10.強制型別轉換運算子:(型別)

11.分量運算子:. ->

12.下標運算子:[ ]

13.其他:如函式呼叫運算子:()

7樓:蕉蕉

%是除法

取餘運算,用於整數與整數運算。否則,不同的編譯器會得不同結果。兩邊的運算量必須為整型,且%後面的運算量不能為0。

'%'為取餘運算子,用於把它前面的整數值或表示式除以其後面的整數值或表示式,結果為不能被後面的整數或表示式整除的最小整數,它後面的數值應該為大於1的正整數。如表中所示的"13%7",就表示13 除以7餘6。

c語言運算子%的操作例項:

輸入#include

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

8樓:匿名使用者

取餘數啊

5%2=1

因為5=2*2+1

9樓:匿名使用者

如a%b

先int a,b;

float d,c;

d=a/b;

c=float(a)/b;

cout<<(c-d);即可

10樓:gta小雞

y>0成立,得1,x==1不成立,得0

3-1>=x+1不成立,得0;0<=y+2成立,得15>2成立,得1;1>7不成立,得0;0>8不成立,得0輸出0,1,0

c語言運算子中問號是什麼意思

11樓:天雲一號

c語言運算子中問號是條件運算子(與冒號組合)。該運算子是c語言中唯一一個三目運算子。

可以通過如下的例項來說明條件運算子的用法:

int a=1, b=3;

int max;

max = a>b ? a : b;   // 如果a>b,則max的值為a,否則max的值為b,也即取a與b中的較大者

12樓:匿名使用者

z=x=y結果z就是y的值

跟下面的if語句等價

if(x>y)z=x;

else z=y;

13樓:匿名使用者

呃,俺學藝不精,不知道你說的是哪個,是不是(?:)呢?

?:是三目運算子

如:a?b:c;

等價於:

if(a) b;

else c;

c語言運算子中的>>是什麼意思?有啥功能?謝謝。

14樓:蘇嘉愛娛樂

>>是右移運算子,移位運算子的一種:程式設計中,位操作運算子的一種。

c語言中位移位運算子是將資料看成二進位制數,對其進行向左或向右移動若干位的運算。位移位運算子分為左移和右移兩種,均為雙目運算子。第一運算物件是移位物件,第二個運算物件是所移的二進位制位數。

位移位運算子的運算物件、運算規則與結果、結合性如表2-16所示。

移位時,移出的位數全部丟棄,移出的空位補入的數與左移還是右移有關。如果是左移,則規定補入的數全部是0;如果是右移,還與被移位的資料是否帶符號有關。若是不帶符號數,則補入的數全部為0;若是帶符號數,則補入的數全部等於原數的最左端位上的原數(即原符號位)。

擴充套件資料

優先順序:

語言中各運算子的結合性分為兩種,即左結合性(自左至右)和右結合性(自右至左)。例如算術運算子的結合性是自左至右,即先左後右。如有表示式x-y+z 則y 應先與「-」號結合,執行x-y 運算,然後再執行+z 的運算。

這種自左至右的結合 方向就稱為「左結合性」。而自右至左的結合方向稱為「右結合性」。最典型的右結合 性運算子是賦值運算子。

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

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

15樓:佼丹厙琬

c語言運算子中問號是條件運算子(與冒號組合)。該運算子是c語言中唯一一個三目運算子。

可以通過如下的例項來說明條件運算子的用法:

int a=1, b=3;

int max;

max = a>b ? a : b; // 如果a>b,則max的值為a,否則max的值為b,也即取a與b中的較大者

16樓:

右移運算子「>>」是雙目運算子。其功能是把「>> 」左邊的運算數的各二進位全部右移若干位,「>>」右邊的數指定移動的位數。

例如:設 a=15,

a>>2

表示把000001111右移為00000011(十進位制3)。

應該說明的是,對於有符號數,在右移時,符號位將隨同移動。當為正數時,最高位補0,而為負數時,符號位為1,最高位是補0或是補1 取決於編譯系統的規定。turbo c和很多系統規定為補1。

17樓:匿名使用者

就是移位指令》明顯向右移

據個例子:

15>>4就是0000 1111向右移動四位前邊補零為0000 0000

如果是有符號數即最高位是1前補1例如8f>>4即為1000 1111右移4位是1111 1000

18樓:匿名使用者

>>是右移位運算

比如 a=0x10>>1就是把0x10的2進位制編碼向右移動1位.

1000 0000 移動後變為0100 0000

關於c語言?:運算子的用法

19樓:

a?b:c這個是條件表示式,也稱三目運算子,表示如果a為真,則表示式值為b,如果a為假,則表示式值為c。

條件表示式語法舉例說明如下:

if(a>b) ; else ;

可用條件表示式寫為

max=(a>b)?a:b;

執行該語句的語義是:如a>b為真,則把a賦予max,否則把b 賦予max。

擴充套件資料使用條件表示式的注意點:

1、條件運算子的運算優先順序低於關係運算子和算術運算子,但高於賦值符。

因此 max=(a>b)?a:b

可以去掉括號而寫為 max=a>b?a:b2、條件運算子?和:是一對運算子,不能分開單獨使用。

3、條件運算子的結合方向是自右至左。

例如: a>b?a:c>d?c:d 應理解為 a>b?a:(c>d?c:d)

C語言運算子是怎麼運算的,C語言運算子

是除法取餘運算。用於整數與整 數運算。否則,不同的編譯器會得不同結內果。為取餘運算子,容用於把它前面的整數值或表示式除以其後面的整數值或表示式,結果為不能被後面的整數或表示式整除的最小整數,它後面的數值應該為大於1的正整數。如 13 7 就表示13 除以7餘6。作為雙目運算子,左右運算元可以是數值,...

c語言運算子是怎麼運算的C語言運算子是怎麼運算的

c語言中 的作用 作為運算子是用來取餘的 運算子 operator 是可以對資料進行相應操作的符號。如對資料求和操作,用加法運算子 求積操作使用乘法運算子 求餘數用運算子 等等 例如 一 25 4 1 25除以4商6餘數是1 二 33 5 3 33除以5商6餘數是3 擴充套件資料 c語言常用的運算子...

C語言運算子問題

在嵌入式環境下,因為記憶體,執行速度等和pc機相比,是有所限制的,所以為了節省空間,提升速度等原因,會使用位操作。至於使用,dwjchdu 已經回答了,可以參照。在程式中節省空間使用方法如下例 define last bit on 0x1 define next bit on 0x2if x las...