C语言漫谈(二)
来源:互联网 发布:出国翻译官软件 编辑:程序博客网 时间:2024/05/16 04:40
一.布尔类型
需要注意的是在C 89中并没有布尔类型,只在C 99中存在.而 C 工程支持 C89 ,OC 工程支持C99
1.两种数值:
bool true (真) false(假) C 语言
BOOL YES (真) NO (假) OC语言
2.真和假的表示
C 语言 非 0 即为真 0就是假
OC语言 YES 定义为1 NO 定义为0
3.作用.
主要用于分支语句和循环语句的判断
举例
BOOL a1 = YES; BOOL a2 = NO; printf("a1=%d",a1); printf("a2=%d",a2); BOOL a3 = YES; BOOL a4 = NO; printf("%d %d",a3,a4);
二.关系运算
关系运算符
1.用于两个数的比较 ;
2.关系运算符的运算结果 : 真\假.使用BOOL 类型变量来接受结果 ;
3.关系表达式 : 由常量,变量和关系运算符组成.
举例:
BOOL a1 = 5 > 3;//结果为YES printf("%d",a1); BOOL a2 = 5 < 3;//结果为NO printf("%d",a2);//定义两个人的年龄,然后进行比较,再自定义一个BOOl类型的变量来接收结果 int age1 = 0, age2 = 0; scanf("%d %d",&age1,&age2); BOOL a = age1 > age2; printf("%d",a); //定义三个变量,然后将三个变量进行比较,定义一个BOOL类型的变量来接收结果 int a1 = 0,a2 = 1, a3 = 2; BOOL a4 = a1 > a2 >a3; printf("%d",a4); // 大于等于,小于等于 BOOL r1 = 5 >= 5;//结果为假 printf("%d",r1); BOOL r2 = 6 <= 1; printf("%d",r2); // 等于== 不等于!= BOOL r3 = 7 == 8; BOOL r4 = 29 != 29; printf("%d %d",r3,r4); // 注意:==(双等号判断左右两边值是否相等),左右两边可以是常量或变量 //=(单等号是将右边的值付给左边的变量)左侧一定是变量
三.逻辑运算符
逻辑运算符:
1.逻辑与 逻辑或 逻辑非
2.逻辑运算的结果有两种 – 真\假.通常用BOOL变量来接收.
3.逻辑表达式:由常量,变量和逻辑运算符组成.
*逻辑与 &&
形式:表达式1 && 表达式2
运算规则:
(1)先执行表达式1,后执行表达式2.
(2)表达式1和表达式2结果同为真,才为真,一假即假.
(3)短路现象:表达式1的结果为假就不执行表达式2.
举例
//先定义两个变量,然后将两个变量进行比较,并使用逻辑与进行判断.用BOOL类型变量来接受 int a = 10,b = 20; BOOL r1 = (a<b) && (b==3); printf("%d",r1);
*逻辑或 ||
形式:表达式1 || 表达式2
运算规则
(1)先执行表达式1,后执行表达式2
(2)表达式1和表达式2的结果同为假,才为假,一真即真.
(3)短路现象:表达式1若为真,就不执行表达式2.
举例
int a = 10,b = 20; BOOL r1 = (a<b) || (b==3); printf("%d",r1); BOOL r2 = (a==3) || (b>a); BOOL r3 = (a>3) || (b>a); printf("%d %d",r2,r3);//短路现象 BOOL r4 = (a<5) || (a++); BOOL r5 = (a>5) || (a++);
*逻辑非 !
(1)取反运算.
(2)运算规则:对真假取反
BOOL a = YES; BOOL b = !a; printf("a=%d b=%d",a,b); BOOL c = NO,d = !c; printf("c=%d d=%d",c,d);
最后注意内容
运算符的优先级
算数运算符 > 关系运算符 > 逻辑运算符 >赋值运算符
举例
int a = 3,b = 4, c =5; BOOL r1 = a + b > c && b == c; BOOL r2 = a || (b + c && b - c);//b-c不为0极为真 printf("%d %d\n",r1,r2);
- C语言漫谈(二)
- (转)标题:C语言漫谈(二) asset 断言
- 漫谈C语言随机数
- C 语言漫谈(一)
- 漫谈c语言历史
- 漫谈C语言结构体
- 漫谈C语言结构体
- 漫谈C语言整型类型转换规则
- 漫谈C语言结构体(转)
- 漫谈几点C语言小知识
- c语言——指针漫谈
- C语言和内存结合漫谈
- 漫谈C语言及如何学习C语言
- 漫谈C语言及如何学习C语言
- 漫谈C语言及如何学习C语言
- 漫谈C语言及如何学习C语言
- 漫谈C语言及如何学习C语言
- 漫谈C语言及如何学习C语言
- 2015 ACM/ICPC Asia Regional Changchun Online hdu 5438
- HTML&CSS Learning Notes 2
- 局部内部类访问局部变量细节
- Java中HashMap遍历的两种方式
- Arraylist与Hashset的判断元素相同的依据
- C语言漫谈(二)
- groovy : poi XLSX2CSV
- Java面向对象问题汇总
- IT职场心得
- UVa 11882:Biggest Number(DFS+剪枝)
- wpf调用线程无法访问此对象,因为另一个线程拥有该对象
- lockInterruptibly 和lock的区别
- ubuntu连接wifi但是找不到服务器
- Processing实现Google新图标