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

詳解C++編程中運(yùn)算符的使用

 更新時(shí)間:2015年09月07日 12:05:50   投稿:goldensun  
這篇文章主要介紹了詳解C++編程中運(yùn)算符的使用,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下

C++的運(yùn)算符十分豐富,使得C++的運(yùn)算十分靈活方便。例如把賦值號(hào)(=)也作為運(yùn)算符處理,這樣,a=b=c=4就是合法的表達(dá)式,這是與其他語(yǔ)言不同的。C++提供了以下運(yùn)算符:
算術(shù)運(yùn)算符
+(加)  -(減)  *(乘)  /(除)  %(整除求余)  ++(自加)  --(自減)
關(guān)系運(yùn)算符
>(大于)  <(小于)   ==(等于)  >=(大于或等于)  <=(小于或等于)  !=(不等于)
邏輯運(yùn)算符
&&(邏輯與)  ||(邏輯或)   !(邏輯非)
位運(yùn)算符
<<(按位左移)  >>(按位右移)  &(按位與)  |(按位或)   ^(按位異或)  ~(按位取反)
賦值運(yùn)算符 (=及其擴(kuò)展賦值運(yùn)算符)
條件運(yùn)算符 (?:)
逗號(hào)運(yùn)算符 (,)
指針運(yùn)算符 (*)
引用運(yùn)算符和地址運(yùn)算符 (&)
求字節(jié)數(shù)運(yùn)算符(sizeof)
強(qiáng)制類型轉(zhuǎn)換運(yùn)算符( (類型) 或類型( ))
成員運(yùn)算符 (.)
指向成員的運(yùn)算符 (->)
下標(biāo)運(yùn)算符 ([ ])
其他 (如函數(shù)調(diào)用運(yùn)算符())

基本的算術(shù)運(yùn)算符

在本章中主要介紹算術(shù)運(yùn)算符與算術(shù)表達(dá)式,賦值運(yùn)算符與賦值表達(dá)式,逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式,其他運(yùn)算符將在以后各章中陸續(xù)介紹。

需要說明,兩個(gè)整數(shù)相除的結(jié)果為整數(shù),如5/3的結(jié)果值為1,舍去小數(shù)部分。但是,如果除數(shù)或被除數(shù)中有一個(gè)為負(fù)值,則舍入的方向是不固定的。例如,-5/3在有的C++系統(tǒng)上得到結(jié)果-1,有的C++系統(tǒng)則給出結(jié)果-2。多數(shù)編譯系統(tǒng)采取“向零取整”的方法,即5/3的值等于1,-5/3的值等于-1,取整后向零靠攏。

如果參加+,  -,  *, / 運(yùn)算的兩個(gè)數(shù)中有一個(gè)數(shù)為float型數(shù)據(jù),則運(yùn)算的結(jié)果是double型,因?yàn)镃++在運(yùn)算時(shí)對(duì)所有float型數(shù)據(jù)都按double型數(shù)據(jù)處理。
算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級(jí)與結(jié)合性

用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象(也稱操作數(shù))連接起來的、符合C++語(yǔ)法規(guī)則的式子,稱C++算術(shù)表達(dá)式。運(yùn)算對(duì)象包括常量、變量、函數(shù)等。例如,下面是一個(gè)合法的C++算術(shù)表達(dá)式:

  a*b/c-1.5+'a'

C++語(yǔ)言規(guī)定了運(yùn)算符的優(yōu)先級(jí)和結(jié)合性。在求解表達(dá)式時(shí),先按運(yùn)算符的優(yōu)先級(jí)別高低次序執(zhí)行,例如先乘除后加減。如有表達(dá)式a-b*c,b的左側(cè)為減號(hào),右側(cè)為乘號(hào),而乘號(hào)優(yōu)先于減號(hào),因此,相當(dāng)于a-(b*c)。如果在一個(gè)運(yùn)算對(duì)象兩側(cè)的運(yùn)算符的優(yōu)先級(jí)別相同,如a-b+c,則按規(guī)定的“結(jié)合方向”處理。

C++規(guī)定了各種運(yùn)算符的結(jié)合方向(結(jié)合性),算術(shù)運(yùn)算符的結(jié)合方向?yàn)椤白宰笾劣摇?,即先左后右,因此b先與減號(hào)結(jié)合,執(zhí)行a-b的運(yùn)算,再執(zhí)行加c的運(yùn)算?!白宰笾劣业慕Y(jié)合方向”又稱“左結(jié)合性”,即運(yùn)算對(duì)象先與左面的運(yùn)算符結(jié)合。以后可以看到有些運(yùn)算符的結(jié)合方向?yàn)椤白杂抑磷蟆?,即右結(jié)合性(例如賦值運(yùn)算符)。關(guān)于“結(jié)合性”的概念在其他一些高級(jí)語(yǔ)言中是沒有的,是C和C++的特點(diǎn)之一,希望能弄清楚。

表達(dá)式中各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算

在表達(dá)式中常遇到不同類型數(shù)據(jù)之間進(jìn)行運(yùn)算,如:

  10+'a'+1.5-8765.1234*'b'

在進(jìn)行運(yùn)算時(shí),不同類型的數(shù)據(jù)要先轉(zhuǎn)換成同一類型,然后進(jìn)行運(yùn)算。轉(zhuǎn)換的規(guī)則按圖所示。

假設(shè)已指定i為整型變量,f為float變量,d為double型變量,e為long型,有下面表達(dá)式:

  10+'a'+i*f-d/e

運(yùn)算次序?yàn)椋?br /> 進(jìn)行10+'a'的運(yùn)算,先將'a'轉(zhuǎn)換成整數(shù)97,運(yùn)算結(jié)果為107。
進(jìn)行i*f的運(yùn)算。先將i與f都轉(zhuǎn)換成double型,運(yùn)算結(jié)果為double型。
整數(shù)107與i*f的積相加。先將整數(shù)107轉(zhuǎn)換成雙精度數(shù)(小數(shù)點(diǎn)后加若干個(gè)0,即107.000…00),結(jié)果為double型。
將變量e轉(zhuǎn)換成double型,d/e結(jié)果為double型。
將10+'a'+i*f的結(jié)果與d/e的商相減,結(jié)果為double型。

上述的類型轉(zhuǎn)換是由系統(tǒng)自動(dòng)進(jìn)行的。

C++自增和自減運(yùn)算符(--和++)
在C和C++中,常在表達(dá)式中使用自增(++)和自減(--)運(yùn)算符,他們的作用是使變量的值增1或減1,如:
++i(在使用i之前,先使i的值加1,如果i的原值為3,則執(zhí)行j=++i后,j的值為4)
--i (在使用i之前,先使i的值減1,如果i的原值為3,則執(zhí)行j=--i后,j的值為2)
i++ (在使用i之后,使i的值加1,如果i的原值為3,則執(zhí)行j=i++后,j的值為3,然后i變?yōu)?)
i--(在使用i之后,使i的值減1,如果i的原值為3,則執(zhí)行j=i--后,j的值為3,然后i變?yōu)?)
++i是先執(zhí)行i=i+1后,再使用i的值;而i++是先使用i的值后,再執(zhí)行i=i+1。

正確地使用++和--,可以使程序簡(jiǎn)潔?清晰?高效。請(qǐng)注意:
自增運(yùn)算符(++)和自減運(yùn)算符(--)只能用于變量,而不能用于常量或表達(dá)式。
++和--的結(jié)合方向是“自右至左”。
自增運(yùn)算符(++)和自減運(yùn)算符(--)使用十分靈活,但在很多情況下可能出現(xiàn)歧義性,產(chǎn)生“意想不到”的副作用。
自增(減)運(yùn)算符在C++程序中是經(jīng)常見到的,常用于循環(huán)語(yǔ)句中,使循環(huán)變量自動(dòng)加1。也用于指針變量,使指針指向下一個(gè)地址。

相關(guān)文章

  • C++實(shí)現(xiàn)掃雷小游戲

    C++實(shí)現(xiàn)掃雷小游戲

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)掃雷小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • 簡(jiǎn)述C++的復(fù)雜性

    簡(jiǎn)述C++的復(fù)雜性

    這篇文章主要介紹了簡(jiǎn)述C++的復(fù)雜性,幫助大家更好的理解和認(rèn)識(shí)c++編程語(yǔ)言,感興趣的朋友可以了解下
    2020-08-08
  • 基于C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的12306火車售票系統(tǒng)

    基于C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的12306火車售票系統(tǒng)

    火車售票系統(tǒng)給我們的出行帶來了極大的方面,那么他基于編程是如何實(shí)現(xiàn)的呢?今天小編抽時(shí)間給大家分享一個(gè)使用C語(yǔ)言寫的一個(gè)簡(jiǎn)單的火車票系統(tǒng),感興趣的朋友參考下
    2016-09-09
  • C?++迭代器iterator在string中使用方法介紹

    C?++迭代器iterator在string中使用方法介紹

    迭代器是一種檢查容器內(nèi)元素并遍歷元素的數(shù)據(jù)類型。迭代器是一個(gè)變量,提供對(duì)一個(gè)容器中的對(duì)象的(間接)訪問方法,并且定義了容器中對(duì)象的范圍。迭代器可以指向容器中的某個(gè)元素,通過迭代器就可以對(duì)非數(shù)組(存儲(chǔ)空間不連續(xù))的數(shù)據(jù)結(jié)構(gòu)進(jìn)行遍歷
    2022-10-10
  • 詳解C++中多態(tài)的底層原理

    詳解C++中多態(tài)的底層原理

    要了解C++多態(tài)的底層原理需要我們對(duì)C指針有著深入的了解,這個(gè)在打印虛表的時(shí)候就可以見功底,所以快來跟隨小編一起學(xué)習(xí)一下吧
    2022-04-04
  • C語(yǔ)言中深度優(yōu)先搜索(DFS)算法的示例詳解

    C語(yǔ)言中深度優(yōu)先搜索(DFS)算法的示例詳解

    這篇文章主要通過兩個(gè)簡(jiǎn)單的示例為大家詳細(xì)介紹一下C語(yǔ)言中深度優(yōu)先搜索(DFS)算法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-02-02
  • 淺談c++性能測(cè)試工具google benchmark

    淺談c++性能測(cè)試工具google benchmark

    本文將會(huì)介紹如何使用模板以及參數(shù)生成器來批量生成測(cè)試用例,簡(jiǎn)化繁瑣的性能測(cè)試代碼
    2021-06-06
  • C++如何計(jì)算二進(jìn)制數(shù)中1的個(gè)數(shù)

    C++如何計(jì)算二進(jìn)制數(shù)中1的個(gè)數(shù)

    這篇文章主要介紹了C++如何計(jì)算二進(jìn)制數(shù)中1的個(gè)數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • ubuntu20.04中vscode使用ROS的詳細(xì)方法

    ubuntu20.04中vscode使用ROS的詳細(xì)方法

    這篇文章主要介紹了ubuntu20.04?vscode使用ROS的詳細(xì)方法,主要包括在vscode安裝擴(kuò)展創(chuàng)建工作文件夾的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-10-10
  • C++初級(jí)線程管理

    C++初級(jí)線程管理

    這篇文章主要介紹了C++初級(jí)線程管理,C++11中提供了std::thread庫(kù),本文將從線程的啟動(dòng)、線程等待、線程分離、線程傳參、線程識(shí)別等幾個(gè)方面介紹初級(jí)線程管理的知識(shí),需要的朋友可以參考一下
    2021-12-12

最新評(píng)論

孟村| 哈尔滨市| 双牌县| 安阳县| 安龙县| 清水河县| 宜宾县| 睢宁县| 资阳市| 阜城县| 丹棱县| 城市| 扎鲁特旗| 色达县| 邢台县| 阿鲁科尔沁旗| 佳木斯市| 金山区| 平定县| 安庆市| 惠来县| 佛教| 周宁县| 桑植县| 遂溪县| 思南县| 墨玉县| 宽甸| 惠州市| 孝感市| 大丰市| 宜春市| 盱眙县| 迭部县| 巴南区| 明星| 当涂县| 叙永县| 玉树县| 邢台市| 桃江县|