一、BOOL类型

返回值:真:YES   假:NO

定义一个布尔类型的变量

YES == 1, NO == 0

计算机在识别时,YES就替换成1,NO就替换成0

BOOL isGirl = YES;

printf("张飞是女的吗:%d\n", isGirl);

bool是C语言中提供的,BOOL是OC提供的

bool,返回值 true false

C语言中认为0为假,非0即真

计算BOOL类型的字节

unsigned 无符号类型

sizeof 输出的是无符号长整形

unsigned long size = sizeof(BOOL);

printf("size = %lu\n", size);

unsigned long intSize = sizeof(int);

printf("intSize = %lu\n", intSize);

二、关系运算符

     作用:用来进行两个数比较。
     关系运算符的结果有两种,真或假,用BOOL类型变量来接收
     1. > <

  BOOL r1 =  > ;
     printf("r1 = %d\n", r1);
     BOOL r2 =  < ;
     printf("r2 = %d\n", r2);

     , b = , c = ;
     BOOL r3 = a < b < c; 先运算a < b,再和c比较
     printf("r3 = %d\n", r3);

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

     BOOL r5 =  <= ;
     printf("r5 = %d\n", r5);

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

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

     BOOL r5 =  <= ;
     printf("r5 = %d\n", r5);

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

 BOOL r6 =  == ;
     printf("r6 = %d\n", r6);

     BOOL r7 =  != ;
     printf("r7 = %d\n", r7);

 三、逻辑运算符

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

   ;
      ;
      BOOL r1 = (a < b) && (b == );
      printf("r1 = %d\n", r1);

      BOOL r2 = (b > a) && (a != );
      printf("r2 = %d\n", r2);

       //短路现象:表达式1的结果为假,整个逻辑表达式的结果为假,表达式2将不再执行
      BOOL r3 = (a > b) && (a++);
      printf("r3 = %d\n", r3);
      printf("a = %d\n", a);

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

 ;
     ;
     BOOL r1 = (a > b) || (b == );
     printf("r1 = %d\n", r1);

     BOOL r2 = (b < a) || (a != );
     printf("r2 = %d\n", r2);

      //短路现象:当表达式1的结果为真,整个逻辑表达式的结果为真,表达式2将不再执行
     BOOL r3 = (a < b) || (a++);
     printf("r3 = %d\n", r3);
     printf("a = %d\n", a);

逻辑非  取反

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

四、if语句

     第一种形式

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

     , b = ;
     if (a < b) {
         printf("条件表达式为真\n");
     }

     printf("我在分支语句的下面\n");
 // 练习:定义一个变量age,从键盘输入值,如果age大于等于18,输出”你已经成年了“。
 ;
 printf("请入年龄:");
 scanf("%d", &age);
  ){
 printf("你已经成年了");
  }

练习:控制台输入一个字符,如果输入的是m,则输出男性,否则什么都不输出。

 ; 

 printf("请输入一个字符\n"); 

 scanf("%c", &c);

 if (c == 'm') { 

 printf("男性\n"); 

 printf("不是女性\n"); 

 }

if语句的第二种形式
    /*
     if (条件表达式) {
        语句1;
     } else {
        语句2;
     }
     如果条件表达式为真,执行语句1,否则执行语句2
     
     */

  //从控制台输入一个字符,如果输入的是m,则输出男性,否则输出女性

     ;
     printf("请输入一个字符\n");
     scanf("%c", &ch);
     if (ch == 'm') {
         printf("男性\n");
     } else {
         printf("女性\n");
     }

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

  ;

 printf("请输入年龄:"); 

 scanf("%d", &age); 

 ) { 

 printf("你已经成年了"); 

 } else { 

 printf("你还是个孩子"); 

 }

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

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

 ; 

 printf("请输入一个年份\n"); 

 scanf("%d", &year);

 BOOL r1 = year %  == ; 

 BOOL r2 = year %  == ; 

 BOOL r3 = year % != ; 

  if (r1 || (r2 && r3)) {

 printf("是闰年\n"); 

 } else { 

 printf("不是闰年\n"); 

 }

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

  ;
     ;
     ;
     if (a > b) {
         c = a;
     } else {
         c = b;
     }
     printf("c = %d\n", c);
     c = a > b ? a : b;
     printf("c = %d\n", c); 

 求三个数的最大值

  ; 

 ; 

 ; 

 ; 

 max = a > b ? a : b; 

 max = max > c ? max : c;

 printf("max = %d\n", max);    

if语句的第三种形式
    /*
     if (条件表达式1) {
        语句1;
     } else if (条件表达式2) {
        语句2;
     } else if (条件表达式3){
        语句3;
     } else {
        语句4;
     }  
    */
    
     从控制台输入一个字符,如果输入的是m,则输出男性,否则如果输入的是f,输出女性,否则输出人妖

  ;
     printf("请输入一个字符\n");
     scanf("%c", &ch);

     if (ch == 'm') {
         printf("男性\n");
     } else if (ch == 'f') {
         printf("女性\n");
     } else {
         printf("人妖\n");
     }

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

  //>= '0' <= '9' 

 //>= 'A' <= 'Z' 

 //>= 'a' <= 'z'

 ; 

 printf("请输入一个字符\n"); 

 scanf("%c", &ch);

 ') { 

 printf("this is digital\n"); 

 } else if (ch >= 'A' && ch <= 'Z') { 

 printf("this is capital letter\n"); 

 } else if (ch >= 'a' && ch <= 'z') { 

 printf("this is letter\n"); 

 } else { 

 printf("other\n"); 

 }

五、switch...case分支
   
switch (整型或者字符型的表达式) {
        case 值1(整型或者字符型的常量): {
            语句1;
            break;
         }
        case 值2: {
            语句2;
            break;
        }
        ......
        default: {
            语句3;
            break;
        }
    }
     先执行switch后的表达式,根据表达式的值查找想要的case分支,并执行分支语句
     
     default:默认分支,如果没有找到对应的分支,执行default分支
     
     break:结束当前的case分支
    
     从控制台输入一个字符,如果输入的是m,则输出男性,否则如果输入的是f,输出女性,否则输出人妖

 ;
     printf("请输入一个字符\n");
     scanf("%c", &ch);
     switch (ch) {
         case 'm': {
             ; // 如果需要在case分支中定义变量,分支语句用{}括起来
             printf("男性\n");
             break;
         }
         case 'f': {
             printf("女性\n");
             break;
         }
         default: {
             printf("人妖\n");
             break;
         }
     }

,对应打出春夏秋冬的英文词。 

  ;

 printf("请输入1~4的整数\n");

 scanf("%d", &value);

 switch (value) { 

 :

 printf("Spring\n"); 

 break; 

 : 

 printf("Summer\n"); 

 break; 

 : 

 printf("Autumn\n");

 break; 

 : 

 printf("Winter\n"); 

 break; 

 default: 

 break; 

 }

iOS学习之C语言分支结构的更多相关文章

  1. iOS学习之C语言循环结构

    一.while循环    while (循环条件) {        循环体:    }    // 1.定义循环变量    int time = 1;    // 2.循环条件    while ( ...

  2. IOS学习笔记07---C语言函数-printf函数

    IOS学习笔记07---C语言函数-printf函数 0 7.C语言5-printf函数 ------------------------- ----------------------------- ...

  3. IOS学习笔记06---C语言函数

    IOS学习笔记06---C语言函数 --------------------------------------------  qq交流群:创梦技术交流群:251572072              ...

  4. iOS学习笔记---c语言第二天

    一.bool布尔类型    c语言没有bool类型,oc里有bool类型 是一种非真即假的数据类型,布尔类型的变量只有yes和no两个值.yes表示表达式是真,no表示表达式是假. 在c语言中认为非0 ...

  5. C语言分支结构之if else语句

    前面我们看到的代码都是顺序执行的,也就是先执行第一条语句,然后是第二条.第三条……一直到最后一条语句,这称为顺序结构. 但是对于很多情况,顺序结构的代码是远远不够的,比如一个程序限制了只能成年人使用, ...

  6. Objective-C 学习笔记(一) 语言程序结构

    Objective-C语言程序结构 “Hello World”简单示例 #import <Foundation/Foundation.h> //预处理命令,它告诉Objective-C语言 ...

  7. iOS学习02C语言分支结构

    1. BOOL类型 返回值:真:YES  假:NO BOOL数据类型占一个字节的内存空间,占位符为%d. 计算机在识别时,YES就替换成1,NO就替换成0. bool是C语言中的布尔类型,返回值为tr ...

  8. iOS学习之C语言结构体

    结构体:用来存放相同类型数据或者不同类型数据的自定义类型. 结构体定义(声明) struct 结构体名 {    成员变量1;    成员变量2;    ... }; typedef 现有类型 新的类 ...

  9. iOS学习笔记---oc语言第一天

    第一讲 初始类和对象 c语言的超集,允许在oc中使用c语言源代码.编译器兼容c语言程序 具备完善的面向对象特性 包含一个运行时系统 类库丰富 面向对象编程 oop 面向对象语言:c++  java   ...

随机推荐

  1. DownLoadFile - FileHandler

    C# 跳转新页面 判断URL文件是不是在于在. C# 指定物理目录下载文件,Response.End导致“正在中止线程”异常的问题 public class FileHandler { public ...

  2. 洛谷P2738 [USACO4.1]篱笆回路Fence Loops

    P2738 [USACO4.1]篱笆回路Fence Loops 11通过 21提交 题目提供者该用户不存在 标签USACO 难度提高+/省选- 提交  讨论  题解 最新讨论 暂时没有讨论 题目描述 ...

  3. 磁盘测试工具fio

    https://wiki.mikejung.biz/Benchmarking #blocksize This options determines the block size for the I/O ...

  4. C# 特性Attributes 和反射

    一,Attributes 类新建一个子类,DetailAttributes 二, 在类的属性声明上面加Attributes public class testAttributes { [Detail( ...

  5. python发邮件遇到的端口号问题

    在学习使用python发邮件的过程中, 遇到了一个问题:由于测试的时候使用的是QQ邮箱,要求必须使用SSL/TLS加密,所以有了下面的代码, from email.mime.text import M ...

  6. Flexbox布局详解

    弹性框布局 (flexbox) 添加了级联样式表级别 2 修订版 1 (CSS2.1) 中定义的四个基本布局模式:块布局.内联布局.表格布局和定位布局.使用弹性框布局功能,你可以更加轻松地设计复杂网页 ...

  7. AJAX验证用户是否存在

    <html> <head> <title> ajax验证 </title> </head> <body> <input t ...

  8. Unable to add App ID because the '10' App ID limit in '7' days has been exceeded.

    Unable to add App ID because the '10' App ID limit in '7' days has been exceeded. 官方的原因是对bundle iden ...

  9. 如何获取tableview中当前选中的cell

    当我们点击某个cell时,会执行下面这个方法,方法中调用另一方法执行具体操作: - (void)tableView:(UITableView *)tableView didSelectRowAtInd ...

  10. js如何将纯数字字符串转换为long型

    1.js如何将纯数字字符串转换为long型? js 中 int的存储位数?最大十进制数表示是多少? 精度http://www.jb51.net/article/59808.htm 整数(不使用小数点或 ...