Bool
在C语言中,非0即为真。
BOOL布尔数据类型,用类似存储真假,存有两个初始值 YES和NO
BOOL flag = YES;
flag = NO;
//flag = 10;一般不这样命名,这是不规范
//BOOL数据的作用:用来存储关系运算符和逻辑运算符的结果,用来存储分支语句的判断条件,用来存储循环的判断条件
//C语言中非零即为真。
//丁一两个证型变量a和b
int a = 3,b = 5;
BOOL result = YES;//定义BOOL变量接受关系运算符结果
//大于运算符 >
result = a > b;
printf("result = %d\n",result);
//大于等于 >=
result = b >= a;
printf("result = %d\n",result);
//小于 <
result = a < b;
printf("result = %d\n",result);
//小于等于 <=
result = a <= b;
printf("result = %d\n",result);
// 等于等于 ==
result = a == b;
printf("result = %d\n",result);
//不等于 !=
result = a != b;
printf("result = %d\n",result);
printf("........................\n");
//逻辑运算符 与&& 或|| 非!
// 逻辑与 && 并且的意思
//与运算符的两侧,同时为真,才为真,只要有一侧为假,就为假
result = a < b && a > 0;
printf("result = %d\n",result);
result = a < 2 && a < b;
printf("result = %d\n",result);
a > 5 && a++;//逻辑运算符与短路现象,只要第一个条件为假,则不进行第二条件表达式判断,直接返回假,也就是跳出
printf("a = %d\n",a);
//逻辑或运算符 || 或者
//逻辑或运算符的特点,两侧有一侧为真则为真,两侧同事为假才为假;一真必真,全假则假
result = a > 6 || a < b;
printf("result = %d\n",result);
result = a < 3 || a > 6;
printf("result = %d\n",result);
result = a > 1 || a++;//逻辑或的短路现象:只要逻辑或运算符前面的表达式真,则不会判断逻辑或运算符后面的表达式,直接返回真
printf("result = %d\n, a = %d\n",result,a);
//逻辑非 !非真即假
result = !(a > 10);
result = !a;//在C语言中,非零即为真;所以!a为假。
printf("result = %d\n",result);
printf("...............................\n");
//程序的三种结构:顺序结构,代码逐行执行;分支结构,根据判断条件决定执行那一块代码;循环结构,判断条件成立,反复执行某行代码
//if语句的第一种形式
//程序运行时碰到if语句,先判断条件是否成立,如果成立则执行if后大括号{}里面的语句,如果条件不成立,就跳过大括号{},继续执行if后其他的语句
/* //买包子场景重现
printf("如果看到卖西瓜的请输入数字:1,如果没有看到卖西瓜的请输入数字:0");
//定义变量接受用户输入的数字
int number = -1;
scanf("%d",&number);
if (<#condition#>) { condition 是我们要写入的判断条件
<#statements#> statements 如果条件成立我们要在{}内做的事情
}
if (判断条件) { 断点主要是用来调试程序用的,查看程序运行的步
语句;
}
//看到西瓜则条件为真
if (number == 1) {
printf("买一个包子\n");
}
//没有看到西瓜
if (number == 0) {
printf("买一斤包子\n");
}
*/
//控制台 输入一个字符,如果 输入的是m,则 输出男性,否则什么都不输出。
/*
printf("请输入一个字符:");
char c ='m';//接受用户输入的字符
scanf("%c",&c);
if (c == 'm') {
printf("帅哥\n");
}
//如果输入的字符不是m 则执行下面的if语句
if (c != 'm') {
printf("美女“\n);
printf("地方“\n);
}
//if()不加大括号,if语句只对第一条与具有作用
*/
//输入一个分数,如果是100,就打印一句话:
// printf("请输入一个分数:");
// float score = 0;
// scanf("%f",&score);
// if(score ==100)
// printf(" mamada \n");
//虽然这种语句可以执行,但是不规范
//if语句的另一种形式,if....else...
/*
if(条件表达式){
语句1;
语句2;
}
else{
语句1;
语句2;
}
先判断条件表达式结过,如果结果为真,就执行if后{}的语句,如果结果为假,就执行else{}的语句
*/
//请输入一个分数,如果分数是100,打印mamada,否则就打印:老娘,棍棒伺候!
// printf("请输入一个分数:");
// float score = 0;
// scanf("%f",&score);
// if (score == 100) {
// printf("mamada\n90");
// } else {
// printf("老娘,棍棒伺候!\n");
// }
//输入一个年份,判断一个年份是不是闰年?如果是闰年,则输出该年是闰年,否则输出该年时平年
//
// printf("请输入一个年份:\n");
// int year = 0;//定义变量接受用户输入的年份
// scanf("%d",&year);
// BOOL b1 = year % 400 == 0;//能被400正处是闰年
// BOOL b2 = year % 4 == 0 && year % 100 != 0;//能被4整出,但不能被100整除是闰年
//
// if (b1 || b2) {
// printf("%d是闰年\n",year);
// } else {
// printf("%d是平年\n",year);
// }
//
//输入两个正数a1,a2获取最大值并输出;
// int a1 = 0,a2 = 0;
// printf("请输入两个整数");
//
// scanf("%d%d",&a1,&a2);
// if (a1 > a2) {
// printf("最大值是%d\n",a1);
// }
// else{
// printf("最大值是%d\n",a2);
// }
//判断相亲对象是不是你的菜,年龄在(18~30)
// int age = 0;//定义变量接受用户输入的年龄
// printf("请输入一个择偶年龄:");
// scanf("%d",&age);
// //18<=age<=30 error!!!是错误的
// if (18 <=age && age <= 30) {
// printf("%d岁的美女是我的菜\n");
// } else {
// printf("%d岁的女人不是我的菜\n");
// }
//if语句的三种形式if...else if....else if...
/*
if...else 的级联
if(条件表达式1){
语句1;
。。。
}
else if(条件表达式2){
语句1;
。。。
}
else{
}
//注意:if开头,else结束,中间可以有多个else if();
*/
//输入一个分数,90到100之间打印优秀,80到90之间打印优,70到80之间打印良,60到70之间打印差,小于60打印不及格。
// float score = 0;
// printf("输入一个分数:");
// scanf("%f",&score);
// if (score >= 90) {
// printf("优秀\n");
// } else if(score >= 80){
// printf("优\n");
// }else if(score >= 70){
// printf("良\n");
// }else if(score >= 60){
// printf("差\n");
//
// }else{
// printf("你考这样的成绩你妈妈知道吗?\n");
// }
//
//从键盘输入一个字符,如果是数字打印 this is digital,如果是大写字母,打印this is capital letter ,如果是小写字母,打印 this is letter ,如果是其他字符,打印other
// char a1 = 'r';
// printf("请输入一个字符:");
// scanf("%c",&a1);
// if (a1 >= '0' && a1 <= '9') {
// printf("this is digital\n");
// } else if(a1 >= 'A' && a1 <= 'Z'){
// printf("this is capital letter\n");
// } else if(a1 >= 'a' && a1 <= 'z'){
// printf("this is letter\n");
// }
// else{
// printf("other\n");
// }
//
//条件表达式?表达式1:表达式2 (三目运算符)
//如果条件表达式为真,整个表达式返回表达式1
//如果条件表达式为假,整个表达式返回表达式2
//比较两个数的大小
// int a5 = 3,b1 = 5,c = 0;
// c = a5 < b1 ? a5 : b1;
// printf("%d\n",c);
/*
//switch(整型表达式){
case值1:{语句1;break;}
case值2:{语句2;break;}
...
case值3:{语句n;break;}
default:{语句n + 1;break;}
}
//执行流程:拿到整形表达式的返回值,去和case后面的值进行比较,如果想等就执行case后面的语句,不相等就这样找,如果都找不到,就执行default 后面语句
//注意:switch()内一定要跟整形表达式
//switch语句中一定要写default语句,防治所有case不满足的情况
//从控制台输入一个整数(1~4),输入1,打印春天,输入2,打印夏天,输入3,打印秋天,输入4打印冬天
*/
// int season = 0;//顶一个变量
// printf("请输入1~4之间的整数:");
// scanf("%d",&season);
// switch (season) {
// case 1:
// printf("春天");
// break;
// case 2:
// printf("夏天");
// break;
// case 3:
// printf("秋天");
// break;
// case 4:
// printf("冬天");
// break;
// default:
// printf("你是从火星来的吗?");
// break;
// }
//输入2015年的一个月份,判断这个月多少天
// int mouth = 0;//定义一个变量接受用户输入的月份
// printf("请输入一个月份:\n");
// scanf("%d",&mouth);
// switch (mouth) {
// case 1:
// printf("31");
// break;
// case 2:
// printf("28");
// break;
// case 3:
// printf("31");
// break;
// case 4:
// printf("30");
// break;
// case 5:
// printf("31");
// break;
// case 6:
// printf("30");
// break;
// case 7:
// printf("31");
// break;
// case 8:
// printf("31");
// break;
// case 9:
// printf("30");
// break;
// case 10:
// printf("31");
// break;
// case 11:
// printf("30");
// break;
// case 12:
// printf("31");
// break;
//
// default:
// printf("其他");
// break;
// break就是结束switch语句中的case后面的语句,然后执行switch之外的语句,就是跳出switch语句 }
// switch (mouth) {
// case 1:
// case 3:
// case 5:
// case 7:
// case 8:
// case 10:
// case 12:
// printf("31");
// break;
// case 2://case后面的数值是不能重复的
// printf("28");
// break;
// case 4:
// case 6:
// case 9:
// case 11:
// printf("30");
// break;
//
// default:
// printf("欧姆");
// break;
// }
//switch 的其他情况
/*
switch (4) {
case 1:{
int a = 10;//如果要在case后语句中定义变量要加上大括号,这样才不会报错
break;
case 4:
// int b = 10;error!!!
break;
case 5:
printf("");
int d = 10;//特殊情况
break ;
}
default:
break;
//if和switch,他们两个时刻互换的;但是如果判断条件非常多的时候使用switch会显的更加清晰。
}
*/
return 0;
//C语言中非零即为真。
//丁一两个证型变量a和b
int a = 3,b = 5;
BOOL result = YES;//定义BOOL变量接受关系运算符结果
//大于运算符 >
result = a > b;
printf("result = %d\n",result);
//大于等于 >=
result = b >= a;
printf("result = %d\n",result);
//小于 <
result = a < b;
printf("result = %d\n",result);
//小于等于 <=
result = a <= b;
printf("result = %d\n",result);
// 等于等于 ==
result = a == b;
printf("result = %d\n",result);
//不等于 !=
result = a != b;
printf("result = %d\n",result);
printf("........................\n");
//逻辑运算符 与&& 或|| 非!
// 逻辑与 && 并且的意思
//与运算符的两侧,同时为真,才为真,只要有一侧为假,就为假
result = a < b && a > 0;
printf("result = %d\n",result);
result = a < 2 && a < b;
printf("result = %d\n",result);
a > 5 && a++;//逻辑运算符与短路现象,只要第一个条件为假,则不进行第二条件表达式判断,直接返回假,也就是跳出
printf("a = %d\n",a);
//逻辑或运算符 || 或者
//逻辑或运算符的特点,两侧有一侧为真则为真,两侧同事为假才为假;一真必真,全假则假
result = a > 6 || a < b;
printf("result = %d\n",result);
result = a < 3 || a > 6;
printf("result = %d\n",result);
result = a > 1 || a++;//逻辑或的短路现象:只要逻辑或运算符前面的表达式真,则不会判断逻辑或运算符后面的表达式,直接返回真
printf("result = %d\n, a = %d\n",result,a);
//逻辑非 !非真即假
result = !(a > 10);
result = !a;//在C语言中,非零即为真;所以!a为假。
printf("result = %d\n",result);
printf("...............................\n");
//程序的三种结构:顺序结构,代码逐行执行;分支结构,根据判断条件决定执行那一块代码;循环结构,判断条件成立,反复执行某行代码
//if语句的第一种形式
//程序运行时碰到if语句,先判断条件是否成立,如果成立则执行if后大括号{}里面的语句,如果条件不成立,就跳过大括号{},继续执行if后其他的语句
/* //买包子场景重现
printf("如果看到卖西瓜的请输入数字:1,如果没有看到卖西瓜的请输入数字:0");
//定义变量接受用户输入的数字
int number = -1;
scanf("%d",&number);
if (<#condition#>) { condition 是我们要写入的判断条件
<#statements#> statements 如果条件成立我们要在{}内做的事情
}
if (判断条件) { 断点主要是用来调试程序用的,查看程序运行的步
语句;
}
//看到西瓜则条件为真
if (number == 1) {
printf("买一个包子\n");
}
//没有看到西瓜
if (number == 0) {
printf("买一斤包子\n");
}
*/
//控制台 输入一个字符,如果 输入的是m,则 输出男性,否则什么都不输出。
/*
printf("请输入一个字符:");
char c ='m';//接受用户输入的字符
scanf("%c",&c);
if (c == 'm') {
printf("帅哥\n");
}
//如果输入的字符不是m 则执行下面的if语句
if (c != 'm') {
printf("美女“\n);
printf("地方“\n);
}
//if()不加大括号,if语句只对第一条与具有作用
*/
//输入一个分数,如果是100,就打印一句话:
// printf("请输入一个分数:");
// float score = 0;
// scanf("%f",&score);
// if(score ==100)
// printf(" mamada \n");
//虽然这种语句可以执行,但是不规范
//if语句的另一种形式,if....else...
/*
if(条件表达式){
语句1;
语句2;
}
else{
语句1;
语句2;
}
先判断条件表达式结过,如果结果为真,就执行if后{}的语句,如果结果为假,就执行else{}的语句
*/
//请输入一个分数,如果分数是100,打印mamada,否则就打印:老娘,棍棒伺候!
// printf("请输入一个分数:");
// float score = 0;
// scanf("%f",&score);
// if (score == 100) {
// printf("mamada\n90");
// } else {
// printf("老娘,棍棒伺候!\n");
// }
//输入一个年份,判断一个年份是不是闰年?如果是闰年,则输出该年是闰年,否则输出该年时平年
//
// printf("请输入一个年份:\n");
// int year = 0;//定义变量接受用户输入的年份
// scanf("%d",&year);
// BOOL b1 = year % 400 == 0;//能被400正处是闰年
// BOOL b2 = year % 4 == 0 && year % 100 != 0;//能被4整出,但不能被100整除是闰年
//
// if (b1 || b2) {
// printf("%d是闰年\n",year);
// } else {
// printf("%d是平年\n",year);
// }
//
//输入两个正数a1,a2获取最大值并输出;
// int a1 = 0,a2 = 0;
// printf("请输入两个整数");
//
// scanf("%d%d",&a1,&a2);
// if (a1 > a2) {
// printf("最大值是%d\n",a1);
// }
// else{
// printf("最大值是%d\n",a2);
// }
//判断相亲对象是不是你的菜,年龄在(18~30)
// int age = 0;//定义变量接受用户输入的年龄
// printf("请输入一个择偶年龄:");
// scanf("%d",&age);
// //18<=age<=30 error!!!是错误的
// if (18 <=age && age <= 30) {
// printf("%d岁的美女是我的菜\n");
// } else {
// printf("%d岁的女人不是我的菜\n");
// }
//if语句的三种形式if...else if....else if...
/*
if...else 的级联
if(条件表达式1){
语句1;
。。。
}
else if(条件表达式2){
语句1;
。。。
}
else{
}
//注意:if开头,else结束,中间可以有多个else if();
*/
//输入一个分数,90到100之间打印优秀,80到90之间打印优,70到80之间打印良,60到70之间打印差,小于60打印不及格。
// float score = 0;
// printf("输入一个分数:");
// scanf("%f",&score);
// if (score >= 90) {
// printf("优秀\n");
// } else if(score >= 80){
// printf("优\n");
// }else if(score >= 70){
// printf("良\n");
// }else if(score >= 60){
// printf("差\n");
//
// }else{
// printf("你考这样的成绩你妈妈知道吗?\n");
// }
//
//从键盘输入一个字符,如果是数字打印 this is digital,如果是大写字母,打印this is capital letter ,如果是小写字母,打印 this is letter ,如果是其他字符,打印other
// char a1 = 'r';
// printf("请输入一个字符:");
// scanf("%c",&a1);
// if (a1 >= '0' && a1 <= '9') {
// printf("this is digital\n");
// } else if(a1 >= 'A' && a1 <= 'Z'){
// printf("this is capital letter\n");
// } else if(a1 >= 'a' && a1 <= 'z'){
// printf("this is letter\n");
// }
// else{
// printf("other\n");
// }
//
//条件表达式?表达式1:表达式2 (三目运算符)
//如果条件表达式为真,整个表达式返回表达式1
//如果条件表达式为假,整个表达式返回表达式2
//比较两个数的大小
// int a5 = 3,b1 = 5,c = 0;
// c = a5 < b1 ? a5 : b1;
// printf("%d\n",c);
/*
//switch(整型表达式){
case值1:{语句1;break;}
case值2:{语句2;break;}
...
case值3:{语句n;break;}
default:{语句n + 1;break;}
}
//执行流程:拿到整形表达式的返回值,去和case后面的值进行比较,如果想等就执行case后面的语句,不相等就这样找,如果都找不到,就执行default 后面语句
//注意:switch()内一定要跟整形表达式
//switch语句中一定要写default语句,防治所有case不满足的情况
//从控制台输入一个整数(1~4),输入1,打印春天,输入2,打印夏天,输入3,打印秋天,输入4打印冬天
*/
// int season = 0;//顶一个变量
// printf("请输入1~4之间的整数:");
// scanf("%d",&season);
// switch (season) {
// case 1:
// printf("春天");
// break;
// case 2:
// printf("夏天");
// break;
// case 3:
// printf("秋天");
// break;
// case 4:
// printf("冬天");
// break;
// default:
// printf("你是从火星来的吗?");
// break;
// }
//输入2015年的一个月份,判断这个月多少天
// int mouth = 0;//定义一个变量接受用户输入的月份
// printf("请输入一个月份:\n");
// scanf("%d",&mouth);
// switch (mouth) {
// case 1:
// printf("31");
// break;
// case 2:
// printf("28");
// break;
// case 3:
// printf("31");
// break;
// case 4:
// printf("30");
// break;
// case 5:
// printf("31");
// break;
// case 6:
// printf("30");
// break;
// case 7:
// printf("31");
// break;
// case 8:
// printf("31");
// break;
// case 9:
// printf("30");
// break;
// case 10:
// printf("31");
// break;
// case 11:
// printf("30");
// break;
// case 12:
// printf("31");
// break;
//
// default:
// printf("其他");
// break;
// break就是结束switch语句中的case后面的语句,然后执行switch之外的语句,就是跳出switch语句 }
// switch (mouth) {
// case 1:
// case 3:
// case 5:
// case 7:
// case 8:
// case 10:
// case 12:
// printf("31");
// break;
// case 2://case后面的数值是不能重复的
// printf("28");
// break;
// case 4:
// case 6:
// case 9:
// case 11:
// printf("30");
// break;
//
// default:
// printf("欧姆");
// break;
// }
//switch 的其他情况
/*
switch (4) {
case 1:{
int a = 10;//如果要在case后语句中定义变量要加上大括号,这样才不会报错
break;
case 4:
// int b = 10;error!!!
break;
case 5:
printf("");
int d = 10;//特殊情况
break ;
}
default:
break;
//if和switch,他们两个时刻互换的;但是如果判断条件非常多的时候使用switch会显的更加清晰。
}
*/
return 0;
}