日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

C語言超全面覆蓋操作符知識點(diǎn)_C 語言

作者:我會一直在的 ? 更新時(shí)間: 2022-08-17 編程語言

算術(shù)操作符

主要是 (+ - * / %) 五種算數(shù)操作符。

1、除了 % 操作符之外,其他的幾個(gè)操作符可以作用于整數(shù)和浮點(diǎn)數(shù)。

2、對于 / 操作符如果兩個(gè)操作數(shù)都為整數(shù),執(zhí)行整數(shù)除法。而只要有浮點(diǎn)數(shù)執(zhí)行的就是浮點(diǎn)數(shù)除 法。

3、% 操作符的兩個(gè)操作數(shù)必須為整數(shù)。返回的是整除之后的余數(shù)。

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

移位操作符

<< 左移操作符

>> 右移操作符

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

右移操作符 移位規(guī)則:

首先右移運(yùn)算分兩種:

1. 邏輯移位 左邊用0填充,右邊丟棄

2. 算術(shù)移位 左邊用原該值的符號位填充,右邊丟棄

警告? :對于移位運(yùn)算符,不要移動負(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é)為單位)

~ 對一個(gè)數(shù)的二進(jìn)制按位取反

-- 前置、后置--

++ 前置、后置++

//++和--運(yùn)算符
//前置++和--
 //前置++和--:
 #include <stdio.h>
 int main()
 {
 int a = 10;
 int x = ++a;
 //先對a進(jìn)行自增,然后對使用a,也就是表達(dá)式的值是a自增之后的值。x為11。
 int y = --a;
 //先對a進(jìn)行自減,然后對使用a,也就是表達(dá)式的值是a自減之后的值。y為10;
 return 0;
 }
 //后置++和--
 #include <stdio.h>
 int main()
 {
 int a = 10;
 int x = a++;
 //先對a先使用,再增加,這樣x的值是10;之后a變成11;
 int y = a--;
 //先對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)換成類型說明符所表示的類型。自動轉(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

原文鏈接:https://blog.csdn.net/qq_56627079/article/details/117955955

欄目分類
最近更新