最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言各種操作符透徹理解上篇

 更新時(shí)間:2022年02月09日 11:10:52   作者:七憶歲和  
C 語言提供了豐富的操作符,有:算術(shù)操作符,移位操作符,位操作符,賦值操作符。讓我們通讀本篇來詳細(xì)了解吧

前言:在我們程序編寫領(lǐng)域,操作符給我們提供了很多的運(yùn)算便利,但操作符琳瑯滿目,我們要怎樣用好它們呢,下面就帶你來熟悉熟悉這些多樣的操作符。

操作符分類:

算術(shù)操作符 、移位操作符 、位操作符 、賦值操作符 、單目操作符 、關(guān)系操作符 、邏輯操作符 、條件操作符 、逗號(hào)表達(dá)式 、下標(biāo)引用、函數(shù)調(diào)用和結(jié)構(gòu)成員

1.算數(shù)操作符(+、--、*、%、/)

這里我們著重講一下取余(模)%操作符和除法/操作符

#include<stdio.h>
int main()
{
	//取余(模)、除法
	int ret1 = 10 % 3;//取余(模),得到的結(jié)果是相除之后的余數(shù)
	int ret2 = 10 / 3;//除法-得到的結(jié)果是商
 
	printf("ret1=%d\nret2=%d\n", ret1, ret2);
 
	//當(dāng)/(除號(hào))兩端都是整數(shù)的時(shí)候,執(zhí)行的是整數(shù)除法
	//當(dāng)兩端只要有一個(gè)浮點(diǎn)數(shù),執(zhí)行的就是浮點(diǎn)數(shù)的除法
	double ret = 10.0 / 3;
	printf("%lf\n", ret);
 
	return 0;
}

2.移位操作符(左移<< 和 右移>>)

這里注意!!!

移位操作符的操作數(shù)只能是整數(shù),整數(shù)在內(nèi)存中存的是補(bǔ)碼,但最后輸出的,也就是我們看到的,是原碼。

(1)左移

#include<stdio.h>
int main()
{
	//2.移位操作符
	//左移
	int a = 5;
	//把a(bǔ)在內(nèi)存中存儲(chǔ)的二進(jìn)制位向左移動(dòng)2位
	int b = a << 2;
 
	printf("%d\n", b);
	printf("%d\n", a);
}

?計(jì)算演示:

(2)右移

分為算數(shù)右移和邏輯右移,具體是哪種右移取決于編譯器。

算數(shù)右移:右邊丟棄,左邊補(bǔ)原來的符號(hào)位(負(fù)數(shù)右移幾位左邊就添幾個(gè)1)

邏輯右移:右邊丟棄,左邊補(bǔ)0

(常見的編譯器都是算數(shù)右移)

#include<stdio.h>
int main()
{
	int a = 5;
	int b = a >> 2;
	printf("%d\n", b);
    return 0;
}

3.位操作符

我們直接上代碼

#include<stdio.h>
int main()
{
    int a = 3;
	int b = -5;
	int x = a & b;
	int y = a | b;
	int z = a ^ b;
	printf("%d %d %d", x, y, z);
 
	return 0;
}

(1)按位與&

相同為1,不同為0

(2)按位或

只要有1則為1,兩個(gè)同時(shí)為0才為0

(來個(gè)例題)

不能創(chuàng)建臨時(shí)變量(第三個(gè)變量),實(shí)現(xiàn)兩個(gè)數(shù)的交換

第一種,采用算數(shù)操作符來解決

#include<stdio.h>
int main()
{
	int a = 3, b = 5;
	printf("交換前:a=%d b=%d\n", a, b);
	a = a + b;//a+b=8
	b = a - b;//此時(shí)的a=8,b還是5,則b=8-5=3,也就是之前的a
	a = a - b;//次時(shí)的a還是8,而b已經(jīng)賦值為3,所以這時(shí)的a=8-3=5,也就是之前的b
	printf("交換后:a=%d b=%d\n", a, b);
 
	return 0;
}

?但是這種方法不夠完美,當(dāng)a很大,b也很大的時(shí)候,則放不進(jìn)整型里面,存在溢出問題,不能解決所有問題。那么我們就來看下第二種方法:使用異或

(相同的異或?yàn)?,任何數(shù)與0異或還是原的數(shù))

#include<stdio.h>
int main()
{
	int a = 3, b = 5;
	printf("交換前:a=%d b=%d\n", a, b);
	a = a ^ b;
	b = a ^ b;//相當(dāng)于a^b^b=a
	a = a ^ b;//相當(dāng)于a^b^a(此時(shí)的b=a)=b
	printf("交換后:a=%d b=%d\n", a, b);
 
	return 0;
}

?但是這個(gè)方法的可讀性不高,也存在缺陷,如果你有更好的方法記得告訴博主哦!

4.賦值操作符

(1)=,沒什么好講的

這里要提一點(diǎn),連續(xù)賦值(不提倡),但要注意的是等號(hào)兩邊不能同時(shí)為常量

(2)復(fù)合賦值符

+= :a=a+b可以寫成a+=b

?-= :a=a-b可以寫成a-=b

*= :a=a*b可以寫成a*=b

下面以此類推

/= 、%= 、>>= 、<<= 、&= 、|= 、^=

好啦,操作符詳解的上篇今天就到這了,敬請(qǐng)期待下篇?。?!

到此這篇關(guān)于C語言各種操作符透徹理解上篇的文章就介紹到這了,更多相關(guān)C語言 操作符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語言編寫五子棋游戲

    C語言編寫五子棋游戲

    這篇文章主要為大家詳細(xì)介紹了C語言編寫五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • 桶排序算法的理解及C語言版代碼示例

    桶排序算法的理解及C語言版代碼示例

    桶排序算法顧名思義,就是把要排序的元素分桶排序后合并結(jié)果,這里我們就來看一下桶排序算法的理解及C語言版代碼示例:
    2016-07-07
  • 淺談C++中字符串輸入get與getline的區(qū)別

    淺談C++中字符串輸入get與getline的區(qū)別

    這篇文章主要介紹了C++中字符串輸入get與getline的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • C C++ LeetCode題解在二叉樹中增加一行示例詳解

    C C++ LeetCode題解在二叉樹中增加一行示例詳解

    這篇文章主要為大家介紹了C C++ LeetCode題解在二叉樹中增加一行示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • C++設(shè)計(jì)模式之適配器模式(Adapter)

    C++設(shè)計(jì)模式之適配器模式(Adapter)

    這篇文章主要為大家詳細(xì)介紹了C++設(shè)計(jì)模式之適配器模式Adapter,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • C++深入探究友元使用

    C++深入探究友元使用

    采用類的機(jī)制后實(shí)現(xiàn)了數(shù)據(jù)的隱藏與封裝,類的數(shù)據(jù)成員一般定義為私有成員,成員函數(shù)一般定義為公有的,依此提供類與外界間的通信接口。但是,有時(shí)需要定義一些函數(shù),這些函數(shù)不是類的一部分,但又需要頻繁地訪問類的數(shù)據(jù)成員,這時(shí)可以將這些函數(shù)定義為該類的友元函數(shù)
    2022-07-07
  • Visual Studio 2019創(chuàng)建C++ Hello World項(xiàng)目的方法

    Visual Studio 2019創(chuàng)建C++ Hello World項(xiàng)目的方法

    這篇文章主要介紹了Visual Studio 2019創(chuàng)建C++ Hello World項(xiàng)目的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • C/C++中虛函數(shù)詳解及其作用介紹

    C/C++中虛函數(shù)詳解及其作用介紹

    這篇文章主要介紹了C/C++中虛函數(shù)詳解及其作用介紹,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • C語言左旋字符串的三種實(shí)現(xiàn)方式

    C語言左旋字符串的三種實(shí)現(xiàn)方式

    本文章將使用三種思路實(shí)現(xiàn)字符串的左旋(循環(huán)移動(dòng),截取和拼接,逆序反轉(zhuǎn)),文中通過代碼示例和圖文介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下
    2024-03-03
  • Atom安裝配置C/C++詳細(xì)教程

    Atom安裝配置C/C++詳細(xì)教程

    Atom (一款開源的代碼編輯器)是github專門為程序員推出的一個(gè)跨平臺(tái)文本編輯器。這篇文章主要介紹了Atom安裝配置C/C++教程,需要的朋友可以參考下
    2020-05-05

最新評(píng)論

贵南县| 民权县| 永顺县| 宁津县| 宜州市| 昭平县| 南投市| 沙河市| 岚皋县| 泾川县| 砚山县| 宾阳县| 牙克石市| 阳城县| 永胜县| 武冈市| 外汇| 莱阳市| 安达市| 噶尔县| 望奎县| 罗江县| 延庆县| 太康县| 上思县| 芒康县| 蛟河市| 泰来县| 新化县| 和平县| 镇巴县| 苏尼特右旗| 长兴县| 怀化市| 西林县| 温泉县| 河曲县| 顺义区| 嘉峪关市| 抚顺县| 江华|