C語(yǔ)言操作符怎么應(yīng)用

這篇“C語(yǔ)言操作符怎么應(yīng)用”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“C語(yǔ)言操作符怎么應(yīng)用”文章吧。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),永吉企業(yè)網(wǎng)站建設(shè),永吉品牌網(wǎng)站建設(shè),網(wǎng)站定制,永吉網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,永吉網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

1.在進(jìn)行除法運(yùn)算的時(shí)候,如果兩個(gè)操作數(shù)都是整數(shù),那么結(jié)果就是整數(shù)。要想得到的結(jié)果是浮點(diǎn)數(shù),至少有一個(gè)操作數(shù)是浮點(diǎn)數(shù),最后的結(jié)果也是定義為浮點(diǎn)類型。

C語(yǔ)言操作符怎么應(yīng)用

2.在進(jìn)行取模運(yùn)算的時(shí)候,兩個(gè)操作數(shù)都必須是整數(shù),不能是小數(shù)。

3.右移分為算術(shù)右移和邏輯右移:

  • 算術(shù)右移

    右邊丟棄,左邊補(bǔ)原符號(hào)位

  •  邏輯右移

    右邊丟棄,左邊補(bǔ)0

左移操作符:左邊丟棄,右邊補(bǔ)0

在我們C語(yǔ)言編程環(huán)境中,一般使用的都是算術(shù)右移

整數(shù)在內(nèi)存的存儲(chǔ)都是以補(bǔ)碼的形式存儲(chǔ)的,正整數(shù)的源碼,反碼,補(bǔ)碼三者相同。

4.不能創(chuàng)建臨時(shí)變量,交換兩個(gè)數(shù)

  • 加減法(因?yàn)閍,b都是整型,所以存儲(chǔ)范圍都是有限的,當(dāng)a,b的值過(guò)大的時(shí)候,就有可能會(huì)產(chǎn)生溢出)

#define _CRT_SRCURE_NO_WARNINGS

#include <stdio.h>

int main()

{

    int a=3;

        int b=5;

        a=a+b;

        b=a-b;

        a=a-b;

        printf("a=%d\nb=%d\n",a,b);

        return 0;

}

  • 異或的方法

#define _CRT_SRCURE_NO_WARNINGS

#include <stdio.h>

int main()

{

    int a=3;

    int b=5;

    a=a^b;

    b=a^b;

    a=a^b;

    printf("a=%d\nb=%d\n",a,b);

    return 0;

}

5.求一個(gè)整數(shù)存儲(chǔ)在內(nèi)存中二進(jìn)制中1的個(gè)數(shù)

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

#include <stdlib.h>

int main()

{

       int a = 0;

       int i = 0;

       int count = 0;

       printf("請(qǐng)輸入一個(gè)數(shù):>");

       scanf("%d", &a);

       for (i = 0; i < 32; i++)

       {

              if ((a>>i & 1) == 1)

              {

                      count++;

              }

       }

       printf("%d\n", count);

       return 0;

}

6.sizeof 運(yùn)算符只負(fù)責(zé)計(jì)算空間大小,即使里面進(jìn)行了運(yùn)算,但是不會(huì)真的改變其大小

C語(yǔ)言操作符怎么應(yīng)用

7.邏輯與有一個(gè)特點(diǎn)就是,從左向右與的時(shí)候,一旦左邊出現(xiàn)假,即結(jié)果為0,那么右邊的操作便不再進(jìn)行。

邏輯或的特點(diǎn)是一旦最左邊為真,即為1,那么右邊的操作便不再進(jìn)行

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

#include <stdlib.h>

int main()

{

       int i= 0,a=0,b=2,c=3,d=4;

       i = a++ && ++b && d++;

       printf("a=%d b=%d c=%d d=%d\n",a,b,c,d);

       return 0;

}

結(jié)果為1 2 3 4 

8.三目操作符

exp1? exp2:exp3;如果表達(dá)式1為真,就執(zhí)行表達(dá)式2,為假就執(zhí)行表達(dá)式3

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

exp1,exp2,exp3,exp4,exp5……

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

10.訪問(wèn)一個(gè)結(jié)構(gòu)的成員

  • 結(jié)構(gòu)體.成員名

  • 結(jié)構(gòu)體指針->成員名

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

#include <stdlib.h>

struct Student

{

       char name[10];

       int age;

       char sex[5];

       double score;

};//定義一個(gè)結(jié)構(gòu)體

void set_age1(struct Student stu)

{

       stu.name = 18;

}

void set_age2(struct Student*  pStu)

{

       pStu->age = 18;

}

int main()

{

       struct Student stu;//在這里,struct Student就類似于int,是一種類型,被稱為結(jié)構(gòu)體類型

       struct Student* pstu = &stu;//定義一個(gè)結(jié)構(gòu)體指針,因?yàn)閟tu是結(jié)構(gòu)體變量,所以存儲(chǔ)其地址的指針類型叫做結(jié)構(gòu)體指針

       stu.age = 20;//結(jié)構(gòu)體成員訪問(wèn)

       set_age1(stu);

       pstu->age = 20;//結(jié)構(gòu)體成員訪問(wèn)

       set_age2(pstu);

       return 0;

}

11.隱式類型轉(zhuǎn)換

  • 整形提升是按照變量的數(shù)據(jù)類型的符號(hào)位來(lái)提升的。即如果符號(hào)位為1,那么前面就補(bǔ)1,如果符號(hào)位為0,那么前面就補(bǔ)0。凡是對(duì)操作數(shù)進(jìn)行運(yùn)行算的,都會(huì)進(jìn)行整型提升。

整型提升的意義:

表達(dá)式的整型運(yùn)算要在CPU的相應(yīng)運(yùn)算去件內(nèi)執(zhí)行,CPU內(nèi)整型運(yùn)算器(ALU)的操作數(shù)的字節(jié)長(zhǎng)度一般就是int的字節(jié)長(zhǎng)度,同時(shí)也是CPU的通用寄存器的長(zhǎng)度。

因此,即使兩個(gè)char類型的相加,在CPU執(zhí)行時(shí)實(shí)際上也要先轉(zhuǎn)換為CPU內(nèi)整型操作數(shù)的標(biāo)準(zhǔn)長(zhǎng)度。

通用CPU是難以直接實(shí)現(xiàn)兩個(gè)8比特字節(jié)直接相加運(yùn)算(雖然及其指令中可能有這種字節(jié)相加指令)。所以,表達(dá)式中各種長(zhǎng)度可能小于int長(zhǎng)度的整型值,都必須先轉(zhuǎn)換為int或unsigned int,然后才能送入CPU去執(zhí)行。

  • 算術(shù)類型轉(zhuǎn)換

   long double

   double

   float

   unsigned long int

   long int

   unsigned int

   int

從下到上類型等級(jí)依次提高,如果不同等級(jí)同時(shí)出現(xiàn),要轉(zhuǎn)換成等級(jí)較高的類型。

12.操作符的屬性

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

        1.操作符的優(yōu)先級(jí)

        2.操作符的結(jié)合性

        3.是否控制求值順序

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

以上就是關(guān)于“C語(yǔ)言操作符怎么應(yīng)用”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站題目:C語(yǔ)言操作符怎么應(yīng)用
網(wǎng)址分享:http://bm7419.com/article44/psdhhe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、網(wǎng)站收錄、小程序開(kāi)發(fā)用戶體驗(yàn)、品牌網(wǎng)站建設(shè)、虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)