Note-02-分支结构

来源:互联网 发布:安全软件下载 编辑:程序博客网 时间:2024/06/13 05:20
//
//  main.c
//  Note-02-分支结构
//
//  Created by 刘佳斌 on 15/11/4.
//  Copyright © 2015年 小四. All rights reserved.
//

#include <stdio.h>


int main(int argc, const char * argv[]) {
    //断点:调试的时候 程序执行到这个位置就会暂停

#pragma mark  --if语句--
    //if (表达式){功能代码}
    //输入你父亲年龄,如果大于等于40;就是个好父亲
    int age;
    printf("输入你父亲的年龄\n");
    scanf("%d",&age);
    if(age>=40){                    //条件判断 <> <= >= == != 关系运算符计算结
                                    //果都是真(1)或者假(0)
       printf("父亲是个好父亲\n");   //功能代码
    }
    else
        printf("还是好爸爸\n");
    
    int result = age >= 40;
    printf("是不是大于等于40岁? %d\n",result);//当只有两个条件可以选择的时候 优先使
                                           //用if语句
    
    if (result == 1) {               //判断结果是不是真(1)真:就执行功能代码 否则
                                     //跳过
        printf("你的父亲倍儿棒\n");
    }
    
    //当不满足if语句的条件,而满足另一个条件的时候,执行另一分支代码,可以使用else(否则)
    
   
    
    
#pragma mark   --练习--
    //如果上课人数大于60,学习氛围忒好,否则输出没来的去当葫芦娃了
    
    int people=0;
    char *message;
    printf("请输入今天上课人数\n");
    scanf(" %d",&people);  //scanf()内加一个空格,可以与上边的scanf区分开
    if (people>60) {
        message="学习氛围忒好!!";
    }
    else {
        message="没来的都去当葫芦娃了...ORZ";
    };
    printf("%s\n",message);
    
//    int *sum = people>60 ? "学习氛围忒好":"没来的都去当葫芦娃了...ORZ";
//    printf("%s\n",sum);
//    
    //如果只有两个条件可以选择,并且只有两个可能发生的结果,并且分支结构里也没有嵌套使用其他内容,可以选择使用㊙️三目运算㊙️!!!
    
#pragma mark  --三目运算--
    
    //三目运算的公式:表达式 ?第一个结果:第二个结果
    //问电脑?? 这个表达式是不是真的
    //如果是真的选择第一个结果,如果是假的选择第二个结果
    //表达式:一目  第一个结果:二目  第三个结果:三目
    
    int a = 33;
    char *s = a < 33 ? "是的":"NO";
    printf("%s\n",s);
    
    
#pragma mark  --枚举--
    
    //枚举:列举 一个一个 默认从0开始按顺序罗列,当有一个元素对应值改变,如(0,1,(2),3)突然2改变为了3,则(0,1,3,4)
    // 她的保留字 enum
    //枚举是用字符串来表示这些数字的,
    //优点:很直观地知道这个数字的含义; 当改变字符串对应的数字的时候,不会影响到程序代码
    /*
     公式:enum 枚举的名字{
                  枚举的例子,    ❗️使用逗号隔开❗️ 默认从0开始
                  枚举的例子=5,  ❗️当这个值变成了5,则下一个元素对应值默认改为6
                  枚举的例子     ❗️最后一个元素没有逗号隔开❗️
     };
     
     */
    
//    
//    enum Type {
//      Red,      //表示0
//      Orange,   //表示1
//      Yellow,   //表示2
//      Green     //表示3
//    };
//    
//    enum Type type =Yellow;     // ❗️❗️enum 枚举名 变量名 = 枚举值
//    printf("%d\n",type);
    
     /*  枚举公式之二:
         typedef 用来替代(enum 枚举的名字)
      typedef enum 枚举的名字{
                 枚举的例子,    ❗️使用逗号隔开❗️ 默认从0开始
                 枚举的例子=5,  ❗️当这个值变成了5,则下一个元素对应值默认改为6
                 枚举的例子     ❗️最后一个元素没有逗号隔开❗️
      };要替代的名字;

      */
    
/*    typedef enum Type{
            Red,
            Orange,
            Yellow,
            Green
    }Color;           //用Color代表了enum TypeOfColor
    Color color = Red;
    printf("%d\n",color);*/
    
//什么情况下使用枚举:当某些数字具有一定意义的时候,可以使用枚举直观体现这些数字的意义
//在编程过程中有可能修改需求,把具有特定意义的数字修改成别的数字,节省工作量
 
    /* 例子
     typedef enum LoginType{
        Acc = 10,
        QQ,
        Sina,
        WeiXin
    }LoginType;
    
    LoginType  type;
     
    if (type == Acc) {
      printf("Acc登录");
    }
    if (type == QQ) {
      printf("QQ登录");
    }
    if (type == Sina) {
        printf("Sina登录");
    }
    if (type == WeiXin) {
        printf("WeiXin登录");
    }
     */
    
    
#pragma mark  -- switch 语句--
    
    //switch :当有多个条件可以提供选择的时候来替代if语句
    //条件变量满足第几个条件,就会跳到对应的条件中执行代码,遇到break会跳出switch继续执行,常与枚举配合使用
   /* 公式
    switch (条件变量) {
        case 条件1:
            具体代码
            break;
            
        case 条件2:
            具体代码
            break;
        default:
            break;
    }
    */
  // ‼️注意 ,每一个分支条件后边必须跟break来跳出,如果没有跳出会继续往下执行
  //  default: 默认, 任何条件都不满足的时候 进人defaul
    
    
    /*
     
     定义LoginType枚举的变量   LoginType type;
     输入一个数字来判断用户使用哪种方式登陆
     
    */
 
    typedef enum LoginType{
        Acc = 15,
        QQ=11,
        Sina,
        WeiXin
    }LoginType;
    
   LoginType type;
    scanf("%d",&type);
    
    switch (type) {  //type到底是多少
        case Acc:
            printf("账号登陆\n");
            break;
        case QQ:
            printf("QQ登陆\n");
            break;
        case Sina:
            printf("新浪登陆\n");
            break;
        case WeiXin:
            printf("微信登陆\n");
            break;
            
        default:
            printf("没有这种登陆...ORZ\n");
            break;
    }
    
 
    

    return 0;
}


/*
 作业:
 1、输入三个数 找出他们的最大值
 2、用户输入对应的季节编号 展示给用户对应季节的 介绍(使用枚举 10=春 11=夏 15=秋 16=冬)
 3、写一个加减乘除的计算器(输入两个数 再输入想要计算的符号  进行计算  输出结果)
 4、根据成绩 评优 (95以上 牛掰;95-80 赞;80-60 可以;60以下 ,,Ծ‸Ծ,,)
 
 游戏(思考附加题) 作业
 1、写出 英雄 怪物 英雄的武器  英雄和怪物的技能  的枚举列表
 2、选择英雄  选择武器
 3、怪物随机出现
 4、英雄打怪物
 
 
 */

0 0
原创粉丝点击