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

C/C++實(shí)操True and false詳解

 更新時(shí)間:2021年09月27日 10:13:25   作者:夜流冰  
這篇文章主要給大家介紹了關(guān)于Python中常用的數(shù)據(jù)類型bool(布爾)類型的兩個(gè)值:True和False的相關(guān)資料,通過示例代碼給大家進(jìn)行了解惑,讓對(duì)這兩個(gè)值有所疑惑的朋友們能有起到一定的幫助,需要的朋友下面來一起看看吧。

在C11標(biāo)準(zhǔn)文檔中,規(guī)定了關(guān)系運(yùn)算符 <、> 、<= 、>=的運(yùn)算結(jié)果,真時(shí)返回1,假時(shí)返回0,返回類型為整型。

運(yùn)算符==、!=和關(guān)系運(yùn)算符類似,除了運(yùn)算優(yōu)先級(jí)較低以外,也是返回1或0。

真(True)的定義是非0,所以假(False)的定義就是整型的0值。

C語言本身只有一個(gè)_Bool定義,是一個(gè)關(guān)鍵字。

_Bool類型是一個(gè)對(duì)象,存儲(chǔ)0和1兩個(gè)值,是一個(gè)無符號(hào)的整型。

如下程序所示,_Bool只有0和1,即假和真兩個(gè)值,賦值時(shí)非0都看作1。

任何一個(gè)標(biāo)量值給_Bool類型變量賦值,如果等于0,賦值為0,否則就賦值為1。

#include <stdio.h>
int main()
{
  _Bool varA;
  varA = 2;
  printf("varA:%d.\n",varA);
  varA = -1;
  printf("varA:%d.\n",varA);
  varA = 0;
  printf("varA:%d.\n",varA);
  printf("Hello world!\n");
  return 0;
}
$ gcc -o tof tof.c
$ ./tof
varA:1.
varA:1.
varA:0.
Hello world!

為了更方便程序員對(duì)布爾類型的使用,C語言的標(biāo)準(zhǔn)庫,頭文件<stdbool.h>,定義了和布爾操作相關(guān)的類型。 stdbool.h

​
/* Copyright (C) 1998, 1999, 2000, 2009 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
Under Section 7 of GPL version 3, you are granted additional
permissions described in the GCC Runtime Library Exception, version
3.1, as published by the Free Software Foundation.
You should have received a copy of the GNU General Public License and
a copy of the GCC Runtime Library Exception along with this program;
see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
<Licenses- GNU Project - Free Software Foundation>.  */
/*
* ISO C Standard:  7.16  Boolean type and values  <stdbool.h>
*/
#ifndef _STDBOOL_H
#define _STDBOOL_H
#ifndef __cplusplus
#define bool        _Bool
#define true        1
#define false        0
#else /* __cplusplus */
/* Supporting <stdbool.h> in C++ is a GCC extension.  */
#define _Bool        bool
#define bool        bool
#define false        false
#define true        true
#endif /* __cplusplus */
/* Signal that all the definitions are present.  */
#define __bool_true_false_are_defined        1
#endif        /* stdbool.h */
​

C里的頭文件,stdbool.h,定義了bool類型,其實(shí)就是_Bool。

并定義了true為1,false為0,方便使用。

這幾個(gè)宏按照上面的定義展開為類型_Bool以及常數(shù)1和0。

使用了stdbool.h的C程序:

#include <stdio.h>
#include <stdbool.h>
int main()
{
  bool varA;
  varA = 2;
  printf("varA:%d.\n",varA);
  varA = -1;
  printf("varA:%d.\n",varA);
  varA = 0;
  printf("varA:%d.\n",varA);
  varA = true;
  printf("varA:%d.\n",varA);
  varA = false;
  printf("varA:%d.\n",varA);
  printf("Hello world!\n");
  return 0;
}
$ gcc -o tof tof.c
$ ./tof
varA:1.
varA:1.
varA:0.
varA:1.
varA:0.
Hello world!

同時(shí)我們看到了stdbool.h里面還使用了__cplusplus這個(gè)C++編譯器的宏開關(guān),如果使用C++編譯器來編譯C程序時(shí),就是用下面的宏定義。

這時(shí)定義了4個(gè),bool、false、和true都原封不動(dòng),說明C++語言本身自帶定義。而_Bool轉(zhuǎn)換為bool,表明C++里沒有_Bool,轉(zhuǎn)而使用bool。

下面我們來看一下C++里面的true、false的定義:

查看C++11標(biāo)準(zhǔn)文檔,C++里bool、true、false都是關(guān)鍵字。

true、false是字面常量,bool類型的變量值是true或者false。

如下程序所示:

#include <stdio.h>
int main()
{
  bool varA;
  printf("false:%d,true:%d.\n", false, true);
  varA = 2;
  printf("varA:%d.\n", varA);
  varA = -1;
  printf("varA:%d.\n", varA);
  varA = 0;
  printf("varA:%d.\n", varA);
  printf("Hello world!\n");
  return 0;
}
$ g++ -o tofplus tof.cpp
$ ./tofplus
false:0,true:1.
varA:1.
varA:1.
varA:0.
Hello world!

false是0,true是1。

bool類型變量的值只能是0或1。

注意:

1,關(guān)于大寫的TRUE和FALSE定義,在C/C++語言和標(biāo)準(zhǔn)庫里都沒有定義,程序中使用的都是單獨(dú)添加的。

2,本文使用的gcc版本:gcc version 9.3.0,Ubuntu虛擬機(jī)下編輯編譯的示例代碼。

總結(jié)

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

相關(guān)文章

  • C++中單鏈表操作的示例代碼

    C++中單鏈表操作的示例代碼

    這篇文章主要為大家詳細(xì)介紹了C++中單鏈表操作的示例代碼,主要包括單鏈表的創(chuàng)建、元素的插入和刪除等。文中的代碼簡潔易懂,需要的可以參考一下
    2022-10-10
  • C++中的volatile關(guān)鍵字及其作用

    C++中的volatile關(guān)鍵字及其作用

    本文介紹了C++中的volatile關(guān)鍵字,它用于標(biāo)識(shí)變量可能被意外修改,以及編譯器不應(yīng)進(jìn)行優(yōu)化。本文通過具體的代碼示例,闡述了volatile關(guān)鍵字的作用和使用方法,幫助讀者更好地了解該關(guān)鍵字在C++語言中的應(yīng)用場(chǎng)景和實(shí)現(xiàn)原理
    2023-04-04
  • visualstudio2022工程重命名的圖文步驟

    visualstudio2022工程重命名的圖文步驟

    很多時(shí)候需要用到項(xiàng)目重命名,本文主要介紹了visualstudio2022工程重命名的圖文步驟,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-06-06
  • C++多線程傳參的實(shí)現(xiàn)方法

    C++多線程傳參的實(shí)現(xiàn)方法

    本文主要介紹了C++多線程傳參的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • C語言如何與ARM匯編語言混合編程示例詳解

    C語言如何與ARM匯編語言混合編程示例詳解

    本文主要敘述了C與匯編語言混合編程,匯編語言指的是ARM匯編語言。本文用來幫助理解ARM嵌入式中的匯編程序,及C語言如何與匯編混合編程
    2021-10-10
  • C語言實(shí)現(xiàn)堆的簡單操作的示例代碼

    C語言實(shí)現(xiàn)堆的簡單操作的示例代碼

    堆(heap)是計(jì)算機(jī)科學(xué)中一類特殊的數(shù)據(jù)結(jié)構(gòu)的統(tǒng)稱。堆通常是一個(gè)可以被看做一棵樹的數(shù)組對(duì)象。本文介紹了C語言中堆的一些簡單操作,需要的可以參考一下
    2022-11-11
  • DOS簡易版C語言貪吃蛇

    DOS簡易版C語言貪吃蛇

    這篇文章主要為大家詳細(xì)介紹了DOS簡易版C語言貪吃蛇,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • C++ EasyX學(xué)習(xí)之鼠標(biāo)操作詳解

    C++ EasyX學(xué)習(xí)之鼠標(biāo)操作詳解

    EasyX是針對(duì)C/C++的圖形庫,可以幫助使用C/C++語言的程序員快速上手圖形和游戲編程。本文將為大家詳細(xì)講講EasyX的鼠標(biāo)操作,需要的可以參考一下
    2022-07-07
  • C語言中結(jié)構(gòu)體偏移及結(jié)構(gòu)體成員變量訪問方式的問題討論

    C語言中結(jié)構(gòu)體偏移及結(jié)構(gòu)體成員變量訪問方式的問題討論

    這篇文章主要介紹了C語言中結(jié)構(gòu)體偏移及結(jié)構(gòu)體成員變量訪問方式的問題討論,幫助大家理解struct的成員變量偏移,需要的朋友可以參考下
    2016-05-05
  • C語言中位運(yùn)算符"|"的5種高級(jí)用法總結(jié)

    C語言中位運(yùn)算符"|"的5種高級(jí)用法總結(jié)

    這篇文章主要為大家詳細(xì)介紹了C語言中位運(yùn)算符"|"的5種高級(jí)用法,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,需要的可以參考一下
    2023-04-04

最新評(píng)論

张家界市| 新宾| 宿迁市| 栖霞市| 阳山县| 堆龙德庆县| 志丹县| 临泉县| 丰县| 理塘县| 鹤山市| 汾西县| 广西| 昭通市| 河北区| 宿迁市| 保定市| 巫溪县| 江北区| 逊克县| 韶山市| 金秀| 图木舒克市| 东丰县| 梅河口市| 乌兰浩特市| 阳原县| 英超| 临沧市| 潮州市| 阳春市| 日土县| 漳浦县| 平山县| 高尔夫| 龙泉市| 平乡县| 汤阴县| 理塘县| 濉溪县| 武鸣县|