一、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. Android基础总结(4)——广播接收器

    在Android中的每个应用程序可以对自己感兴趣的广播进行注册,这样该程序就只会接收自己所关心的广播内容,这些广播可能来自于系统的,也可能来自于其他应用程序的.Android提供了一整套完整的API, ...

  2. 多XML追加操作

    假设要统计当前系统中所有的试卷进行分析,试卷是以XML格式存储的,所有这就需要将所有零散的XML文件整合起来,处理成一个完整的XML文件,进行分析, 下面是简单额处理方法: 当前XML文件格式: &l ...

  3. javascript代码复用模式(二)

    前面说到,javascript的代码复用模式,可分为类式继承和非类式继承(现代继承).这篇就继续类式继承. 类式继承模式-借用构造函数 使用借用构造函数的方法,可以从子构造函数得到父构造函数传任意数量 ...

  4. iptable防火墙配置

    /etc/sysconfig/iptables /etc/init.d/iptables {start|stop|restart|condrestart|status|panic|save} ipta ...

  5. undefined reference to `pthread_create'问题解决

    在编译pthread有关的程序时,出现undefined reference to `pthread_create'这样的错误. 问题原因: pthread 库不是 Linux 系统默认的库,连接时需 ...

  6. 地球坐标系与投影方式的理解(关于北京54,西安80,WGS84;高斯,兰勃特,墨卡托投影)

    一.地球模型 地球是一个近似椭球体,测绘时用椭球模型逼近,这个模型叫做参考椭球,如下图: 赤道是一个半径为a的近似圆,任一圈经线是一个半径为b的近似圆.a称为椭球的长轴半径,b称为椭球的短轴半径. a ...

  7. swift皮筋弹动发射飞机

    今天在那个ios教程网上看到了一个不错的ios游戏源码,这是一个款采用swift实现的皮筋弹动发射飞机游戏源码,游戏源码比较详细,大家可以研究学习一下吧. <ignore_js_op> & ...

  8. PHP版实现友好的时间显示方式(例如:2小时前)

    完整php类,通常我会配合smary使用,快捷使用 (plugins/function.rdate.php),更多php技术开发就去php教程网,http://php.662p.com <?PH ...

  9. VS2013添加NuGet的方法

    1.工具->扩展和更新->联机 2.右上角搜索框搜索NuGet,选择NuGet Package Manager for Visual Studio 2013,安装后重启VS 下面通过添加N ...

  10. 华为OJ-合唱队

    华为OJ-初级题-合唱队 思路与分析 本题可以用DP的方法,分别从正向和逆向的两个方向求,该数组即186 186 150 200 160 130 197 200的上升对大序列.正向为[1, 1, 1, ...