petard  

一. 布尔类型——适用于判别真假的类型

说明:布尔类型是一种形式(int)的别名:

int ——> bool

True ——> 1 (其他 非0 都是 1 )

False ——> 0

对应:0为假,非零为真

总结:

  1. 第一种方式
    C89标准,使用宏定义(#define )

  2. 第二种方式
    C99标准,添加 _Bool 类型

  3. 第三种方式
    C99标准,标准库头文件 <stdbool.h>
    bool true false

1. 第一种方式

   C89标准,使用宏定义(#define )
   格式: #define BOOL int
__________________________________ TRUE、FALSE只是相当于一个常量名,使用其他标识符也可以的(宏定义标识符常量时,常量名一般使用大写字母:为了和变量区别开)
        #define TRUE 1
        #define FALSE 0
  • 说明:根据0为假非零为真判断,声明的BOOL类型是可以被重新初始化赋值的

2. 第二种方式

C99标准,添加 _Bool 类型
   格式: _Bool a = -6;		// a 为变量名,非零为真

3. 第三种方式

   C99标准,标准库头文件 <stdbool.h>
   bool true false
   格式:#define <stdbool.h>
    	int main(){

    	bool is_ok = true;	// is_ok是变量(任意起名),true也可以被任意修改(不过会被系统修改,修改遵循(0为0,非零为1)
    	}

总结:三种方式都可以修改布尔类型的变量,不过分为两种:

​ 1、第一种为一种,可以直接修改布尔类型变量的值

​ 2、第二、三为一种,修改时:0为0,其他非零都为1

eg:

第一种 使用宏定义
#include <stdio.h>

#define BOOL int
#define TRUE 1
#define FALSE 0

int main()
{
    //定义布尔类型的变量
    BOOL is_ok =TRUE;
    BOOL is_pass = FALSE;

    //is_pass可以被修改,可以被修改为任何值(一个原则:非零都为1)
    is_pass =-6;
    printf("is_ok=%d, is_pass=%d \n",is_ok,is_pass);
    

    //条件判断
    if(is_ok)
    {
        printf("OK! \n");
    }
    else
    {
        printf("不OK!\n");
    }

    if(is_pass)
    {
        printf("PASS!\n");
    }
    else
    {
        printf("不PASS!\n");
    }
}
第二种 添加 _Bool 类型
#include <stdio.h>

int main()
{
    //定义布尔类型的变量
    _Bool is_ok = 1;
    _Bool is_pass = 0;
    
    //is_pass会被改变的,会根据0为假非零为真(把非零的值都转变为1),只能是0/1
    is_pass = -6;   // is_pass:1
    printf("is_ok=%d, is_pass=%d \n", is_ok, is_pass); 

    // 条件判断
    if (is_ok)
    {
        printf("OK!\n");
    }
    else
    {
        printf("不OK!\n");
    }


    if (is_pass)
    {
        printf("PASS!\n");
    }
    else
    {
        printf("不PASS!\n");
    }

    return 0;
}
第三种 标准库头文件 <stdbool.h>
#include <stdio.h>
#include <stdbool.h>

int main()
{
    // 定义布尔类型的变量
    bool is_ok = true;
    bool is_pass = false;

    is_pass = -6;
    printf("is_ok=%d, is_pass=%d \n", is_ok, is_pass);

    // 条件判断
    if (is_ok)
    {
        printf("OK!");
    }
    else
    {
        printf("不OK!");
    }


    if (is_pass)
    {
        printf("PASS!");
    }
    else
    {
        printf("不PASS!");
    }

}
posted on 2024-04-29 21:31  岌岌无名  阅读(2)  评论(0编辑  收藏  举报