day2

本文详细介绍了C语言中的布尔类型及其应用,包括关系运算符、逻辑运算符的使用方法,并通过实例演示了if语句、switch语句及三目运算符的应用,帮助读者掌握C语言中的条件判断和分支控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Bool  
在C语言中,非0即为真。
BOOL布尔数据类型,用类似存储真假,存有两个初始值 YES和NO
BOOL  flag = YES;
flag = NO;
//flag = 10;一般不这样命名,这是不规范
//BOOL数据的作用:用来存储关系运算符和逻辑运算符的结果,用来存储分支语句的判断条件,用来存储循环的判断条件
   
//C语言中非零即为真。
   
   
   
//丁一两个证型变量ab
   
   
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();
     */

   
//输入一个分数,90100之间打印优秀,8090之间打印优,7080之间打印良,6070之间打印差,小于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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值