C語言中各種操作符的詳細(xì)介紹(純干貨?。?/h1>
更新時(shí)間:2021年06月20日 14:55:13 作者:我會(huì)一直在um
指令系統(tǒng)的每一條指令都有一個(gè)操作符,它表示該指令應(yīng)進(jìn)行什么樣性質(zhì)的操作,不同的指令用操作符這個(gè)字段的不同編碼來表示,每個(gè)編碼代表一種指令,這篇文章主要給大家介紹了關(guān)于C語言中操作符的相關(guān)資料,需要的朋友可以參考下
算術(shù)操作符
主要是 ( + - * / %) 五種算數(shù)操作符。
1、除了 % 操作符之外,其他的幾個(gè)操作符可以作用于整數(shù)和浮點(diǎn)數(shù)。
2、 對(duì)于 / 操作符如果兩個(gè)操作數(shù)都為整數(shù),執(zhí)行整數(shù)除法。而只要有浮點(diǎn)數(shù)執(zhí)行的就是浮點(diǎn)數(shù)除
法。
3.、% 操作符的兩個(gè)操作數(shù)必須為整數(shù)。返回的是整除之后的余數(shù)。

當(dāng)除數(shù)為小數(shù)時(shí),int類型只會(huì)截取整數(shù)部分。

移位操作符
- << 左移操作符
- >> 右移操作符
左移操作符 移位規(guī)則: 左邊拋棄、右邊補(bǔ)0

右移操作符 移位規(guī)則:
首先右移運(yùn)算分兩種:
1. 邏輯移位 左邊用0填充,右邊丟棄
2. 算術(shù)移位 左邊用原該值的符號(hào)位填充,右邊丟棄
警告⚠ :對(duì)于移位運(yùn)算符,不要移動(dòng)負(fù)數(shù)位,這個(gè)是標(biāo)準(zhǔn)未定義的。
例如:
int num = 10;
num>>-1;//error
位操作符
& 按位與 :1 1為1;1 0為0;0 0為0。
| 按位或 :1 1為1;1 0為1;0 0為0。
^ 按位異或 : 1 1為0;1 0為1;0 0為0。
注:他們的操作數(shù)必須是整數(shù)。
練習(xí)一下:
#include <stdio.h>
int main(){
int num1 = 1;
int num2 = 2;
num1 & num2;
num1 | num2;
num1 ^ num2;
return 0;
}
不能創(chuàng)建臨時(shí)變量(第三個(gè)變量),實(shí)現(xiàn)兩個(gè)數(shù)的交換。
#include <stdio.h>
int main(){
int a = 10;
int b = 20;
a = a^b;
b = a^b;
a = a^b;
printf("a = %d b = %d\n", a, b);
return 0;
}
賦值操作符
"="
注意:這是賦值操作符,并不是等于。c語言中的等于是"=="。

復(fù)合賦值符 += -= *= /= %= >>= <<= &= |= ^= 符合賦值操作符與其他運(yùn)算符一樣的道理。這樣寫更加簡潔

單目操作符
! 邏輯反操作
- 負(fù)值
+ 正值
& 取地址
* 間接訪問操作符(解引用操作符)
sizeof 操作數(shù)的類型長度(以字節(jié)為單位)
~ 對(duì)一個(gè)數(shù)的二進(jìn)制按位取反
-- 前置、后置--
++ 前置、后置++
//++和--運(yùn)算符
//前置++和--
//前置++和--:
#include <stdio.h>
int main()
{
int a = 10;
int x = ++a;
//先對(duì)a進(jìn)行自增,然后對(duì)使用a,也就是表達(dá)式的值是a自增之后的值。x為11。
int y = --a;
//先對(duì)a進(jìn)行自減,然后對(duì)使用a,也就是表達(dá)式的值是a自減之后的值。y為10;
return 0;
}
//后置++和--
#include <stdio.h>
int main()
{
int a = 10;
int x = a++;
//先對(duì)a先使用,再增加,這樣x的值是10;之后a變成11;
int y = a--;
//先對(duì)a先使用,再自減,這樣y的值是11;之后a變成10;
return 0;
}
(類型) 強(qiáng)制類型轉(zhuǎn)換
強(qiáng)制類型轉(zhuǎn)換是通過類型轉(zhuǎn)換運(yùn)算來實(shí)現(xiàn)的。其一般形式為:(類型說明符)(表達(dá)式)其功能是把表達(dá)式的運(yùn)算結(jié)果強(qiáng)制轉(zhuǎn)換成類型說明符所表示的類型。自動(dòng)轉(zhuǎn)換是在源類型和目標(biāo)類型兼容以及目標(biāo)類型廣于源類型時(shí)發(fā)生一個(gè)類型到另一類的轉(zhuǎn)換。例如: (float) a 把a(bǔ)轉(zhuǎn)換為浮點(diǎn)型,(int)(x+y) 把x+y的結(jié)果轉(zhuǎn)換為整型。
關(guān)系操作符
>
>=
<
<=
!= 用于測試“不相等”
== 用于測試“相等”
這些關(guān)系運(yùn)算符比較簡單,但是我們要注意一些運(yùn)算符使用時(shí)候的陷阱
警告: 在編程的過程中 == 和 = 不小心寫錯(cuò),導(dǎo)致的錯(cuò)誤。
邏輯操作符
&& 邏輯與 || 邏輯或
區(qū)分 邏輯與 和 按位與 區(qū)分 邏輯或 和 按位或

#include <stdio.h>
int main(){
int i = 0,a=0,b=2,c =3,d=4;
i = a++ && ++b && d++;
//i = a++||++b||d++;
printf("a = %d\n b = %d\n c = %d\nd = %d\n", a, b, c, d);
return 0;
}
條件操作符
exp1 ? exp2 : exp3

總結(jié)
到此這篇關(guān)于C語言中各種操作符的文章就介紹到這了,更多相關(guān)C語言操作符介紹內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
-
Qt實(shí)現(xiàn)字幕滾動(dòng)效果的示例代碼
這篇文章主要介紹了Qt如何利用QTimer實(shí)現(xiàn)字幕滾動(dòng)功能,并且可以實(shí)現(xiàn)自行更改文本內(nèi)容、自適應(yīng)文本大小、自由調(diào)整速度等功能,感興趣的可以學(xué)習(xí)一下 2022-06-06
-
C++中Operator類型強(qiáng)制轉(zhuǎn)換成員函數(shù)解析
轉(zhuǎn)換函數(shù)定義了由<類型說明符1>到<類型說明符2>之間的映射關(guān)系??梢姡D(zhuǎn)換函數(shù)是用來將一種類型的數(shù)據(jù)轉(zhuǎn)換成為另一種類型 2013-09-09
最新評(píng)論
算術(shù)操作符
主要是 ( + - * / %) 五種算數(shù)操作符。
1、除了 % 操作符之外,其他的幾個(gè)操作符可以作用于整數(shù)和浮點(diǎn)數(shù)。
2、 對(duì)于 / 操作符如果兩個(gè)操作數(shù)都為整數(shù),執(zhí)行整數(shù)除法。而只要有浮點(diǎn)數(shù)執(zhí)行的就是浮點(diǎn)數(shù)除
法。
3.、% 操作符的兩個(gè)操作數(shù)必須為整數(shù)。返回的是整除之后的余數(shù)。
當(dāng)除數(shù)為小數(shù)時(shí),int類型只會(huì)截取整數(shù)部分。
移位操作符
- << 左移操作符
- >> 右移操作符
左移操作符 移位規(guī)則: 左邊拋棄、右邊補(bǔ)0
右移操作符 移位規(guī)則:
首先右移運(yùn)算分兩種:
1. 邏輯移位 左邊用0填充,右邊丟棄
2. 算術(shù)移位 左邊用原該值的符號(hào)位填充,右邊丟棄
警告⚠ :對(duì)于移位運(yùn)算符,不要移動(dòng)負(fù)數(shù)位,這個(gè)是標(biāo)準(zhǔn)未定義的。
例如:
int num = 10;
num>>-1;//error
位操作符
& 按位與 :1 1為1;1 0為0;0 0為0。
| 按位或 :1 1為1;1 0為1;0 0為0。
^ 按位異或 : 1 1為0;1 0為1;0 0為0。
注:他們的操作數(shù)必須是整數(shù)。
練習(xí)一下:
#include <stdio.h> int main(){ int num1 = 1; int num2 = 2; num1 & num2; num1 | num2; num1 ^ num2; return 0; }
不能創(chuàng)建臨時(shí)變量(第三個(gè)變量),實(shí)現(xiàn)兩個(gè)數(shù)的交換。
#include <stdio.h> int main(){ int a = 10; int b = 20; a = a^b; b = a^b; a = a^b; printf("a = %d b = %d\n", a, b); return 0; }
賦值操作符
"="
注意:這是賦值操作符,并不是等于。c語言中的等于是"=="。
復(fù)合賦值符 += -= *= /= %= >>= <<= &= |= ^= 符合賦值操作符與其他運(yùn)算符一樣的道理。這樣寫更加簡潔
單目操作符
! 邏輯反操作
- 負(fù)值
+ 正值
& 取地址
* 間接訪問操作符(解引用操作符)
sizeof 操作數(shù)的類型長度(以字節(jié)為單位)
~ 對(duì)一個(gè)數(shù)的二進(jìn)制按位取反
-- 前置、后置--
++ 前置、后置++
//++和--運(yùn)算符 //前置++和-- //前置++和--: #include <stdio.h> int main() { int a = 10; int x = ++a; //先對(duì)a進(jìn)行自增,然后對(duì)使用a,也就是表達(dá)式的值是a自增之后的值。x為11。 int y = --a; //先對(duì)a進(jìn)行自減,然后對(duì)使用a,也就是表達(dá)式的值是a自減之后的值。y為10; return 0; } //后置++和-- #include <stdio.h> int main() { int a = 10; int x = a++; //先對(duì)a先使用,再增加,這樣x的值是10;之后a變成11; int y = a--; //先對(duì)a先使用,再自減,這樣y的值是11;之后a變成10; return 0; }
(類型) 強(qiáng)制類型轉(zhuǎn)換
強(qiáng)制類型轉(zhuǎn)換是通過類型轉(zhuǎn)換運(yùn)算來實(shí)現(xiàn)的。其一般形式為:(類型說明符)(表達(dá)式)其功能是把表達(dá)式的運(yùn)算結(jié)果強(qiáng)制轉(zhuǎn)換成類型說明符所表示的類型。自動(dòng)轉(zhuǎn)換是在源類型和目標(biāo)類型兼容以及目標(biāo)類型廣于源類型時(shí)發(fā)生一個(gè)類型到另一類的轉(zhuǎn)換。例如: (float) a 把a(bǔ)轉(zhuǎn)換為浮點(diǎn)型,(int)(x+y) 把x+y的結(jié)果轉(zhuǎn)換為整型。
關(guān)系操作符
>
>=
<
<=
!= 用于測試“不相等”
== 用于測試“相等”
這些關(guān)系運(yùn)算符比較簡單,但是我們要注意一些運(yùn)算符使用時(shí)候的陷阱
警告: 在編程的過程中 == 和 = 不小心寫錯(cuò),導(dǎo)致的錯(cuò)誤。
邏輯操作符
&& 邏輯與 || 邏輯或
區(qū)分 邏輯與 和 按位與 區(qū)分 邏輯或 和 按位或
#include <stdio.h> int main(){ int i = 0,a=0,b=2,c =3,d=4; i = a++ && ++b && d++; //i = a++||++b||d++; printf("a = %d\n b = %d\n c = %d\nd = %d\n", a, b, c, d); return 0; }
條件操作符
exp1 ? exp2 : exp3
總結(jié)
到此這篇關(guān)于C語言中各種操作符的文章就介紹到這了,更多相關(guān)C語言操作符介紹內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Qt實(shí)現(xiàn)字幕滾動(dòng)效果的示例代碼
這篇文章主要介紹了Qt如何利用QTimer實(shí)現(xiàn)字幕滾動(dòng)功能,并且可以實(shí)現(xiàn)自行更改文本內(nèi)容、自適應(yīng)文本大小、自由調(diào)整速度等功能,感興趣的可以學(xué)習(xí)一下2022-06-06C++中Operator類型強(qiáng)制轉(zhuǎn)換成員函數(shù)解析
轉(zhuǎn)換函數(shù)定義了由<類型說明符1>到<類型說明符2>之間的映射關(guān)系??梢姡D(zhuǎn)換函數(shù)是用來將一種類型的數(shù)據(jù)轉(zhuǎn)換成為另一種類型2013-09-09