精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

www.日本在线观看| 日韩精品一区二区三区在线视频| 激情网站在线| 91捆绑美女网站| 国产精品久久久久一区二区| 欧美三级黄色大片| 欧美日韩一区二区三区四区不卡 | 日本欧美色综合网站免费| 在线免费观看国产精品| 亚洲综合激情在线| 亚洲免费高清视频| 欧美体内she精高潮| 在线中文字幕播放| 亚洲精品视频一区二区| 欧美xxxx黑人又粗又长精品| 国产女人18毛片水18精| 久久福利精品| 欧美高清电影在线看| 久久久久久久毛片| 精品国产午夜肉伦伦影院| 欧美视频三区在线播放| 免费av手机在线观看| 蜜桃av在线免费观看| 久久综合丝袜日本网| 91视频免费进入| www.av88| 丝袜美腿一区二区三区| 久久久久久久久国产| 加勒比婷婷色综合久久| 欧美色蜜桃97| 亚洲欧美国产另类| 日本少妇xxxx| 日韩一二三区在线观看| 欧美视频一区二区在线观看| 92看片淫黄大片一级| 女人天堂av在线播放| 成人免费一区二区三区视频| 神马一区二区影院| 日韩在线免费看| 成人h版在线观看| 99精彩视频在线观看免费| 亚洲熟妇无码久久精品| 日韩成人午夜电影| 国产精品1区2区在线观看| 国产手机在线视频| 99精品视频免费| 欧美激情免费视频| 激情四射综合网| 欧美国产高潮xxxx1819| 欧美成人一区在线| 欧美国产日韩在线观看成人| 99国产精品一区二区| 中文国产成人精品| 亚洲色图日韩精品| 99热在线成人| 久久国产精品99国产精| 欧美特级一级片| 欧美日韩精选| 97国产精品久久| 国产成人无码精品亚洲| 亚洲美女网站| 奇米4444一区二区三区| 一级一片免费看| 日韩成人av影视| 国产精品一区二区久久国产| 中文字幕av久久爽| 韩国精品在线观看| 99re国产视频| 婷婷色在线观看| 国产欧美一区二区精品性色| 性欧美videosex高清少妇| 日韩理伦片在线| 亚洲精品视频自拍| 免费在线观看视频a| 爱情电影社保片一区| 在线观看精品一区| 欧美性受xxxxxx黑人xyx性爽| 国产色99精品9i| 亚洲福利视频免费观看| 亚洲做受高潮无遮挡| 日韩电影在线视频| 米奇精品一区二区三区在线观看| 国产午夜福利片| 美女诱惑一区| 91亚洲国产成人精品性色| 超碰在线播放97| 26uuu国产在线精品一区二区| 亚洲国内在线| 免费在线播放电影| 日本韩国欧美在线| 国产黄色一区二区三区| 日韩激情啪啪| 久久综合伊人77777尤物| www.youjizz.com亚洲| 久久久青草婷婷精品综合日韩| 国产精选久久久久久| www天堂在线| 国产日韩精品一区| 久久久国内精品| 亚洲天堂一区二区| 日韩精品一区二区三区蜜臀| 国产特级黄色录像| 欧美成人一品| 国产精品av在线| 丰满人妻av一区二区三区| 国产欧美日韩激情| 欧美视频在线观看视频| 久久久精品一区二区毛片免费看| 亚洲福利视频在线| 三级av在线免费观看| 欧美一级一区| 福利视频久久| 黄色一级大片在线免费看产| 色婷婷久久综合| www.四虎在线| 91成人看片| 国产精品福利片| 五月天婷婷社区| 亚洲精品久久久蜜桃| 成年人在线观看视频免费| av成人资源| 久久夜精品香蕉| 日韩精品在线一区二区三区| 99久久综合国产精品| 只有这里有精品| 国产成人精品一区二三区在线观看 | 奇米影视亚洲色图| 国产精品日韩精品在线播放 | 9999在线视频| 91精品国产综合久久国产大片| 亚洲黄色小说视频| 国产精品资源| 国产区一区二区三区| av网站在线看| 欧美精品国产精品| 国产黄色片在线| 日本伊人精品一区二区三区观看方式| 好吊色欧美一区二区三区 | 美女又黄又免费的视频| 99国产精品一区二区| 国产男人精品视频| 1区2区3区在线观看| 91久久国产综合久久| 亚洲精品成人无码熟妇在线| 国产一区成人| 精品一区二区三区自拍图片区 | 国产精品观看在线亚洲人成网| 水中色av综合| 一本大道久久a久久精二百| 巨胸大乳www视频免费观看| 99在线精品免费视频九九视 | 国产精品高清在线| 粉嫩一区二区三区国产精品| 欧美系列亚洲系列| 免费精品在线视频| 国产毛片精品国产一区二区三区| 警花观音坐莲激情销魂小说| 美女精品久久| 久久久亚洲欧洲日产国码aⅴ| 韩国av电影在线观看| 精品久久久久久久久久ntr影视| 2一3sex性hd| 久久久一二三| 四虎影视永久免费在线观看一区二区三区| 日韩久久一区二区三区| 在线日韩欧美视频| 国产精品视频在线观看免费| 一级做a爱片久久| 亚洲国产精品第一页| 一本一本久久| 日韩久久不卡| 久久久91麻豆精品国产一区| 欧美激情成人在线视频| 人成在线免费视频| 欧美日韩高清一区二区三区| 黄页网站免费观看| 91视频一区二区| 亚洲欧美自拍另类日韩| 欧美女人交a| 欧美一区二区在线视频观看| 日日夜夜一区| 91国在线精品国内播放| 久久久pmvav| 日韩一区二区三区在线| 人人干人人干人人干| 中文字幕欧美日本乱码一线二线| 四虎成人在线播放| 亚洲专区在线| 免费观看黄色大片| 欧美电影免费网站| 国产在线不卡精品| 久久影院午夜精品| 久久久精品一区二区| 秋霞av鲁丝片一区二区| 欧美日韩一卡二卡| 日韩乱码一区二区| 亚洲丝袜自拍清纯另类| 成人网站免费观看| 国产精品99久久久| 男女男精品视频站| 亚洲国产三级| 亚洲区成人777777精品| 国产精品免费99久久久| 国产精品毛片一区视频| 欧美成人毛片| 青青久久av北条麻妃海外网| 羞羞网站在线免费观看| 中文字幕无线精品亚洲乱码一区 | 夜夜嗨av一区二区三区网页| 国产美女免费无遮挡| 国产成人综合网| 亚洲欧洲日本精品| 亚洲视频二区| 国产精品久久久久久久久电影网| 日韩精品一区二区三区免费观影 | 欧美性猛xxx| 免费无码毛片一区二区app| 国产精品午夜在线观看| 精品无码国产一区二区三区51安| 精品在线免费观看| 天天影视综合色| 久久综合图片| 亚洲熟妇无码另类久久久| 欧美日韩视频| 一二三四中文字幕| 色综合天天爱| 日韩资源av在线| 偷拍亚洲色图| 久久久精品国产一区二区三区| 2023国产精华国产精品| 91精品一区二区| 视频欧美精品| 国产精品一区二区三| 欧美一级二级视频| 国产精品h片在线播放| 成人av观看| 日产日韩在线亚洲欧美| 欧美日韩视频网站| 欧洲精品久久久| 中文字幕人成乱码在线观看 | 亚洲精品乱码日韩| 国产精品稀缺呦系列在线| 91大神在线观看线路一区| 国产激情999| 久久99久久99精品免观看软件| 奇米成人av国产一区二区三区| 男人最爱成人网| 人体精品一二三区| 日韩中文视频| 成人免费视频a| 欧美视频三区| 国产精品免费一区二区三区观看| baoyu135国产精品免费| 国产在线视频欧美一区二区三区| 欧美成人一区在线观看| 欧美日韩亚洲综合一区二区三区激情在线| 最新国产一区| 水蜜桃亚洲精品| 香蕉综合视频| 男人天堂av片| 久热精品在线| 黄大色黄女片18第一次| 国产乱色国产精品免费视频| 欧美一区二区三区影院| av成人免费在线观看| 波多野结衣一本| 亚洲欧美中日韩| 青娱乐91视频| 欧美性xxxxxxxxx| 波多野结衣爱爱| 7777精品伊人久久久大香线蕉最新版| 国产www免费观看| 精品奇米国产一区二区三区| 瑟瑟在线观看| www国产亚洲精品久久网站| 在线xxxx| 日本视频久久久| va天堂va亚洲va影视| 国产在线一区二| 日韩精品一区二区三区免费观影| av久久久久久| 日韩精品高清不卡| 91免费视频污| 91免费国产在线观看| 可以免费看av的网址| 亚洲 欧美综合在线网络| 最新中文字幕免费| 欧美变态tickling挠脚心| 高清国产福利在线观看| 久久6免费高清热精品| 原纱央莉成人av片| 成人美女av在线直播| 亚洲精品播放| 麻豆一区二区三区在线观看| 久久国产精品亚洲77777| 亚洲女人在线观看| 久久久三级国产网站| 九九热国产精品视频| 在线看国产日韩| 后入内射欧美99二区视频| 日韩有码在线电影| 中文在线аv在线| 99精彩视频| 99精品电影| 激情综合网俺也去| 99久久精品免费看| 欧美日韩国产精品综合| 欧美色区777第一页| 水莓100在线视频| 欧美精品videossex88| 欧美aaa级| 欧美另类视频在线| 亚洲精选一区| 无码国产精品一区二区高潮| 国产精品色噜噜| 福利网址在线观看| 亚洲精品久久久久中文字幕欢迎你| 久草免费在线| 国产日本欧美视频| 国产一区二区亚洲| 大j8黑人w巨大888a片| 国产aⅴ综合色| 神马午夜精品91| 欧美日韩另类一区| 成人资源www网在线最新版| 91av视频在线| 老牛影视av一区二区在线观看| 超薄肉色丝袜足j调教99| 久久99国产精品久久99果冻传媒| 成人免费无遮挡无码黄漫视频| 精品久久中文字幕久久av| 欧美一区,二区| 久久久久久综合网天天| 午夜日韩影院| 波多野结衣与黑人| 国产电影精品久久禁18| 亚洲国产成人精品综合99| 91精品久久久久久久91蜜桃| 国产视频中文字幕在线观看| 国产三级精品网站| 91中文字幕精品永久在线| 一起操在线视频| 亚洲三级小视频| 精品人妻少妇AV无码专区| 欧美猛男性生活免费| 亚洲三区欧美一区国产二区| 欧美性受xxxx黑人猛交88| 国产一区二区三区美女| 九九久久免费视频| 亚洲第一av在线| 午夜欧美激情| 日韩av影视| 久久成人免费网| 91高清免费看| 欧美不卡激情三级在线观看| av影视在线看| 欧美综合激情| 美女一区二区久久| 杨钰莹一级淫片aaaaaa播放| 日韩视频中午一区| 超碰在线视屏| 日本一区二区精品| 国精品**一区二区三区在线蜜桃 | 91精品中文在线| 欧美久久99| 97超碰在线资源| 欧美日韩成人综合| 欧美巨大xxxx做受沙滩| 久久人人九九| 免费观看日韩电影| 青娱乐91视频| 亚洲色图偷窥自拍| 婷婷久久免费视频| r级无码视频在线观看| 久久精品一区二区三区不卡 | 成人毛片在线观看| 亚洲va在线观看| 久久精品视频播放| 在线观看视频一区二区三区| 免费黄色日本网站| 成人欧美一区二区三区在线播放| 亚洲精品免费在线观看视频| 欧美做受高潮电影o| 国产精品88久久久久久| 国产精品扒开腿做爽爽爽a片唱戏| 日本道免费精品一区二区三区| 黄网站视频在线观看| 久久波多野结衣| 韩国av一区二区三区在线观看| 亚洲精品午夜久久久久久久| 中文日韩在线观看| 久久视频在线观看| 午夜免费福利视频在线观看| 午夜伊人狠狠久久| 麻豆tv入口在线看| 欧美日韩一区综合| 高清在线观看日韩| 91亚洲视频在线观看| 日韩av不卡电影| 亚洲性感美女99在线|