黑马程序员 06-BOOL类型的使用

———Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ———

BOOL类型的使用(C语言中没有BOOL类型)

1、BOOL类型的本质

  BOOL类型的本质其实是整型,它的两个取值YES和NO分别可以用1和0来表示。

  宏观上:YES表示非零,NO表示零;

  微观上:YES表示1,NO表示0。

  typedef signed char BOOL

2、BOOL类型有两种取值:YES、NO

#define YES (BOOL)1

#define NO  (BOOL)0

3、BOOL的输出(当做整数来输出)

1 NSLog(@"%d %d", YES, NO);

4、编写代码如下:

 1 #import <Foundation/Foundation.h>
 2 //BOOL做返回值类型,函数功能是返回一个NO
 3 BOOL test(BOOL mybool)
 4 {
 5     return NO;
 6 }
 7
 8 int main(int argc, const char * argv[])
 9 {
10     BOOL b = YES;            
11     BOOL b2 = NO;            
12     BOOL b3 = 1; // YES            
13     BOOL b4 = 0; // NO
14                        
15     NSLog(@"b = %d", b);//结果为b = 1
16     NSLog(@"b2 = %d", b2);//结果为b2 = 0
17     NSLog(@"b3 = %d", b3);//结果为b3 = 1
18     NSLog(@"b4 = %d", b4);//结果为b4 = 0
19     NSLog(@"%d", test(YES));//结果为0
20     return 0;
21 }

本节重点:

  1、BOOL类型的本质其实是整型,它的两个取值YES和NO分别可以用1和0来表示。

    typedef signed char BOOL

  2、BOOL类型有两种取值:YES、NO。  

  3、BOOL的输出(当做整数来输出)。

    

时间: 2024-10-16 21:00:30

黑马程序员 06-BOOL类型的使用的相关文章

黑马程序员—03-数据类型、常量、变量

一.   数据 1. 数据的分类 计算机中存储的数据可以分为两种:静态数据和动态数据. 2. 数据的大小 1)   不管是静态还是动态数据,都是0和1组成的.0和1如何组成这么多的数据? 2)   数据都有大小,静态数据就会占用硬盘的空间,动态数据就占用内存的空间 3)   数据越大,包含的0和1就越多,比特位和字节 4)   一个二进制位为1bit,也就是1个0或1为bit,bit的中文编译是“比特位”:8个二进制位为1byte,也就是8个0或1就为1byte,byte的中文翻译就是“字节”.

黑马程序员-C语言基础:指针类型与指针和数组、字符串的关系

//指针变量就是用来存储地址的,只能存储地址 格式:  int  *p;  这个p为指针变量:指针变量占8个字节 类型是用来说明这个指针指向的类型: 比如上边的int代表这个指针变量会指向int类型的存储空间: int *p = &a;//这样一句可以写,此时的*只是一个标志,表示这个*只是表示p是个指针: *p = &a;//这样写就错了:此时*p表示取p指向的空间的值: 指针疑问:指针既然都占据8个字节,那么为什么要划分类型, 是因为当用*p指针取值或者赋值的时候,知道该取几个字节,比

黑马程序员_OC学习笔记之Foundation框架集合类

OC--集合类 1.OC集合类包括NSArray,NSSet,NSDictionary都是以面向对象的方式操作数组,而且OC数组不像C语言中的数组只能存放同一种数据类型,它可以存放任意类型的对象,但是不能存放非OC对象类型如基本数据类型int,struct,enum等 2.OC数组是以对象的方式存在,因此在创建的时候需要为创建的对象前面加* 3.NSArray数组一旦创建就决定了是不是可变,而且永远是可变或不可变 4.NSArray数组和子类NSMutableArray的基本操作: 1>使用NS

黑马程序员_OC语言前期准备

OC语言前期准备 一.OC简介 Oc语言在c语言的基础上,增加了一层最小的面向对象语法,完全兼容C语言,在OC代码中,可以混用c,甚至是c++代码. 可以使用OC开发mac osx平台和ios平台的应用程序. 拓展名:c语言-.c  OC语言.-m  兼容C++.-mm 注:其实c语言和oc甚至任何一门语言都只是我们为了实现一些功能,达到一些效果而采用的工具,抛开语法的差别外,我想最重要的应该是在解决问题的时候考虑的角度和方法不一样而已,然而这也构成了学习一门语言的重要性. 二.语法预览 (一)

黑马程序员——Foundation学习笔记(NSSet和NSMutableSet)

==========android培训.ios培训.java培训.期待与您交流========== 一.NSSet: NSSet NSSet里面存储的元素没有顺序,NSArray中的元素有顺序. NSSet *s = [NSSet set]; // 创建一个空的Set,永远是空,不可变. NSSet *s2 = [NSSet setWithObjects:@"jack",@"rose",nil]; NSString *str = [s2 anyObject]; //

黑马程序员-OC内存管理 @property的增强

涉及到内存管理,只读,多线程等很多功能时,setter和getter方法也就没那么简单了:当然@property依然强大,很好用: 1:内存管理相关参数: *:retain:  (如果是oc对象类型),生成的setter会自动release旧值,retain新值: *:assign:(适用于非oc对象)  这个是默认的值 *:copy:release旧值,copy新值: @property (retain) NSString *name; // 同类型的参数不能同时写 // @property

黑马程序员 oc与c的区别,联系

1.文件的扩展名的区别       1>c语言源文件的扩展名是.c,而oc的扩展名是.m       2>c语言经过编译之后得到的目标模块扩展名是.obj,而oc编译之后是.o       3>c语言目标程序与其他目标程序和库函数经过连接得到可执行文件的扩展名是.exe,而oc是.out2.两者的编程思想是不同的        c语言是面向过程的编程语言,oc是面向对象的编程语言3.oc语言对于c语言的拓展       oc是面向对象的编程语言,它的基本数据类型比c语言多了个bool类型

黑马程序员_毕向东_Java基础视频教程_Java基础学习知识点总结

黑马程序员_毕向东_Java基础视频教程 Java基础学习知识点总结 2016年01月06日  day01 一.基础知识:软件开发 1.什么是软件?软件:一系列按照特定顺序组织的计算机数据和指令的集合. 2.常见的软件:系统软件:如:DOS,Windows,Linux等.应用软件:如:扫雷,迅雷,QQ等. 3.什么是开发?制作软件. 二.基础知识:人机交互方式 4.软件的出现实现了人与计算机之间的更好的交互. 5.交互方式:图形化界面:这种方式简单直观,使用者易于接受,容易上手操作.命令行方式:

【黑马程序员】————简单的OC程序

一.  OC简介 C语言的基础上,增加了一层最小的面向对象语法 完全兼容C语言 可以在OC代码中混入C语言代码,甚至是C++代码 可以使用OC开发Mac OS X平台和iOS平台的应用程序 二.  OC语法预览 1.      关键字 基本上所有关键字都是以@开头 下面列举一些常见的关键字,看一眼就行了,不用去翻资料查找它们的含义 @interface.@implementation.@end @public.@protected.@private.@selector @try.@catch.@

黑马程序员-OC学习笔记之Foundatio框架集合类

---------------------- IOS开发.Android培训.期待与您交流! ---------------------- 一.OC数组 OC数组是一个类,它也分不可变数组NSArray和可变数组NSMutableArray. 1?不可变数组的创建 // 创建一个不可变数组,元素为一个OC字符串对象 @"小桥" NSArray *array1 = [NSArray arrayWithObject:@"小桥"]; // 创建一个不可变数组,元素为多个O