浅述IOS用到的BOOL类型

BOOL类型

1、简介

在Xcode中的C工程中,只支持C89的标准,这里面是没有BOOL类型的;

在Xcode中的OC工程中,支持C99的标准,这里面是含有BOOL类型;

所以要使用BOOL类型,需在Xcode中建立OC工程。

BOOL类型包含两个值:真(Yes)、假(No),使用%d输出,YES:1,NO:0。

yes表示真,no表示假;一般的在C语言中,非0即为真。

bool包含两个值:真(true)、假(false)同样的他们也等于1、0。这是俗称的小bool,在IOS开发中很少用到,不做了解。

例:

    BOOL r1 = YES;
    BOOL r2 = NO;

    printf("r1 = %d, r2 = %d \n", r1,r2);

运行结果:r1 = 1,r2 = 0


2、运用


2.1 BOOL类型用于关系运算

>、<  运算

    BOOL r3 = 5 > 3;
    printf("r3 = %d \n", r3);
    
    BOOL r4 = 5 > 4 > 3;   // 5>4为真,BOOL值为1,1>3为假,BOOL值为0
    printf("r4 = %d \n", r4);

运行结果:r3 = 1   r4 = 0


>= 、<= 运算

    BOOL r5 = 5 >= 5; // 只要符号两边满足一个条件就为真
    printf("r5 = %d \n", r5);

运行结果:r5 = 1


==、!= 运算

    BOOL r6 = 7 == 8;
    printf("r6 = %d \n", r6);
    
    BOOL r7 = 7 != 8;
    printf("r7 = %d \n", r7);

运行结果:r6 = 0   r7 = 1

注意:浮点数不能使用此运算符比较是否相等,因为浮点数在存储时存在精度问题。整型和字符型可以使用。


2.2 BOOL类型用于逻辑运算

逻辑运算符 与 &&、或 ||、非 !
与 (&&) 一假为假 ,  或(||) 一真为真 , 非(!)反转。

    int a = 10;
    int b = 20;

    BOOL r1 = (a < b) && (b == 3);
    printf("r1 = %d \n", r1);

    BOOL r2 = (a == 3) || (b < a);
    printf("r2 = %d \n", r2);

    BOOL r3 = !(a > b);
    printf("r3 = %d \n", r3);


    BOOL r4 = (b < 5) && b++;
    printf("r4 = %d, b = %d \n", r4, b);

运行结果:r1 = 0  r2 = 0  r3 = 1  r4 = 0  b = 20


注意:&& 中存在短路现象 

当表达式1的结果为假时,逻辑与(&&)表达式的结果已经可以确定为假,所以表达式2不再执行.

同样,逻辑或(||)中也存在短路现象。


2.3 运算符的优先级顺序

一般的优先级关系: ( ) > ! > 算数运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符



你可能感兴趣的:(C语言,BOOL类型应用)