day03 BOOL类型 关系运算符 逻辑运算符 分支语句 条件运算符 ? : swith语句 枚举类型

#pragma mark-BOOL 类型
// 作用:用来表示非真即假的数据类型,( 1 字节)
   
// 存储的数据: YES NO
   
/*
     YES
(真) ==1 NO (假) ==0
    
将人能够识别的标识符和计算机能够识别的数字结合起来
    */

   
   
// 定义 BOOL 类型的变量
//    BOOL isGril=NO;//NO
//    BOOL isBoy=YES;//YES
   
   
// 输出 bool 类型的变量使用 %d
   
//printf("%d,%d",isGril,isBoy);
   
#pragma mark- 关系运算符
    // 运算符: >,<,>=,<=,==,!=
   
// 关系表达式:关系运算符组成的式子叫做关系表达式,结果为 bool 类型数据。
   
// 注:判断两个数是否相等,要用双等号 “==” ,而非 “=”
//    int m=5,n=10;
   
// 大于 >
//    BOOL result = m > n;
//    printf("%d\n",result);
//   
   
// 小于 <
//    result=m<n;
//    printf("%d\n",result);
//   
   
// 大于等于 >=
//    result = m<= n;
//    printf("%d\n",result);
//   
   
// 等于 ==
//    result = m == n;
//    printf("%d\n",result);
//   
   
// 不等于 !=
//    result= m!=n;
//    printf("%d\n",result);
#pragma mark- 逻辑运算符
    /*
     && (
逻辑与 ) :逻辑与运算符 2 边同时为真,整个逻辑表达式的结果为真。
     || (
逻辑或):逻辑或运算符 2 边的表达式同时为假,整个逻辑表达式结果为假。
     !
(逻辑非):原有为真,非厚为假;原来为假,非厚为真。
    
    
注:逻辑与与逻辑或之间的短路现象。
     &&
短路现象:如果运算符左边的表达式为假,则不会判断右边。
     ||
短路现象:如果运算符左边的表达式为真,则不会判读右边。
     */

   
// 逻辑运算
   
//1. 逻辑与 && ,并且的关系
//    int i=3,j=5,k=7;
//    BOOL result=0;
//    result=(i<=j) && (j!=k);
//    printf("%d\n",result);
   
   
//2. 逻辑或 || ,或者的关系
//    result = (j==k) || (j<k);
//    printf("%d\n",result);
   
   
//3. 逻辑非,! 颠倒是非
//    result=!(i!=k);
//    printf("%d\n",result);
   
// 短路现象
   
// 逻辑与的短路现象, && 左侧为假,右侧则不参与运算
//    int c=0;
//    result = i>k && ++c;
//    printf("c==%d\n",c);
   
// 逻辑或的短路现场, || 左侧为真,右侧则不参与运算
   
//    result=(i+k)>=j || ++c;
//    printf("c==%d\n",c);
#pragma mark- 分支语句
    //c 语言的顺序结果
   
//1. 顺序结构, main 函数是程序入口,程序执行从上往下,从左至右;
   
//2. 分支结构,程序执行到某个位置,进行条件判断,根据不同的结果,执行不同的操作;
   
//3. 循环结构,程序执行到某个位置,反复执行某个位置。
   
//if 语句
   
// 原理:根据不同的条件,执行不同的分支程序段。
   
//if 的第一种形式
//    if( 条件表达式 )
//    {
//        语句 1;
//    }
//    注:先判断条件表达式是否为真,为真则执行大括号中的语句,为假则不执行。
//    int count=0;
//    int noSee=1;
//    printf(" 老公,给我买个包子 :\n");
//    scanf("%d",&noSee);
//    if (noSee==0) {
//        printf(" 请输入你要买的包子数 :\n");
//        scanf("%d",&count);
//        printf(" 我买到 %d 包子 ",count);
//        return 0;
//    }
//    printf(" 我没有买到包子 ");
//    int count=0;// 包子数量
//    int noSee=0;// 没有看到
//    printf(" 老公,看到卖包子的没有(看到 / 没看到) :");
//    scanf("%d",&noSee);
//    if (noSee==1) {
//        count=1;
//    }
//    printf(" 包子的数量: %d",count);
   
//    float score=0.0;// 考试成绩
//    printf(" 你今天考了多少分 :");
//    scanf("%f",&score);
//    if (score==100)
//    {
//        printf(" 真棒,么么哒 \n");
//    }
//    if (score!=100)
//    {
//        printf(" 弄死你 \n");
//    }
   
// 练习:输入一个字符,判断是不是 m, 如果是,输出 男性 ,不是 , 输出 " 女性 "
//    char sex=0;
//    printf(" 请输入你的性别 :");
//    scanf("%c",&sex);
//    if (sex=='m')
//    {
//        printf(" 男性 \n");
//    }
//    else
//    {
//         printf(" 女性 \n");
//    }
//    int money=0;
//    printf(" 我要交停车费 ");
//    scanf("%d",&money);
//    if (money==10)
//    {
//        printf(" 我今天交了 10 元的停车费 \n");
//    }
//    printf(" 吃早餐 \n");
//    printf(" 去上班 \n");
// 第二种形式
// 语法:
//    if ( 条件表达式 ) {
//        语句 1;
//    }
//    else
//    {
//        语句 2;
//    }
// 原理:
// 先判断条件表达式,如果条件表达式为真,执行语句 1 ,如果为假,执行语句 2
// 输入 2 个整形的数, 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 38 】范围,如果在,则显示 " 是我的菜 " ,如果不在,显示,是别人的菜。身高在【 160 170 】之间;如果身高满足,这是我的菜,如果身高不满足,这不是我的菜,太挫了。
//    int age=0;
//    printf(" 请输入要判读的年龄 :");
//    scanf("%d",&age);
//    if (age>=18 && age<=38) {
//        printf(" 是我的菜 \n");
//    }
//    else
//    {
//        printf(" 不是我的菜 \n");
//    }
   
//        int age=0,high=0;
//        printf(" 请输入要判读的年龄和身高 :");
//        scanf("%d %d",&age,&high);
//        if (age>=18 && age<=38)
//        {
//            if (high>=160 && high<=170)
//            {
//                printf(" 是我的菜 \n");
//            }
//            else
//            {
//                printf(" 不是我的菜,太挫了 \n");
//            }
//
//        }
//        else
//        {
//            printf(" 不是我的菜 \n");
//        }
   
// 练习:判断年份是不是闰年
   
// 满足闰年的条件是:
   
//1. 能被 400 整除 ,  2. 能被 4 整除,但是不能被 100 整除。
//    int year=0;
//    printf(" 请输入年份 :");
//    scanf("%d",&year);
//    if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)) {
//        printf("%d 是闰年 ",year);
//    }
//    else{
//         printf("%d 不是闰年 ",year);
//    }
   
#pragma  mark- 条件运算符 ? :
    // 三目运算符
   
// 格式:条件表达式? 表达式 1: 表达式 2;
   
// 原理:先判断条件表达式,如果成立,返回表达式 1 ,不成立,返回表达式 2
//    int num1=5,num2=10;
   
//int max=0;
   
// num1 num2 中的最大值,赋值给 max
//    if(num1>num2)
//    {
//        max=num1;
//    }
//    else
//    {
//        max=num2;
//    }
//   printf("max=%d\n",max);

//    max=num1 > num2 ? num1 : num2;
//    printf("max=%d\n",max);
   
//    int min=0;
//    min= num1 < num2 ? num1 : num2;
//    printf("min=%d\n",min);
   
// 思考并输出:
   
// 练习 : 请输入 3 个数,求三个数的最大值,和最小值
//    int num1=0,num2=0,num3=0;
//    int max=0,min=0;
//    printf(" 请输入 3 个数字 :");
//    scanf("%d %d %d",&num1,&num2,&num3);
   
//    max=(num1>num2 ? num1 : num2) > num3 ? (num1>num2 ? num1 : num2) :num3;
//    min=(num1<num2 ? num1 : num2) < num3 ? (num1<num2 ? num1 : num2) :num3;
   
//    max=num1 > num2 ? num1 : num2;
//    max= max > num3 ? max  : num3;
//    max=num1 > num2 ? (num1 > num3 ? num1 : num3):(num2 > num3 ? num2 : num3);
//
//    printf("max=%d\n",max);
   
//printf("min=%d\n",min);
   
// if 的第三种形式
//    if ( 条件表达式 1) {
//        语句 1;
//    }
//    else if ( 条件表达式 2) {
//        语句 2;
//    }
//    else
//    {
//        语句 3;
//    }
   
// 原理:先判断条件表达式 1 ,如果成立,执行语句 1 ,如果不成立,在判断条件表达式 2 ,如果成立,执行语句 2 ,如果不成立,就执行语句 3
   
// 注:这种结构,必须以 if 开头,以 else 结尾,中间写 else if ,并且 else if 可以有多个。
   
/*
    
如果从控制台输入一个成绩,如果成绩在 80-100 之间,则输出优秀,如果成绩在 60-80 分之间,则输出良好,否则就输出不及格。
     */

//    float score=0;
//    printf(" 请输入成绩 :\n");
//    scanf("%f",&score);
//    if (score > 80 && score <= 100) {
//        printf(" 优秀 \n");
//    }
//    else if(score>=60 && score < 80)
//    {
//        printf(" 良好 \n");
//    }
//    else
//    {
//        printf(" 不及格 \n");
//    }
//    char letter=0;
//    printf(" 请输入一个字符 :\n");
//    scanf("%c",&letter);
//    if (letter >= '0' && letter <= '9') {
//        printf("this is digital\n");
//    }
//    else if (letter >= 'A' && letter <= 'Z') {
//        printf("this is capital letter\n");
//    }
//    else if(letter >= 'a' && letter <= 'z')
//    {
//        printf("this is letter\n");
//    }
//    else
//    {
//        printf("other\n");
//    }
#pragma mark-swith 语句
    // 语法
//    switch ( 整形表达式 ) {
//        case 1:
//        执行语句 ;
//            break;
//        case 2:
//        执行语句 ;
//        break;
//        case ..:
//        ...
//        default:
//            break;
//    }
//    int number=0;// 存储分机号码
//    printf(" 请输入分机号码 :801( 教学部 ) 802( 市场部 ) 803 (职业规划部 ) 804( 总经理 ):");
//    scanf("%d",&number);
//    switch (number) {
//        case 801:
//            printf(" 教学部 \n");
//            break;
//        case 802:
//            printf(" 市场部 \n");
//            break;
//        case 803:
//            printf(" 职业规划部 \n");
//            break;
//        case 804:
//            printf(" 总经理 \n");
//            break;
//        default:
//            printf(" 你丫的到底找谁 !\n");
//            break;
//    }
   
//case 后只能为整形常量或者整形常量表达式
   
//case 分支中要加 break break 的作用是结束当前分支,跳出 swith
   
//default 是如果没有匹配到任何的 case 分支,执行 default
   
// 练习 : 从控制台输入 1-4 ,打印出春夏秋冬的英文词
//    int season=0;
//    printf(" 请输入季节 1 spring 2(summer) 3(automn) 4(winter):");
//    scanf("%d",&season);
//    switch (season) {
//        case 1:
//            printf("spring\n");
//            break;
//        case 2:
//            printf("summer\n");
//            break;
//        case 3:
//            printf("autumn\n");
//            break;
//        case 4:
//            printf("winter \n");
//            break;
//        default:
//            printf(" 你丫的输入的不对! \n");
//            break;
//    }
#pragma mark- 枚举类型
    // 作用:罗列出所有的可能性,每一个枚举值相当于一个可能性
   
// 枚举是将人能够识别的标示符和计算机能够识别的数字结合起来,所以每一个枚举值对应一个整数值。
   
// 枚举类型: enum + 枚举名。
//    enum 枚举类型的名字 {
//        1, 2, 3, 4
//    };
  
// }
   
//enum  season 是枚举值的类型名。
   
  
typedef   enum season{
       Spring=
0 ,
       Summer=
1 ,
       Autumn=
2 ,
       Winter=
3
    }S3;
   
//enum season s1=Spring;
   
S3 s1= Spring ;
   
printf ( "%d\n" ,s1);
   
   
   
scanf ( "%d" ,&s1);
   
switch (s1) {
       
case Spring :
           
printf ( " 春天来了,我要去郊游! " );
           
break ;
       
case Summer :
           
printf ( " 夏天来了,我要去游泳! " );
           
break ;
       
case Autumn :
           
printf ( " 秋天来了,我要去郊游! " );
           
break ;
       
case Winter :
           
printf ( " 冬天来了,我要去滑雪! " );
           
break ;
       
default :
           
break ;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值