91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C/C++實操True and false的示例分析

發布時間:2021-09-27 10:43:54 來源:億速云 閱讀:183 作者:小新 欄目:開發技術

這篇文章主要介紹了C/C++實操True and false的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

在C11標準文檔中,規定了關系運算符 <、> 、<= 、>=的運算結果,真時返回1,假時返回0,返回類型為整型。

運算符==、!=和關系運算符類似,除了運算優先級較低以外,也是返回1或0。

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

C語言本身只有一個_Bool定義,是一個關鍵字。

_Bool類型是一個對象,存儲0和1兩個值,是一個無符號的整型。

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

任何一個標量值給_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!

為了更方便程序員對布爾類型的使用,C語言的標準庫,頭文件<stdbool.h>,定義了和布爾操作相關的類型。 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類型,其實就是_Bool。

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

這幾個宏按照上面的定義展開為類型_Bool以及常數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!

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

這時定義了4個,bool、false、和true都原封不動,說明C++語言本身自帶定義。而_Bool轉換為bool,表明C++里沒有_Bool,轉而使用bool。

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

查看C++11標準文檔,C++里bool、true、false都是關鍵字。

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,關于大寫的TRUE和FALSE定義,在C/C++語言和標準庫里都沒有定義,程序中使用的都是單獨添加的。

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

感謝你能夠認真閱讀完這篇文章,希望小編分享的“C/C++實操True and false的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

合阳县| 凉山| 枞阳县| 府谷县| 丹棱县| 康乐县| 安岳县| 安吉县| 夏河县| 平湖市| 仲巴县| 元江| 吉首市| 乡城县| 清丰县| 孝昌县| 迭部县| 长治市| 鄂托克前旗| 牙克石市| 上思县| 会东县| 嘉善县| 孝感市| 揭东县| 康平县| 行唐县| 安康市| 长丰县| 寿阳县| 民勤县| 沂源县| 黄骅市| 汝城县| 大同市| 秭归县| 区。| 涡阳县| 万宁市| 新竹县| 姜堰市|