c語言的算術運算符有哪些 各自的功能又是什麼

算術運算符:+(加),-(減),*(乘),/(除),%(取余,操作數必須都是整數)。。
賦值運算符:回=(右值賦值給左值,左值必須是變數)。。
邏輯運算符:||(或),&&(與),!(非),^(或非)。。
位運算符:|(位或),&(位與),!(位非),>>(右移),<<(左移)。。
條件運算符:?:(答如,
a>b?a:b,如果a>b,則值為a,反之值為b)。。

C語言中的運算符大概就這些,具體的用法你可以參考一下書本。

Ⅱ C語言 運算符%是怎麼運算的

1級優先順序左結合
()圓括弧
[]下標運算符
->指向結構體成員運算符內
.結構體成員運算符
2級優容先級右結合
!邏輯非運算符
~按位取反運算符
++自增運算符
--自減運算符
-負號運算符
(類型)類型轉換運算符
*指針運算符
&地址與運算符
sizeof長度運算符
3級優先順序左結合
*乘法運算符
/除法運算符
%取余運算符
4級優先順序左結合
+加法運算符
-減法運算符
5級優先順序左結合
<<左移運算符
>>右移運算符
6級優先順序左結合
<、<=、>、>=關系運算符
7級優先順序左結合
==等於運算符
!=不等於運算符
8級優先順序左結合
&按位與運算符
9級優先順序左結合
^按位或運算符
10級優先順序左結合
|按位異或運算符
11級優先順序左結合
&&邏輯與運算符
12級優先順序左結合
||邏輯或運算符
13級優先順序右結合
?:條件運算符
14級優先順序右結合
=+=-=*
=/=%=
>=<<=
&=^=|=全為賦值運算符
15級優先順序左結合
,逗號運算符

Ⅲ C語言的運算符和表達式有哪些

運算符的種類C語言的運算符可分為以下幾類:
1.算術運算符
用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求余(或稱模運算,%)、自增(++)、自減(--)共七種。
2.關系運算符
用於比較運算。包括大於(>)、小於(<)、等於(==)、 大於等於(>=)、小於等於(<=)和不等於(!=)六種。
3.邏輯運算符
用於邏輯運算。包括與(&&)、或(||)、非(!)三種。
4.位操作運算符
參與運算的量,按二進制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。
5.賦值運算符
用於賦值運算,分為簡單賦值(=)、復合算術賦值(+=,-=,*=,/=,%=)和復合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。
6.條件運算符
這是一個三目運算符,用於條件求值(?:)。
7.逗號運算符
用於把若干表達式組合成一個表達式(,)。
8.指針運算符
用於取內容(*)和取地址(&)二種運算。
9.求位元組數運算符
用於計算數據類型所佔的位元組數(sizeof)。
10.特殊運算符
有括弧(),下標[],成員(→,.)等幾種。
優先順序和結合性
C語言中,運算符的運算優先順序共分為15級。1級最高,15級最低。在表達式中,優先順序較高的先於優先順序較低的進行運算。 而在一個運算量兩側的運算符優先順序相同時, 則按運算符的結合性所規定的結合方向處理。 C語言中各運算符的結合性分為兩種,即左結合性(自左至右)和右結合性(自右至左)。例如算術運算符的結合性是自左至右,即先左後右。如有表達式x-y+z則y應先與「-」號結合, 執行x-y運算,然後再執行+z的運算。這種自左至右的結合方向就稱為「左結合性」。而自右至左的結合方向稱為「右結合性」。 最典型的右結合性運算符是賦值運算符。如x=y=z,由於「=」的右結合性,應先執行y=z再執行x=(y=z)運算。 C語言運算符中有不少為右結合性,應注意區別,以避免理解錯誤。
算術運算符和算術表達式基本的算術運算符
1.加法運算符「+」加法運算符為雙目運算符,即應有兩個量參與加法運算。如a+b,4+8等。具有右結合性。
2.減法運算符「-」減法運算符為雙目運算符。但「-」也可作負值運算符,此時為單目運算,如-x,-5等具有左結合性。
3.乘法運算符「*」雙目運算,具有左結合性。
4.除法運算符「/」雙目運算具有左結合性。參與運算量均為整型時, 結果也為整型,捨去小數。如果運算量中有一個是實型,則結果為雙精度實型。
void main(){
printf("\n\n%d,%d\n",20/7,-20/7);
printf("%f,%f\n",20.0/7,-20.0/7);
}
雙目運算具有左結合性。參與運算量均為整型時, 結果也為整型,捨去小數。如果運算量中有一個是實型,則結果為雙精度實型。 printf("\n\n%d,%d\n",20/7,-20/7);
printf("%f,%f\n",20.0/7,-20.0/7);
本例中,20/7,-20/7的結果均為整型,小數全部捨去。而20.0/7和-20.0/7由於有實數參與運算,因此結果也為實型。
5.求余運算符(模運算符)「%」雙目運算,具有左結合性。要求參與運算的量均為整型。 求余運算的結果等於兩數相除後的余數。
void main(){
printf("%d\n",100%3);
}
雙目運算,具有左結合性。求余運算符% 要求參與運算的量均為整型。本例輸出100除以3所得的余數1。
自增1,自減1運算符
自增1運算符記為「++」,其功能是使變數的值自增1。自減1運算符記為「--」,其功能是使變數值自減1。自增1,自減1運算符均為單目運算,都具有右結合性。可有以下幾種形式: ++i i自增1後再參與其它運算。--i i自減1後再參與其它運算。
i++ i參與運算後,i的值再自增1。
i-- i參與運算後,i的值再自減1。
在理解和使用上容易出錯的是i++和i--。 特別是當它們出在較復雜的表達式或語句中時,常常難於弄清,因此應仔細分析。
void main(){
int i=8;
printf("%d\n",++i);
printf("%d\n",--i);
printf("%d\n",i++);
printf("%d\n",i--);
printf("%d\n",-i++);
printf("%d\n",-i--);
} i<--8
i<--i+1
i<--i-1
i<--i+1
i<--i-1
i<--i+1
i<--i-1 int i=8;
printf("%d\n",++i);
printf("%d\n",--i);
printf("%d\n",i++);
printf("%d\n",i--);
printf("%d\n",-i++);
printf("%d\n",-i--);
i的初值為8
第2行i加1後輸出故為9;
第3行減1後輸出故為8;
第4行輸出i為8之後再加1(為9);
第5行輸出i為9之後再減1(為8) ;
第6行輸出-8之後再加1(為9);
第7行輸出-9之後再減1(為8)
void main(){
int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
printf("%d,%d,%d,%d",p,q,i,j);
}
i<--5,j<--5,p<--0,q<--0
i+i+i--->p,i+1-->i,i+1-->i,i+1-->i
j+1->j,j+1->j,j+1->j,j+j+j->q int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
這個程序中,對P=(i++)+(i++)+(i++)應理解為三個i相加,故P值為15。然後i再自增1三次相當於加3故i的最後值為8。而對於q 的值則不然,q=(++j)+(++j)+(++j)應理解為q先自增1,再參與運算,由於q自增1三次後值為8,三個8相加的和為24,j的最後值仍為8。算術表達式表達式是由常量、變數、函數和運算符組合起來的式子。 一個表達式有一個值及其類型, 它們等於計算表達式所得結果的值和類型。表達式求值按運算符的優先順序和結合性規定的順序進行。 單個的常量、變數、函數可以看作是表達式的特例。
算術表達式
是由算術運算符和括弧連接起來的式子, 以下是算術表達式的例子:
a+b (a*2)/c(x+r)*8-(a+b)/7++isin(x)+sin(y) (++i)-(j++)+(k--)
賦值運算符和賦值表達式
簡單賦值運算符和表達式,簡單賦值運算符記為「=」。由「= 」連接的式子稱為賦值表達式。其一般形式為: 變數=表達式 例如:
x=a+b
w=sin(a)+sin(b)
y=i+++--j 賦值表達式的功能是計算表達式的值再賦予左邊的變數。賦值運算符具有右結合性。因此
a=b=c=5
可理解為
a=(b=(c=5))
在其它高級語言中,賦值構成了一個語句,稱為賦值語句。 而在C中,把「=」定義為運算符,從而組成賦值表達式。 凡是表達式可以出現的地方均可出現賦值表達式。例如,式子x=(a=5)+(b=8)是合法的。它的意義是把5賦予a,8賦予b,再把a,b相加,和賦予x ,故x應等於13。
在C語言中也可以組成賦值語句,按照C語言規定, 任何錶達式在其未尾加上分號就構成為語句。因此如x=8;a=b=c=5;都是賦值語句,在前面各例中我們已大量使用過了。
如果賦值運算符兩邊的數據類型不相同, 系統將自動進行類型轉換,即把賦值號右邊的類型換成左邊的類型。具體規定如下:
1.實型賦予整型,捨去小數部分。前面的例2.9已經說明了這種情況。
2.整型賦予實型,數值不變,但將以浮點形式存放, 即增加小數部分(小數部分的值為0)。
3.字元型賦予整型,由於字元型為一個位元組, 而整型為二個位元組,故將字元的ASCII碼值放到整型量的低八位中,高八位為0。
4.整型賦予字元型,只把低八位賦予字元量。
void main(){
int a,b=322;
float x,y=8.88;
char c1='k',c2;
a=y;
x=b;
a=c1;
c2=b;
printf("%d,%f,%d,%c",a,x,a,c2);
}
int a,b=322;
float x,y=8.88;
char c1='k',c2;
printf("%d,%f,%d,%c",a=y,x=b,a=c1,c2=b);
本例表明了上述賦值運算中類型轉換的規則。a為整型,賦予實型量y值8?88後只取整數8。x為實型,賦予整型量b值322, 後增加了小數部分。字元型量c1賦予a變為整型,整型量b賦予c2 後取其低八位成為字元型(b的低八位為01000010,即十進制66,按ASCII碼對應於字元B)。
復合賦值符及表達式
在賦值符「=」之前加上其它二目運算符可構成復合賦值符。如
+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=。 構成復合賦值表達式的一般形式為: 變數 雙目運算符=表達式 它等效於 變數=變數 運算符 表達式 例如: a+=5 等價於a=a+5x*=y+7 等價於x=x*(y+7)r%=p 等價於r=r%p 復合賦值符這種寫法,對初學者可能不習慣, 但十分有利於編譯處理,能提高編譯效率並產生質量較高的目標代碼。逗號運算符和逗號表達式在
逗號運算符
C語言中逗號「,」也是一種運算符,稱為逗號運算符。 其功能是把兩個表達式連接起來組成一個表達式, 稱為逗號表達式。
其一般形式為: 表達式1,表達式2 其求值過程是分別求兩個表達式的值,並以表達式2的值作為整個逗號表達式的值。
void main(){
int a=2,b=4,c=6,x,y;
y=(x=a+b),(b+c);
printf("y=%d,x=%d",y,x);
}
a<--2,b<--4,c<--6,x<--0,y<--0
x<--a+b,y<---b+c
本例中,y等於整個逗號表達式的值,也就是表達式2的值,x是第一個表達式的值。對於逗號表達式還要說明兩點:
1.逗號表達式一般形式中的表達式1和表達式2 也可以又是逗號表達式。例如: 表達式1,(表達式2,表達式3) 形成了嵌套情形。因此可以把逗號表達式擴展為以下形式: 表達式1,表達式2,…表達式n 整個逗號表達式的值等於表達式n的值。
2.程序中使用逗號表達式,通常是要分別求逗號表達式內各表達式的值,並不一定要求整個逗號表達式的值。
3.並不是在所有出現逗號的地方都組成逗號表達式,如在變數說明中,函數參數表中逗號只是用作各變數之間的間隔符

Ⅳ C語言算術運算符是哪些

七個

+ - * / % ++ --

加減乘除不用我說了吧

"%"求余,就是算除法,值是他的余數

"/"這個是除法,但是有一點注意,兩邊操作數全為整數時,值是取整的。

「++」是自加,比如說i++就是i的值自動加1,規則是i++是鮮賦值再自加,++i是先自加再賦值。舉個例子a=i++這個是先把i的值賦給a,然後i再自加。a=++i是i先自加,然後把自加之後的值賦給a。

「--」是自減,和自加的規則相同,只是值是自動減一。

C語言的運算符可分為以下幾類:
1. 算術運算符:用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求余(或稱模運算,%)、自增(++)、自減(--)共七種。
2. 關系運算符:用於比較運算。包括大於(>)、小於(<)、等於(= =)、大於等於(>=)、小於等於(<=)和不等於(!=)六種。
3. 邏輯運算符:用於邏輯運算。包括與(&&)、或(||)、非(!)三種。
4. 位操作運算符:參與運算的量,按二進制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。
5. 賦值運算符:用於賦值運算,分為簡單賦值(=)、復合算術賦值(+=,-=,*=,/=,%=)和復合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。
6. 條件運算符:這是一個三目運算符,用於條件求值(?:)。
7. 逗號運算符:用於把若干表達式組合成一個表達式(,)。
8. 指針運算符:用於取內容(*)和取地址(&)二種運算。
9. 求位元組數運算符:用於計算數據類型所佔的位元組數(sizeof)。
10. 特殊運算符:有括弧(),下標[],成員(→,.)等幾種。

Ⅳ C語言算術運算符問題

用在實型運算時一般要注意精度的轉換,也可以強制轉換
比如
int i;
float(i);
這樣就可以把整型的i,轉為浮點型
必須注意~~!

Ⅵ c語言中有哪些運算符,各有什麼功能

加法運算符

1、移位運算符

2、 關系運算符

3、相等運算符

4、 位與運算符

5、位異或運算符

6、 位或運算符

7、 邏輯與運算符

8、 邏輯或運算符

9、 三元條件運算符

10、 賦值運算符

12、逗號運算符

13、優先順序

Ⅶ C語言中算術運算符運算對象必須是整型的運算符是

%
模運算,就是數學中所說的取余數。這種運算必須要求運算數為整數

Ⅷ c語言怎麼進行算術運算

#include "stdio.h" void main() { int a,b,c; scanf("%d%d",&a,&b); c=a+b; printf("%d\n",c); getch(); }

具體如下:
1、簡介C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
2、基本介紹
C語言,是一種通用的、過程式的編程語言,廣泛用於系統與應用軟體開發。具有高效、靈活、功能豐富、表達力強和較高的移植性等特點,在程序員中備受青睞。最近25年是使用最為廣泛的編程語言。
3、運算
C語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程序設計語言。在表達式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達式更為簡單,但初學者往往會覺的這種表達式難讀,關鍵原因就是對運算符和運算順序理解不透不全。當多種不同運算組成一個運算表達式,即一個運算式中出現多種運算符時,運算的優先順序和結合規則顯得十分重要。在學習中,對此合理進行分類,找出它們與數學中所學到運算之間的不同點之後,記住這些運算也就不困難了,有些運算符在理解後更會牢記心中,將來用起來得心應手,而有些可暫時放棄不記,等用到時再記不遲。

Ⅸ C語言運算符都有那些

運算符的種類C語言的運算符可分為以下幾類:

1.算術運算符

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

2.關系運算符

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

3.邏輯運算符

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

4.位操作運算符

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

5.賦值運算符

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

6.條件運算符

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

7.逗號運算符

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

8.指針運算符

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

9.求位元組數運算符

用於計算數據類型所佔的位元組數(sizeof)。

10.特殊運算符

有括弧(),下標[],成員(→,.)等幾種。

Ⅹ C語言中,有哪些算術運算符

C語言中算術運算符有以下這些

實例:

#include<stdio.h>

intmain()

{

inta=21;

intb=10;

intc;

c=a+b;

printf("Line 1 - c 的值是 %d ",c);

c=a-b;

printf("Line 2 - c 的值是 %d ",c);

c=a*b;

printf("Line 3 - c 的值是 %d ",c);

c=a/b;

printf("Line 4 - c 的值是 %d ",c);

c=a%b;

printf("Line 5 - c 的值是 %d ",c);

c=a++; // 賦值後再加 1 ,c 為 21,a 為 22

printf("Line 6 - c 的值是 %d ",c);

c=a--; // 賦值後再減 1 ,c 為 22 ,a 為 21

printf("Line 7 - c 的值是 %d ",c);

return0;

}

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

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

(10)c語言的算術運算符擴展閱讀:

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++)等效是毫無疑問的。