标签:
/*
布尔类型:
1.c89没有布尔类型,c99有布尔类型.c工程支持c89,oc工程c99.
2.两种数值:
bool true(真) false(假) C语言
BOOL YES(真) NO(假) OC语言
3.真和假的表示
C语言 非0即为真 0就是假
OC语言 YES定义为1 NO定义为0
4.输出转换符是%d
5.作用:用于分支结构和循环的判断.
*/
// BOOL a1 = YES;
// BOOL a2 = NO;
// printf("a1=%d",a1);
// printf("a2=%d",a2);
//
// BOOL a3 = YES;
// BOOL a4 = NO;
// printf("a3=%d",a3);
// printf("a4=%d",a4);
// BOOL a5 = YES;
// BOOL a6 = NO;
// printf("a5=%d a6=%d",a5,a6);
#pragma mark --- 关系运算符 ----
/*
关系运算符
1.用于进行两个数的比较
2.关系运算符的运算结果有两种:真,假.使用布尔类型变量来接收结果
3.关系表达式:常量,变量和关系运算符组成的;
*/
//大于 小于
// BOOL a1 = 5 > 3;//结果为真 YES
// printf("a1=%d\n",a1);
// BOOL a2 = 50 < 30;//结果为假 NO
// printf("a2=%d\n",a2);
//
//定义两个人的年龄,然后进行比较,再定义一个BOOL类型变量来接收结果;
// int age1 = 30;
// int age2 = 20;
// BOOL age= age1 > age2;
// printf("age=%d\n",age);
// 定义三个变量,将三个变量进行比较,在定义一个BOOL类型变量接收结果;
// int a = 0;
// int b = 0;
// int c = 0;
// printf("请输入三个变量:");
// scanf("%d %d %d",&a,&b,&c);
// BOOL d = a > b > c;
// printf("d = %d\n",d);
//大于等于 小于等于
// BOOL r1 = 5 >= 5;//结果为真
// printf("r1=%d\n",r1);
//
// BOOL r2 = 6 <= 1;//结果为假
// printf("r2=%d\n",r2);
//
// //等于 == 不等于 !=
// BOOL r3 = 6 == 5;//结果为假
// printf("r3=%d\n",r3);
//
// BOOL r4 = 4 != 4;//结果为假
// printf("r4=%d\n",r4);
//注意:==(双等号判断左右两边的值是否相等),左右两边可以是常量或变量;
//=(单等号是将右边的值赋给左边的变量)左侧一定是变量;
#pragma mark --- 逻辑运算符 ---
/*
逻辑运算符
1.逻辑与 逻辑或 逻辑非
2.逻辑运算的结果有两种,真,假.用BOOL类型变量来接收
3.逻辑表达式:常量,变量和逻辑运算符组成的;
*/
/*逻辑与 &&
1.逻辑与表达式:表达式1 && 表达式2
2.运算规则:
(1)先执行表达式1,在执行表达式2;
(2)表达式1和表达式2结果同时为真,才为真,一假即假;
(3)短路现象:表达式1的结果为假,就不在执行表达式2;
*/
//先定义两个变量,然后将两个变量进行比较,并且使用逻辑与.用BOOL类型变量来接收结果;
// int a = 10;
// int b = 20;
// BOOL r1 = a > b && a++;
// printf("r1 = %d\n",r1);
// BOOL r2 = a < b && b++;
// printf("r2 = %d\n",r2);
// BOOL r3 = a > b && a < b;
// printf("r3 = %d\n",r3);
/*
逻辑或运算符: ||
1. 逻辑或表达式: 表达式1 || 表达式2
2. 运算规则:
(1).先执行表达式1,在执行表达式2;
(2).表达式1和表达式2的结果同时为假,才为假.一真即真.
3.短路现象:表达式1的结果为真,就不在执行表达式2;
*/
// 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) || (b > a);
// printf("r3 = %d\n",r3);
//
// //短路现象
// BOOL r4 = (a < 5) || (a++);
// printf("r4 = %d\n",r4);
// BOOL r5 = (b > 5) || (b++);
// printf("r5 = %d\n",r5);
//
/*
逻辑非 !
1.逻辑非:取反运算
2.运算规则:对真假取反
*/
// BOOL a = YES;
// BOOL b = !a;
// printf("a = %d\n",a);
// printf("b = %d\n",b);
// BOOL c = NO;
// BOOL d = !c;
// printf("c = %d",c);
// printf("d = %d",d);
/*
运算符的优先级
算数运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符
*/
// int a = 3, b = 4, c = 5;
// BOOL r1 = a + b > c && b == c;
// printf("%d\n",r1);
// BOOL r2 = a || (b + c && b - c);
// printf("%d\n",r2);
//
// int a = 10;
// int b = 20;
// BOOL r1 = a > b && b++;
// printf("r1 = %d\n",r1);
C语言基础第二课 -----布尔类型,关系运算符,逻辑运算符,
标签:
原文地址:http://www.cnblogs.com/fenxiang-xinde/p/4799000.html