精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

EasyC++,C++算術運算符與類型轉換

開發 后端
對于除法來說,我們要注意的是它是區分類型的。當我們的除數和被除數都是整數的時候,得到的結果也會是一個整數。所以10 ? 3得到的結果就是3,它的小數部分會被拋棄。想要得到小數結果,只需要除數或者被除數當中有一個是浮點型即可。

[[430027]]

大家好,我是梁唐。

這是EasyC++系列第8篇,我們來聊聊C++中的算術運算符。

想要更好的閱讀體驗,可以點擊下方「閱讀原文」訪問github倉庫~

算術運算符

C++當中提供5種基礎的算術運算符:加法、減法、乘法、除法和取模。

我們來看下代碼:

  1. int a = 10, b = 3; 
  2.  
  3. cout << a + b << endl;  // 13 
  4. cout << a - b << endl;  // 7 
  5. cout << a * b << endl;  // 30 
  6. cout << a / b << endl;  // 3 
  7. cout << a % b << endl;  // 1 

前面三個都非常簡單,著重講下最后兩種。

對于除法來說,我們要注意的是它是區分類型的。當我們的除數和被除數都是整數的時候,得到的結果也會是一個整數。所以10 ? 3得到的結果就是3,它的小數部分會被拋棄。想要得到小數結果,只需要除數或者被除數當中有一個是浮點型即可。

取模運算符求的就是一個數除以另外一個數之后的余數。這里要注意,在其他語言當中并沒有對取模運算的限制,而在C++當中,嚴格限制了取模運算的對象只能是整數。否則編譯的時候會報錯:

優先級

C++當中算術運算符的優先級和我們從小數學課本里是一樣的,先乘除再加減。

如:

  1. 3 + 4 * 5; // 23 
  2. 120 / 4 * 5; // 150 
  3. 20 * 5 + 4 * 6; // 124 

即當乘除法和加減法同時出現時,先算乘除后算加減。如果有多個運算符同樣優先級,那么先左后右。

類型轉換

前面說了,同樣是除法,根據除數和被除數類型的不同,得到的結果也不同。這樣固然非常靈活,但是除了更加復雜給學習、使用者帶來負擔之外,也會使得計算機的操作更加復雜。

比如我們一共有11種整型和3種浮點型,那么我們在計算的時候就會出現大量不同的情況。比如short + short,short + int,short + double等等,那么編譯器就需要對這么多種情況都進行處理,這顯然是非常麻煩的。為了解決這個問題,C++會自動執行許多類型轉換。

下面我們對這些情況進行一一討論。

  • 初始化和賦值時的轉換

當我們對某個值進行初始化或者賦值的時候,C++會自動將賦予的值轉化成接收者的類型。比如:

  1. float a = 3.5f; 
  2. double b = a; 

在上面這個例子當中,我們將一個float類型的變量a賦值給了double類型的b。那么編譯器會將a的值拓展成64位的double再賦值給b。也就是說不會影響b的類型。

這樣將長度更短的變量轉化成更長變量的類型轉換除了多占用一點內存之外,不會導致什么問題。但反向操作可能就會出錯,比如:

  1. long long a = 0x3f3f3f3f3f3f3f; 
  2. int b = a; 

在上面的例子當中,我們將一個long long賦值給了int,由于a的數值非常大超過了int能夠承載的范圍,進行這樣的賦值之后,編譯器并不會報錯(甚至不會有警告),但將會導致結果錯誤。b變量將不可能再和a變量相等。

再比如將float變量賦值給int的時候,同樣也會有類似的問題,所以在進行賦值的時候,當兩個變量的類型不同時,千萬要當心。

  • 使用花括號進行轉換

這是C++ 11的新特性,使用大括號進行初始化,這種操作被稱為列表初始化。

這種方式的好處和壞處都很明顯,好處是它不允許變量長度縮窄的情況,壞處則是又增加了學習的成本。例如,不允許將浮點型轉換成整型。在不同的整型之間以及整型轉化成浮點型的操作可能被允許,取決于編譯器知道目標變量能夠正確地存儲賦給它的值。比如可以將int類型賦值給long,因為long總是至少與int一樣長,反向操作則會被禁止。

  1. int a = 0x3f3f3f3f; 
  2. long b = {a};   // 允許 
  3.  
  4. long a = 0x3f3f3f3f; 
  5. int b = {a};    // 禁止 

關于列表初始化,C++ primer當中還列舉了一個非常有意思的case:

  1. const int x = 55; 
  2. char c = {x};   // 允許 
  3.  
  4. int x = 55; 
  5. char c = {x}; // 禁止 
  6.  
  7. const int x = 1255; 
  8. char c = {x};   // 禁止 
  9.  
  10. const int x = 1255; 
  11. char c = x;  // 允許會警告 

這是為什么呢?因為我們加了const修飾之后,編譯器就明確知道了x的值,就等于55,它在char類型的范圍內,所以允許將它轉化成char。如果不加const,那么在編譯器看來x是一個int型的變量,它的范圍要大于char,所以會禁止。即使我們加了const修飾,如果x的值過大,超過char的范圍,也同樣會被禁止。

表達式中轉換

當一個表達式當中出現多個變量類型的時候,C++也會進行轉換。由于可能涉及的情況非常多,使得這個轉換的規則也會比較復雜。

表達式時C++會將bool、char、unsigned char、signed char和short全部轉換為int

對于bool類型來說,true會被轉化成1,false轉換成0,其他類型的轉換應該都很好理解,都是將范圍更小的變量轉化成范圍更大的int,這種轉換稱作整型提升。因為通常int類型都是計算機最自然的類型,也意味著計算機在處理int的時候,處理的速度最快。

將不同類型進行運算的時候,也會做一些轉換。比如將int和float相加的時候,由于涉及到兩種類型,其中范圍較小的那個會被轉換成較大的類型。比如如果我們計算9.0 / 5,那么編譯器會先將5轉化成5.0,再進行除法運算,這樣得到的結果自然也是一個double。

C++11的規范中除了一個類型轉換的校驗表,我們可以參考一下校驗表理解一下類型轉換的過程。

  • 如果有一個數類型是long double,則將另外一個數也轉成long double
  • 否則,如果有一個數類型是double,則將另外一個數也轉成double
  • 否則,如果有一個數類型是float,則將另外一個數也轉成float
  • 否則說明所有操作數都是整數,執行整型提升

強制類型轉換

C++當中允許開發者手動強制對變量的類型進行轉換,這也是C++的設計思路,規則嚴謹,但也允許推翻規則追求靈活度。

強制類型轉換的方式有兩種寫法:

  1. int a; 
  2. (long) a; 
  3. long (a); 

這兩行代碼都是將一個int型的a轉換成long型的,上面的是C語言的寫法,底下一行是C++的寫法。

還有一點要注意就是轉換的順序,我們來看一個例子:

  1. int a = 11.99 + 19.99; 
  2. cout << a << endl; 
  3. int b = int(11.99) + int(19.99); 
  4. cout << b << endl; 

在這段代碼當中a和b輸出的結果是不同的,a輸出的結果是31,而b是30。

這是因為第一行代碼是先計算的加法,得到31.98,再通過類型轉換將31.98轉換成int。對于浮點數向整型的轉換,C++會直接抹掉小數部分,所以得到的結果是31。而第二行代碼當中,我們是先進行的類型轉換,11.99和19.99分別被轉換成了11和19,相加得到的結果也就是30了。

這里的一點差別很多新人經常踩坑,千萬注意。

本文轉載自微信公眾號「Coder梁」,可以通過以下二維碼關注。轉載本文請聯系Coder梁公眾號。

 

責任編輯:武曉燕 來源: Coder梁
相關推薦

2021-12-15 10:25:57

C++運算符重載

2021-12-16 10:40:11

C++運算符重載

2021-10-27 16:27:20

C++指針操控

2009-08-11 15:51:08

C#運算符算術運算符

2021-10-31 20:24:24

C++for循環

2021-10-21 18:52:00

C++數組存儲

2021-10-29 09:44:50

C++指針變量

2021-11-01 15:35:31

C++自增自減

2021-12-12 18:13:54

C++This指針

2021-12-29 20:31:40

C++多態指針

2011-07-20 13:34:37

C++

2021-12-14 10:12:58

C++抽象數據

2023-09-07 23:30:47

運算符C++

2021-11-26 00:03:20

C++編譯常量

2021-12-09 10:56:50

函數C++原型

2017-09-05 16:17:35

JavaScript運算轉換

2017-09-13 10:58:51

JavaScript轉換規則

2021-10-26 00:19:51

C++結構體存儲

2021-12-08 10:43:09

C++實現

2021-12-10 10:45:36

C++函數Stock
點贊
收藏

51CTO技術棧公眾號

男人日女人下面视频| 国产精品一区=区| 在线免费播放av| 激情国产在线| av中文字幕在线不卡| 欧美精品一区二区三区国产精品| 佐山爱在线视频| 金瓶狂野欧美性猛交xxxx| 成人福利在线看| 日本伊人精品一区二区三区介绍 | 精品美女在线观看| 一道本在线观看视频| 亚洲经典一区二区| 免费日韩一区二区| 久久躁狠狠躁夜夜爽| 最新版天堂资源在线| 暖暖成人免费视频| 亚洲日本青草视频在线怡红院 | 大奶一区二区三区| 色一区在线观看| 在线观看国产一区| 日本韩国在线观看| 麻豆国产91在线播放| 欧美激情三级免费| 丁香激情五月少妇| 操欧美女人视频| 在线观看av一区| 人人妻人人澡人人爽欧美一区双| 你懂的在线看| 国产传媒日韩欧美成人| 国产精品mp4| 欧美黑吊大战白妞| 精品久久影院| 亚洲国产精品成人av| 亚洲一级免费在线观看| 阿v视频在线| 亚洲激情自拍偷拍| 亚洲午夜精品福利| 亚洲AV无码乱码国产精品牛牛 | www.日本在线观看| 蜜桃av一区二区| 欧美性受xxxx白人性爽| 日本一级二级视频| 成人情趣视频网站| 亚洲欧美成人一区二区在线电影| 亚洲妇熟xx妇色黄蜜桃| 456成人影院在线观看| 亚洲高清免费在线| 精品国产一区二区三区在线| jizz亚洲| 久久精品欧美一区二区三区不卡| 国产精品sss| 国产理论视频在线观看| 亚洲伦伦在线| 久久理论片午夜琪琪电影网| 国产一区二区视频在线观看免费| 日韩大片在线播放| 亚洲欧美国产制服动漫| 中文字幕精品视频在线| 欧美经典影片视频网站| 91麻豆精品国产自产在线观看一区| 99re在线视频免费观看| free性护士videos欧美| 亚洲综合在线五月| 国产亚洲精品久久久久久久| av小次郎在线| 中文字幕综合网| 色呦呦网站入口| 老司机免费在线视频| 久久免费的精品国产v∧| 精品在线视频一区二区三区| 免费国产黄色片| 成人av资源在线观看| 国产一区二区三区高清| 人妻一区二区三区| 成人动漫中文字幕| 99视频在线免费观看| 精品国产伦一区二区三| 国产a级毛片一区| caoporn国产精品免费公开| 亚洲成人77777| 丁香激情综合五月| 韩国成人动漫在线观看| 同心难改在线观看| 国产午夜精品一区二区三区视频| 日本一区不卡| 免费黄色在线看| 亚洲免费成人av| 欧美视频在线第一页| 丁香花视频在线观看| 亚洲国产视频一区| 国自产拍偷拍精品啪啪一区二区| 美女网站在线看| 色婷婷av久久久久久久| 牛夜精品久久久久久久| 久久免费精品| 日韩国产欧美区| 美国美女黄色片| 亚洲午夜精品一区 二区 三区| 日韩在线观看免费av| 国产探花在线免费观看| 亚洲裸体俱乐部裸体舞表演av| 日韩免费观看视频| 99久久精品国产一区二区成人| 高潮精品一区videoshd| 看高清中日韩色视频| 92国产在线视频| 亚洲免费av观看| 久久成人免费观看| 亚洲男人在线| 日韩高清欧美高清| 天天看天天摸天天操| 1024日韩| 91色在线视频| 日韩精品系列| 亚洲蜜臀av乱码久久精品| 青娱乐自拍偷拍| 少妇精品视频在线观看| 亚洲精品美女在线观看| 国产一级久久久久毛片精品| 欧美二区不卡| 国内免费久久久久久久久久久| 中文精品久久久久人妻不卡| 高清成人在线观看| 一区二区三区四区五区视频| heyzo高清在线| 3751色影院一区二区三区| 国产草草浮力影院| 欧美永久精品| 欧美一区二区色| www.看毛片| 1区2区3区精品视频| 人人妻人人做人人爽| 在线不卡一区| 国产亚洲欧洲高清| 日本免费观看视| 国产真实乱偷精品视频免| 美女主播视频一区| 青青在线视频| 欧美色视频在线| 波多野结衣av在线免费观看| 欧美日韩国产探花| 91在线直播亚洲| 在线免费黄色| 日本高清不卡aⅴ免费网站| 无码人妻久久一区二区三区蜜桃| 久久影视一区| 国产精品丝袜一区二区三区| 亚洲人视频在线观看| 午夜欧美大尺度福利影院在线看| 久久无码人妻一区二区三区| 日韩欧美大片| 69**夜色精品国产69乱| 日韩中文字幕影院| 亚洲综合丝袜美腿| 樱花草www在线| 91精品国产91久久综合| 国产美女91呻吟求| sese一区| 欧美区一区二区三区| 变态另类ts人妖一区二区| 先锋亚洲精品| 欧美日韩一区在线观看视频| 原纱央莉成人av片| 欧美xingq一区二区| 野花社区视频在线观看| 亚洲一区国产| 精品免费二区三区三区高中清不卡| 久草在线视频网站| 亚洲国产美女精品久久久久∴| 日韩av女优在线观看| 91污在线观看| 一本大道熟女人妻中文字幕在线| 奇米影视777在线欧美电影观看| 久久国产精品影片| 黄色美女一级片| 性感美女极品91精品| 37p粉嫩大胆色噜噜噜| 丝袜亚洲另类丝袜在线| 久久精品日产第一区二区三区| 国产精品高颜值在线观看| 国产视频精品va久久久久久| 手机看片久久久| 中国av一区二区三区| 欧美日韩理论片| 亚洲xxx拳头交| av一区二区三区在线观看| 91超碰在线免费| 亚洲另类图片色| 亚洲手机在线观看| 国产欧美视频一区二区三区| 中文字幕在线观看日| 欧美一区二区三区免费看| 国产伦精品一区二区三区四区免费| av中文字幕在线看| 亚洲性av网站| a视频免费在线观看| 午夜久久久久久久久| 91成人在线免费视频| 国产又粗又猛又爽又黄91精品| 五月天激情图片| 久久人人爽人人爽人人片av不| 欧美自拍视频在线| 超碰在线免费播放| 精品亚洲男同gayvideo网站| 91亚洲欧美激情| 亚洲丰满少妇videoshd| 国产在线免费av| 成人黄色大片在线观看 | 国产精品亚洲第一区| 超碰在线免费公开| 亚洲欧美日韩中文在线制服| 国产精品怡红院| 欧美日韩午夜剧场| 欧美风情第一页| 久久色视频免费观看| 一级黄色特级片| 在线午夜精品| 一区二区三区四区久久| 香蕉精品久久| 亚洲xxx大片| 亚洲va中文在线播放免费| 欧美人成在线视频| 丁香婷婷在线| 精品粉嫩aⅴ一区二区三区四区| 午夜一级黄色片| 亚洲一区日韩精品中文字幕| 99在线视频免费| 成人精品国产福利| 一区二区三区国产好的精华液| 亚洲欧美日韩在线观看a三区| 亚洲国产高清国产精品| 日韩三区视频| 国产精品一区二区三区四区五区 | www.日日操| 在线日韩中文| 成人毛片100部免费看| 99久久视频| 日韩hmxxxx| 欧美a一欧美| 国产伦视频一区二区三区| 大胆国模一区二区三区| 国产精品最新在线观看| 国产精品av一区二区三区| 国内精品久久久| 超碰在线中文字幕| 久久夜色精品国产亚洲aⅴ| www 日韩| 中文字幕日韩精品在线| 青青草观看免费视频在线| 亚洲精品美女网站| 视频污在线观看| 亚洲国产精品人人爽夜夜爽| 亚洲精品喷潮一区二区三区| 日韩一区二区不卡| 国产成人精品白浆久久69| 欧美一区二区视频在线观看| 91高潮大合集爽到抽搐| 欧美日韩激情在线| 97超碰资源站| 欧美一区永久视频免费观看| 亚洲精品一区二三区| 一本一道久久a久久精品综合蜜臀| 97免费在线观看视频| 亚洲国产综合人成综合网站| 黄色一级片在线免费观看| 国产精品国产三级国产三级人妇| 日本不卡一区视频| 亚洲精选视频在线| 黄色一级片在线| 亚洲18色成人| 亚洲国产成人精品激情在线| 五月婷婷激情综合| 国内免费精品视频| 一本到不卡精品视频在线观看 | 在线电影院国产精品| 日本欧美www| 欧美日韩国产不卡| 国产av一区二区三区| 亚洲国产欧美一区二区三区同亚洲 | 中文字幕中文字幕精品| 日本精品国语自产拍在线观看| 国产精品一在线观看| 日韩少妇中文字幕| 国产国产精品| 成年人网站国产| 国产精品v日韩精品v欧美精品网站 | 国产一区视频免费观看| 免费不卡在线观看| 国产亚洲色婷婷久久| 99riav一区二区三区| 999久久久国产| 五月综合激情网| 国产伦精品一区二区三区视频痴汉| 亚洲国产成人av在线| 91caoporn在线| 97国产精品人人爽人人做| 精品亚洲a∨| 精品在线视频一区二区| 中文字幕人成人乱码| 亚洲中文字幕久久精品无码喷水| 粉嫩嫩av羞羞动漫久久久| 日本精品久久久久中文| 欧美日韩亚洲精品一区二区三区| 国产又粗又猛又爽又黄的视频一| 亚洲精美色品网站| 成人在线免费看片| 国产成人久久精品| 丝袜连裤袜欧美激情日韩| 国产大尺度在线观看| 日韩成人一区二区| 大乳护士喂奶hd| 一区二区三区美女| 91国产免费视频| 中文字幕日韩精品在线观看| 成人亚洲欧美| 国产一区在线观| 亚洲无线一线二线三线区别av| 艹b视频在线观看| 久久精品亚洲精品国产欧美| 日本中文字幕免费| 日韩美女视频在线| 国产黄a三级三级三级av在线看| 国产精品成人v| 最近国产精品视频| 日韩免费视频播放| 高清成人在线观看| 久久视频免费看| 日韩精品中文字幕一区| 国产精品一卡二卡三卡| 国产精品日韩欧美大师| 国产aⅴ精品一区二区三区久久| 国内精品视频一区二区三区| 国产精品自拍三区| 国产极品国产极品| 欧美一区二区三区在线观看| 黄色在线免费网站| 成人黄色免费网站在线观看| 色婷婷亚洲mv天堂mv在影片| 一道本视频在线观看| 欧美国产激情二区三区| 这里只有久久精品视频| 中文字幕亚洲欧美日韩在线不卡| 日韩av首页| 亚洲春色在线视频| 久久成人久久爱| xxxx日本少妇| 欧美大片在线观看一区| а√天堂资源官网在线资源| 久久国产精品亚洲va麻豆| 亚洲专区免费| 国产 欧美 在线| 欧美性猛片aaaaaaa做受| 777电影在线观看| 成人网在线免费观看| 最新国产精品久久久| 久久久久久久久久影视| 精品成人在线视频| 欧美美女色图| 国产精品亚洲аv天堂网| 中文字幕一区二区精品区| 欧美污在线观看| 性做久久久久久久免费看| 国外av在线| 91久久国产精品| 韩国久久久久| 亚洲天堂久久新| 精品视频色一区| 日韩av激情| 玛丽玛丽电影原版免费观看1977| 免费成人性网站| 久久久久亚洲AV| 日韩精品免费在线播放| 成人在线免费| 中文字幕免费在线不卡| 成人一级片网址| 99成人精品视频| 九九热精品视频在线播放| 欧洲亚洲一区二区三区| 日韩爱爱小视频| 亚洲一区二区三区四区在线免费观看 | 2018av在线| 亚洲国产另类久久久精品极度| 国产精品 日产精品 欧美精品| 四虎精品永久在线| 日韩中文在线观看| 久久porn| 污污的视频免费观看| 富二代精品短视频| 免费在线午夜视频| 麻豆精品视频| 国产精品影视天天线| 91视频久久久| 欧美黄色www| 欧美精品一区二区久久| 国产吃瓜黑料一区二区| 欧美三级日韩三级| 欧产日产国产精品视频| 麻豆映画在线观看| 国产清纯白嫩初高生在线观看91|