IOS成长中 C语言之分支结构

知识点概括:

                  1.BOOL布尔类型

                  2.关系运算符

                  3.逻辑运算符

                  4.if语句

                  5.枚举类型

                  6.switch语句

BOOL数据类型,是一种表示非真即假的数据类型,布尔类型的变量只有YES和NO两个值。YES表示表达式结果为真,NO表示表达式结果为假,在C语言中,认为非0即为真

switch..case语句通常会有break结束case语句的执行。default后面的break可以舍掉

//枚举类型是一个构造类型,它使一组整型常量,罗列出了有的可能性。
//定义枚举,使用关键字 enum + 枚举类型的名字 {枚举值,多个枚举值之间通过逗号分割};最后的分号必不可少。
//枚举类型将人能够识别的识别符,和计算机能够识别的数字对应起来。
enum season {
    spring,  //春天
    summer,  //夏天
    autumn,  //秋天
    winter,  //冬天
};
enum company {
    teaching = 801,  //教学部 分机号801
    marker = 802,    //市场部 分机号802
    personl = 803,   //人事部 分机号803
    consult = 804,   //咨询部 分机号804
};

int main(int argc, const char * argv[])
{
//    BOOL isTrue = NO;
//    printf("%d", isTrue);
    //关系运算符
//    isTrue =  (5 + 4) < 10;
//    printf("%d", isTrue);
    //逻辑运算符 &&(逻辑与) ||(逻辑或) !(逻辑非)
//    int a = 0, b = 5;
//    isTrue = a || (b = 2); //逻辑短路。
//    isTrue = !!!a;
//    printf("%d %d", isTrue, b);
    
    /*use of undeclared identifier 'a'
      变量 a 没有定义,解决方案,定义变量a。
      expression result unused
      表达式的结果没有使用,解决方案:定义变量存储表达式的结果。
      unused variable 'b'
      变量b没使用。
    */
    
    //if语句第一种结构
    //if(条件表达式){语句} 当条件表达式的条件成立时(为真),执行大括号内的语句,否则执行if之后的语句。
//    int a = 10;
//    if (a > 10) {
//        printf("%d\n", a);
//    }
    //练习1:
//    char sex = 0;
//    printf("请输入性别:");
//    scanf("%c", &sex);
//    if (sex == 'm') {
//        printf("男性");
//    }
    //if语句第二种格式
    //if (条件表达式) {语句1} else {语句2}
    //当条件表达式成立时,执行语句1,否则执行语句2。
//    char sex = 0;
//    printf("请输入你的性别(m/n):\n");
//    scanf("%c", &sex);
//    if (sex == 'm') {
//        printf("男性");
//    } else {
//        printf("女性");
//    }
    
//    int a = 0; int b = 0; //求两个数的最大值。
//    int max = 0; //存储两个数的最大值。
//    printf("请输入两个整数值:\n");
//    scanf("%d%d", &a, &b);
//    if (a < b) {
//        printf("%d\n", b);
//        max = b;
//    } else {
//        printf("%d\n", a);
//        max = a;
//    }
//    printf("%d",max + 10);
    
//    int a = 0; int b = 0; //求两个数的最小值。
//    int min = 0;
//    printf("请输入两个整数值:\n");
//    scanf("%d%d", &a, &b);
//    if (a < b) {
//        min = a;
//    } else {
//        min = b;
//    }
//    printf("min:%d\n", min);
//
//    //条件运算符
//    min = a < b ? a : b;   //遇到条件表达式就加问好(?)。
//    printf("%d", min);
    
    //练习2: //判断年份是否是闰年。
//    int year;
//    printf("请输入一个年份:\n");
//    scanf("%d", &year);
//    if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
//        printf("%d是闰年。\n", year);
//    } else {
//        printf("%d不是闰年。\n", year);
//    }
    
//    int a = 15, b = 20;
//    if (a < b) {
//        printf("%d", a);
//    } else if (a == b) {
//        printf("%d", a + b);
//    } else {
//        printf("%d", b);
//    }
    //求三个数值的最大值。
//    int a = 0, b = 0, c = 0, max = 0, min = 0, mid = 0;
//    printf("请输入3个数值:\n");
//    scanf("%d%d%d", &a, &b, &c);
//    //1.先求a 与 b 的最大值。
//     max = a > b ? a : b;
//    //2.再求max (a 与 b 的最大值) 与 c的最大值。
//    max = max > c ? max : c;
//    printf("max:%d", max);
    //求三个数值的最小值。
//    min = a < b ? a : b;
//    min = min < c ? min : c;
//    printf("min:%d", min);
    //求三个数值的中间值.
//    mid = (a + b + c ) - (max - min);
    
    //枚举类型  enum + season是枚举数据类型的名字。
//    enum season a = winter;
//    printf("%d", a);
    
    //switch语句  根据括号里表达式的值 与 switch中对应的case 后 的常量进行匹配,
    //一旦发现相同,就执行该case分值的语句,如果没有匹配到对应的case,则就执行 default 分值的语句。
//    enum company lanou = teaching;
//    printf("请输入分机号:\n");
//    scanf("%d", &lanou);
//    switch (lanou) {
//        case teaching:
//        {//如果要在case分支中定义变量,必须要给整个case分支加上大括号。
//            int a = 5;
//            printf("接通教学部\n");
//            break; }  //break结束当前分支,跳出switch,执行switch之后的语句。
//        case marker:
//            printf("接通市场部\n");
//            break;
//        case personl:
//            printf("接通人事部\n");
//            break;
//        case consult:
//            printf("接通咨询部\n");
//            break;
//        //default 语句的执行顺序和位置无关,只要未匹配到对应的分支,就会执行default中的语句。
//        default:
//            printf("你他妈的到底找谁");
//            break;
//    }
//    printf("switch 结束了。");

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值