" />

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

C語(yǔ)言的各類(lèi)變量和零值的比較詳解

 更新時(shí)間:2021年11月26日 16:31:33   作者:愛(ài)學(xué)代碼的學(xué)生  
這篇文章主要為大家介紹了C語(yǔ)言的各類(lèi)變量和零值的比較,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助

1.波爾變量和零值比較

在C語(yǔ)言中本來(lái)是不存在bool類(lèi)型的,但在C99標(biāo)準(zhǔn)中加入了bool類(lèi)型。

在C99標(biāo)準(zhǔn)中引入了_Bool類(lèi)型,在vs中將bool類(lèi)型進(jìn)行了宏定義,而_Bool類(lèi)型使微軟自己設(shè)計(jì)的一種類(lèi)型,在別的編譯器上不具有可移植性,故這里我們使用bool類(lèi)型。

接下來(lái)我們進(jìn)入我們的正題:

假設(shè)布爾變量名稱為flag,那它與零值的比較在if語(yǔ)句中表示如下:

if(flag)? ? ? ? ? //表示flag為真

if(!flag)? ? ? ?//表示flag為假??

在C++標(biāo)準(zhǔn)中,布爾類(lèi)型常量和整數(shù)、指針之間的轉(zhuǎn)換規(guī)則為:

false->0 true->1

0->false true->非0值

但對(duì)于不同的實(shí)現(xiàn)對(duì)ture的表示也可以不同,所以我們要避免一下操作:

?
int flag = 1;
if(flag==ture){
   ;
}
 
?

因此以后在進(jìn)行bool類(lèi)型與零比較時(shí),我們避免使用判斷形式。

2.整形變量和零進(jìn)行比較

假設(shè)整形變量為ret,它與零值進(jìn)行比較的if語(yǔ)句可以表示為:

if(ret==0)? ?

if(ret!=0)

不可以寫(xiě)成bool的類(lèi)型風(fēng)格

if(ret)? ?//會(huì)讓人錯(cuò)以為ret使bool類(lèi)型

if(!ret)??

3.浮點(diǎn)變量和零值比較

這里也是我們今天所講述的重點(diǎn)。

這里我們先來(lái)看一段代碼:

在我們的看來(lái),x和y不應(yīng)該一樣嗎?為什么這里卻有如此大的差別?

這里涉及到了浮點(diǎn)數(shù)的存數(shù)和缺失。

讓我們?cè)诳匆欢未a:

?

在數(shù)學(xué)上我們認(rèn)為這兩個(gè)數(shù)使不相等的,但在32位計(jì)算器上認(rèn)為這兩個(gè)數(shù)是相等的。

所以我們?nèi)绻麅蓚€(gè)同符號(hào)的浮點(diǎn)數(shù)的差的絕對(duì)值在一個(gè)范圍內(nèi)我們就認(rèn)為這兩個(gè)數(shù)使相等的,否則激素不相等的。所以我們應(yīng)該怎樣去實(shí)現(xiàn)呢?

代碼如下:

我們引入了<math.h>和<float.h>兩個(gè)頭文件來(lái)實(shí)現(xiàn)我們的需求,這里我們引入了FLT_EPSILON?這個(gè)精度范圍來(lái)比較兩個(gè)float類(lèi)型的數(shù),除了這個(gè)精度范圍還有DBL_EPSILON精度范圍用來(lái)比較double類(lèi)型,這里我們就不舉例了。

4.指針和零值比較

指針變量的空為NULL,即不指向任何對(duì)象,盡管NULL和0值相同,但表達(dá)意義卻不同。

假設(shè)指針變量為p,它與零值比較的if語(yǔ)句實(shí)現(xiàn)為:

if(p==NULL)? ? ? ? //p與NULL比較,來(lái)顯示p使指針變量

if(p!=NULL)

?盡量避免寫(xiě)成如下形式

if(p)? ? ?//容易誤解成bool類(lèi)型變量

if(!p)

或者這種

if(p==0)? ?//容易誤解成整形類(lèi)型變量

if(p!=0)

這四類(lèi)比較希望大家有所收獲。

總結(jié)

本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • C語(yǔ)言入門(mén)篇--注釋,關(guān)鍵字typedef及轉(zhuǎn)義字符詳解

    C語(yǔ)言入門(mén)篇--注釋,關(guān)鍵字typedef及轉(zhuǎn)義字符詳解

    本篇文章是c語(yǔ)言基礎(chǔ)篇,主要為大家介紹了C語(yǔ)言的關(guān)鍵字typedef,注釋,轉(zhuǎn)義字符的基本理論知識(shí),希望可以幫助大家快速入門(mén)c語(yǔ)言的世界,更好的理解c語(yǔ)言
    2021-08-08
  • c語(yǔ)言結(jié)構(gòu)體字節(jié)對(duì)齊的實(shí)現(xiàn)方法

    c語(yǔ)言結(jié)構(gòu)體字節(jié)對(duì)齊的實(shí)現(xiàn)方法

    在c語(yǔ)言的結(jié)構(gòu)體里面一般會(huì)按照某種規(guī)則去進(jìn)行字節(jié)對(duì)齊。本文就來(lái)介紹一下如何實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解下
    2021-07-07
  • 如何通過(guò)C++求出鏈表中環(huán)的入口結(jié)點(diǎn)

    如何通過(guò)C++求出鏈表中環(huán)的入口結(jié)點(diǎn)

    本文主要介紹了通過(guò)C++求解鏈表中環(huán)的入口結(jié)點(diǎn),即給一個(gè)長(zhǎng)度為n鏈表,若其中包含環(huán),請(qǐng)找出該鏈表的環(huán)的入口結(jié)點(diǎn),否則,返回null。需要的朋友可以參考一下
    2021-12-12
  • 從txt中讀入數(shù)據(jù)到數(shù)組中(fscanf)的實(shí)現(xiàn)代碼

    從txt中讀入數(shù)據(jù)到數(shù)組中(fscanf)的實(shí)現(xiàn)代碼

    下面小編就為大家?guī)?lái)一篇從txt中讀入數(shù)據(jù)到數(shù)組中(fscanf)的實(shí)現(xiàn)代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • VSCode中C/C++編碼亂碼問(wèn)題的兩種解決方法

    VSCode中C/C++編碼亂碼問(wèn)題的兩種解決方法

    在中國(guó)地區(qū),Windows 系統(tǒng)中的 cmd 和 PowerShell 默認(rèn)編碼是 GBK,但 VSCode 默認(rèn)使用 UTF-8 編碼,這種編碼不一致會(huì)導(dǎo)致在 VSCode 終端中運(yùn)行 C/C++ 程序時(shí)出現(xiàn)亂碼,以下介紹兩種方法來(lái)解決這一問(wèn)題,需要的朋友可以參考下
    2025-03-03
  • 利用C++?OpenCV?實(shí)現(xiàn)從投影圖像恢復(fù)仿射特性

    利用C++?OpenCV?實(shí)現(xiàn)從投影圖像恢復(fù)仿射特性

    我們通過(guò)相機(jī)拍攝的圖片存在各種畸變,其中投影畸變使得原本平行的直線不再平行,就會(huì)產(chǎn)生照片中近大遠(yuǎn)小的效果。本文將具體介紹如何利用OPenCV實(shí)現(xiàn)從投影圖像恢復(fù)仿射特性,接下來(lái)跟著小編一起學(xué)習(xí)吧
    2021-11-11
  • C+繼承之同名覆蓋,函數(shù)重寫(xiě)與多態(tài)詳解

    C+繼承之同名覆蓋,函數(shù)重寫(xiě)與多態(tài)詳解

    這篇文章主要介紹了C+繼承之同名覆蓋,函數(shù)重寫(xiě)與多態(tài),是C++面向?qū)ο蟪绦蛟O(shè)計(jì)非常重要的概念,需要的朋友可以參考下,希望能夠給你帶來(lái)幫助
    2021-09-09
  • C++ 大根堆排序?qū)W習(xí)筆記

    C++ 大根堆排序?qū)W習(xí)筆記

    這篇文章主要為大家介紹了C++ 大根堆排序的學(xué)習(xí)教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • Qt中QScrollArea控件的實(shí)現(xiàn)

    Qt中QScrollArea控件的實(shí)現(xiàn)

    QScrollArea是Qt框架中用于提供一個(gè)滾動(dòng)條區(qū)域,允許用戶滾動(dòng)查看比當(dāng)前可視區(qū)域更大的內(nèi)容的控件,本文主要介紹了Qt中QScrollArea控件的實(shí)現(xiàn),感興趣的可以了解一下
    2025-04-04
  • C語(yǔ)言數(shù)組長(zhǎng)度的計(jì)算方法實(shí)例總結(jié)(sizeof與strlen)

    C語(yǔ)言數(shù)組長(zhǎng)度的計(jì)算方法實(shí)例總結(jié)(sizeof與strlen)

    數(shù)組一旦創(chuàng)建,程序運(yùn)行期間,長(zhǎng)度不可改變,下面這篇文章主要給大家介紹了關(guān)于C語(yǔ)言數(shù)組長(zhǎng)度的計(jì)算方法,主要利用的是sizeof與strlen,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06

最新評(píng)論

中牟县| 台前县| 牙克石市| 常熟市| 盐亭县| 石屏县| 关岭| 扎囊县| 治多县| 洛浦县| 黄大仙区| 拜城县| 丹棱县| 新干县| 赞皇县| 周至县| 贵定县| 雅江县| 邹城市| 岱山县| 黄骅市| 万宁市| 江山市| 兴城市| 达州市| 黄浦区| 丹棱县| 探索| 内黄县| 贺兰县| 尚志市| 仪陇县| 历史| 大田县| 木里| 阳谷县| 西和县| 金溪县| 江川县| 绍兴市| 思茅市|