国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - C/C++ - C語(yǔ)言 操作符分類解析與使用

C語(yǔ)言 操作符分類解析與使用

2022-02-24 14:34bite_xwg C/C++

C 語(yǔ)言提供了豐富的操作符,有:算術(shù)操作符,移位操作符,位操作符,邏輯操作符,逗號(hào)表達(dá)式。讓我們通讀本篇來(lái)詳細(xì)了解吧

xwg今天就帶各位大佬來(lái)了解一波C語(yǔ)言的操作符。

操作符的分類

常見(jiàn)的操作符分別如下:

  • 算術(shù)操作符
  • 移位操作符
  • 位操作符
  • 邏輯操作符
  • 逗號(hào)表達(dá)式

算術(shù)操作符

算術(shù)操作符是我們最常用的操作符:+ - * / %
注:

  • 除了 % 操作符之外,其他的幾個(gè)操作符可以作用于整數(shù)和浮點(diǎn)數(shù)。
  • 對(duì)于 / 操作符如果兩個(gè)操作數(shù)都為整數(shù),執(zhí)行整數(shù)除法,而只要有浮點(diǎn)數(shù)執(zhí)行的就是浮點(diǎn)數(shù)除法。
  • % 操作符的兩個(gè)操作數(shù)必須為整數(shù)。返回的是整除之后的余數(shù)。

移位操作符

移位操作符分為左移操作符和右移操作符,移位操作符的操作對(duì)象只能是整數(shù),且所謂的移位是對(duì)于整數(shù)的二進(jìn)制位進(jìn)行移位:
左移操作符:<<
右移操作符:>>

左移操作符:
移位規(guī)則:左邊拋棄,右邊補(bǔ)0右移操作符:
移位規(guī)則:
2.1 邏輯移位
左邊用0填充,右邊丟棄
2.2算術(shù)移位
左邊用原該值的符號(hào)位填充,右邊丟棄
注:大部分編譯器右移都是執(zhí)行算術(shù)右移。

注:對(duì)于移位運(yùn)算符,不要移動(dòng)負(fù)數(shù)位,這個(gè)是標(biāo)準(zhǔn)未定義的。

位操作符

位操作符有:

& —— 按位與
| —— 按位或
^ —— 按位異或

位操作符的操作數(shù)必須是整數(shù),且是對(duì)其二進(jìn)制的補(bǔ)碼進(jìn)行操作。
異或的基本性質(zhì):

  • 0異或上任何數(shù)為其本身:0^2=2
  • 任何數(shù)異或上其本身等于0:2^2=0

例:不創(chuàng)建臨時(shí)變量使兩個(gè)數(shù)進(jìn)行交換

?
1
2
3
4
5
6
7
8
9
10
11
#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;
}

邏輯操作符

邏輯操作符分為:

&& —— 邏輯與
|| —— 邏輯或

邏輯與:
必須使 && 左右兩個(gè)表達(dá)式都為真

邏輯或:
|| 兩邊有一個(gè)式子為真即為真

逗號(hào)表達(dá)式

逗號(hào)表達(dá)式是用逗號(hào)隔開(kāi)的多個(gè)表達(dá)式:
exp1, exp2, exp3, …expN
逗號(hào)表達(dá)式,從左向右依次執(zhí)行,整個(gè)表達(dá)式的結(jié)果是最后一個(gè)表達(dá)式的結(jié)果。

表達(dá)式求值

表達(dá)式求值的順序一部分是由操作符的優(yōu)先級(jí)和結(jié)合性決定,但是,有些表達(dá)式的操作數(shù)在求值的過(guò)程中可能需要轉(zhuǎn)換為其他類型。

隱式類型轉(zhuǎn)換

C語(yǔ)言的整型算術(shù)運(yùn)算總是至少以缺省整型類型的精度來(lái)進(jìn)行的,為了獲得這個(gè)精度,表達(dá)式中的字符和短整型操作數(shù)在使用之前被轉(zhuǎn)換為普通整型,這種轉(zhuǎn)換稱為整型提升。

實(shí)例:

?
1
2
3
char a,b,c;
...
a = b + c;

b和c的值被提升為普通整型,然后再執(zhí)行加法運(yùn)算,加法運(yùn)算完成之后,結(jié)果將被截?cái)?,然后再存?chǔ)于a中。

整形提升是按照變量的數(shù)據(jù)類型的符號(hào)位來(lái)提升的,若操作對(duì)象為正數(shù)則補(bǔ)0,操作對(duì)象為負(fù)數(shù)則補(bǔ)1。

負(fù)數(shù)的整形提升
char c1 = -1;
變量c1的二進(jìn)制位(補(bǔ)碼)中只有8個(gè)比特位:
1111111
因?yàn)?char 為有符號(hào)的 char
所以整形提升的時(shí)候,高位補(bǔ)充符號(hào)位,即為1
提升之后的結(jié)果是:
11111111111111111111111111111111

正數(shù)的整形提升
char c2 = 1;
變量c2的二進(jìn)制位(補(bǔ)碼)中只有8個(gè)比特位:
00000001
因?yàn)?char 為有符號(hào)的 char
所以整形提升的時(shí)候,高位補(bǔ)充符號(hào)位,即為0
提升之后的結(jié)果是:
00000000000000000000000000000001

無(wú)符號(hào)整形提升,高位補(bǔ)0

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
int main()
{
    char a = 5;
  //存在char、short計(jì)算時(shí)發(fā)生整形提升
    //00000000000000000000000000000101
    //截?cái)嗪?/code>
    //00000101 - a
    //整型提升后(整形提升是按照變量的數(shù)據(jù)類型的符號(hào)位來(lái)提升的)
    //00000000000000000000000000000101
    char b = 126;
    //00000000000000000000000001111110
    //01111110 - b
    //整型提升后
    //00000000000000000000000001111110
    char c = a + b;
    //00000000000000000000000000000101
    //00000000000000000000000001111110
    //00000000000000000000000010000011
    //11111011 - c
    //整形提升后
    //11111111111111111111111110000011 - 補(bǔ)碼
    //11111111111111111111111110000010 - 反碼
    //10000000000000000000000001111101 - 原碼
    printf("%d\n", a + b);
}

算術(shù)轉(zhuǎn)換

如果某個(gè)操作符的各個(gè)操作數(shù)屬于不同的類型,那么除非其中一個(gè)操作數(shù)的轉(zhuǎn)換為另一個(gè)操作數(shù)的類型,否則操作就無(wú)法進(jìn)行。

下面的層次體系稱為尋常算術(shù)轉(zhuǎn)換:

long double
double
float
unsigned long int
long int
unsigned int
int

如果某個(gè)操作數(shù)的類型在上面這個(gè)列表中排名較低,那么首先要轉(zhuǎn)換為另外一個(gè)操作數(shù)的類型后執(zhí)行運(yùn)算。

操作符的屬性

復(fù)雜表達(dá)式的求值有三個(gè)影響的因素。

  • 操作符的優(yōu)先級(jí)
  • 操作符的結(jié)合性
  • 是否控制求值順序。

兩個(gè)相鄰的操作符先執(zhí)行哪個(gè)?取決于他們的優(yōu)先級(jí)。如果兩者的優(yōu)先級(jí)相同,取決于他們的結(jié)合性。

到此這篇關(guān)于C語(yǔ)言 操作符分類解析與使用的文章就介紹到這了,更多相關(guān)C語(yǔ)言 操作符內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/weixin_56372949/article/details/121341614

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 欧美一级欧美三级在线观看 | 色综合网在线 | 国产欧美视频在线 | 天堂资源在线 | hh99me在线观看| 午夜久久乐 | 黄色片在线 | 另类久久| 亚洲国产精品久久 | 亚洲欧美精品一区二区三区 | 毛片一级 | 国产欧美日韩一区二区三区 | 精品无码久久久久久久动漫 | 亚州ava| 国产一区二区av在线 | 久久国产精品电影 | 在线播放中文字幕 | 精品麻豆剧传媒av国产九九九 | 野狼在线社区2017入口 | 成人亚洲 | 91久久久久久久久 | 精品久久一二三区 | 91精品国产综合久久香蕉922 | 九色国产 | 成人不卡在线观看 | 一区二区三区四区在线 | 亚洲成年人网站在线观看 | 久久久一二三 | 亚洲一一在线 | 国产一级久久久久 | 国产福利在线观看 | 99看| 精品久久久久久久久久久 | 国产二区视频 | 精品一区二区久久久久久久网站 | 中文字幕精品一区二区精品 | 不卡二区| 蜜桃精品在线 | 欧美电影免费网站 | 亚洲精品国产成人 | 欧美精品网站 |