zoukankan      html  css  js  c++  java
  • iOS开发-OC分支结构

     BOOL类型

      返回值:真:YES  :NO
      BOOL数据类型占一个字节的内存空间,占位符为%d
      计算机在识别时,YES就替换成1NO就替换成0
      boolC语言中的布尔类型,返回值为truefalse
      0为假,除0以为任何数字均为真 
      计算类型是字节大小(sizeof(BOOL))   
    1         unsigned long size = sizeof(BOOL(其他类型...));
    2         printf("size = %lu
    ",size);   
    3     
    4         unsigned long intSize = sizeof(int);
    5         printf("intSize = %lu
    ", intSize);

     关系运算符

      用来进行两个数比较
      关系运算符的结果有两种,,用BOOL类型变量来接收

      1> > <    

    1         int a = 5, b = 4, c = 3;
    2         BOOL r3 = a < b < c; // 先运算 a < b,再和c比较
    3         printf("r3 = %d
    ", r3);

      2> >=  <=

        符合>或者=任何一个,结果为真 

            BOOL r4 = 5 >= 5;
            printf("r4 = %d
    ", r4);

      3> ==, !=

        = 用来赋值,== 用来判断两个数是否相等   

    1         BOOL r6 = 5 == 4;
    2         printf("r6 = %d
    ", r6);
    3     
    4         BOOL r7 = 10 != 5;
    5         printf("r7 = %d
    ", r7); 

    逻辑运算符

       逻辑与:&&  逻辑或:||   逻辑非 !
      逻辑表达式的结果只有两种,,用BOOL类型的变量来接收
        
      逻辑与, 并且,同时
      表达式: 表达式1 && 表达式2
      运算规则:表达式1和表达式2同时为真,整个逻辑表达式的结果为否则为假(一假即假)

    1         int a = 10;
    2         int b = 20;
    3         BOOL r1 = (a < b) && (b == 20);
    4         printf("r1 = %d
    ", r1);

      短路现象:表达式1的结果为假,整个逻辑表达式的结果为假,表达式2将不再执行

    1         BOOL r3 = (a > b) && (a++);
    2         printf("r3 = %d
    ", r3);
    3         printf("a = %d
    ", a);

      逻辑或 或者,不强调同时
      表达式: 表达式1 || 表达式2
      运算规则:表达式1或者表达式2任何一个为真,整个逻辑表达式的结果为,只有当表达式1和表达式2同时为假,整个逻辑表达式结果为假(一真即真,全假则假)

    1          int a = 10;
    2         int b = 20;
    3         BOOL r1 = (a > b) || (b == 20);
    4         printf("r1 = %d
    ", r1);
    5     
    6         BOOL r2 = (b < a) || (a != 10);
    7         printf("r2 = %d
    ", r2);

      短路现象:当表达式1的结果为真,整个逻辑表达式的结果为真,表达式2将不再执行    

    1         BOOL r3 = (a < b) || (a++);
    2         printf("r3 = %d
    ", r3);
    3         printf("a = %d
    ", a);

      逻辑非  取反

            BOOL r4 = NO;
            BOOL r5 = !r4;
            printf("r5 = %d
    ", r5);

    if语句

       第一种形式

        if (条件表达式) {
              分支语句;
           }
      条件表达式为真,执行分支语句,如果为假,执行分支语句下面的内容

      练习:定义一个变量age,从键盘输入值,如果age大于等于18,输出”你已经成年了“。

    1         int age = 0;
    2         printf("请入年龄:");
    3         scanf("%d", &age); 
    4         if (age >= 18) {
    5             printf("你已经成年了");
    6         }

      第二种形式

        if (条件表达式) {
              语句1;
           } else {
              语句2;
           }
      如果条件表达式为真,执行语句1,否则执行语句2

      练习:输入一个年份,判断该年份是否是闰年?如果是闰年,则输出该年是闰年,否则输出该年不是闰年。

      (能被400整除) || ((能被4整除) && (不能被100整除))

     1      int year = 0;
     2         printf("请输入一个年份
    ");
     3         scanf("%d", &year); 
     4 
     5         BOOL r1 = year % 400 == 0;
     6         BOOL r2 = year % 4 == 0;
     7         BOOL r3 = year %100 != 0;
     8     
     9         if (r1 || (r2 && r3)) {
    10              printf("是闰年
    ");
    11         } else {
    12             printf("不是闰年
    ");
    13         }

      第三种形式

        if (条件表达式1) {
              语句1;
           } else if (条件表达式2) {
              语句2;
           } else {
              语句4;
           }

      练习: 从键盘输入一个字符,如果是数字打印 this is digital,如果是大写字母,打印 this is  capital letter,如果是小写字母,打印 this is letter,如果是其他字符,打印 other。

     1      char ch = 0;
     2         printf("请输入一个字符
    ");
     3         scanf("%c", &ch);
     4     
     5         if (ch >= '0' && ch <= '9') {
     6             printf("this is digital
    ");
     7         } else if (ch >= 'A' && ch <= 'Z') {
     8             printf("this is  capital letter
    ");
     9         } else if (ch >= 'a' && ch <= 'z') {
    10             printf("this is letter
    ");
    11         } else {
    12             printf("other
    ");
    13         }

      条件运算符 ? :
        条件表达式? 表达式1 : 表达式2;
        如果条件表达式为真,执行表达式1,否则执行表达式2

    5、switch...case分支

       switch (整型或者字符型的表达式) {
            case 值1(整型或者字符型的常量): {
                语句1;
                break;
             }
            case 值2: {
                语句2;
                break;
            }
            ......
            default: {
                语句3;
                break;
            }

      先执行switch后的表达式,根据表达式的值查找想要的case分支,并执行分支语句
         default:默认分支,如果没有找到对应的分支,执行default分支
         break:结束当前的case分支

      练习:从控制台输入1~4,对应打出春夏秋冬的英文词。

     1      int value = 0;
     2         printf("请输入1~4的整数
    ");
     3         scanf("%d", &value);
     4     
     5         switch (value) {
     6             case 1:
     7                 printf("Spring
    ");
     8                 break;
     9             case 2:
    10                 printf("Summer
    ");
    11                 break;
    12             case 3:
    13                 printf("Autumn
    ");
    14                 break;
    15             case 4:
    16                 printf("Winter
    ");
    17                 break;
    18             default:
    19                 break;    
    20 }
  • 相关阅读:
    Identity Server 4 原理和实战(完结)_建立Angular 客户端
    Identity Server 4 原理和实战(完结)_为 MVC 客户端刷新 Token
    Identity Server 4 原理和实战(完结)_Authorization Code Flow 实例
    Identity Server 4 原理和实战(完结)_Resource Owner Password Credentials 授权实例
    ASP.NET Core会议管理平台实战_2、基本概念的理解
    ASP.NET Core会议管理平台实战_汇总贴
    ASP.NET Core会议管理平台实战_1、开篇介绍
    Identity Server 4 原理和实战(完结)_建立Identity Server 4项目,Client Credentials 授权实例
    Identity Server 4 原理和实战(完结)_----选看 OpenId Connect 简介
    Identity Server 4 原理和实战(完结)_----选看 OAuth 2.0 简介(下)
  • 原文地址:https://www.cnblogs.com/melons/p/5791781.html
Copyright © 2011-2022 走看看