C02 分⽀结构的总结(含个人思维导图梳理)

//

//  main.m

//  CLesson02

//

//  Created by 亮亮 on 15/10/8.

//  Copyright (c) 2015 Darling.com. All rights reserved.

//  关系运算符、逻辑运算符、if 、条件运算符、switch..case..


//importC语言中的include含义一样,都是用来导入外部文件的。

#import <Foundation/Foundation.h>

// 枚举是构造类型

//enum Week {

//    monday = 1, // 枚举值默认从0开始编号,后一个枚举值比前一个大一。我们可以修改枚举值所代表的数字。

//    tuesday,

//    wednesday,

//    thursday,

//    friday

//};


int main(int argc, const char * argv[]) {

    

    

#pragma mark 1.布尔类型

    /*

     1、在C89中,没有布尔的概念,在C99中,使用ture表示(非0的数);使用false表示0)。

     2C99中的布尔值是小布尔:bool

     3、在Xcode中创建的C工程,只支持C89版本,OC工程支持C99版本。

     4、在OC中,使用YES表示真,使用NO表示假;YES定义为1NO定义为0

     */

    

    //定义一个小布尔变量,值为真

    //    bool a = true;

    //    printf("a = %d\n", a); //打印布尔变量使用的占位符是%d

    

    //定义一个OC中的布尔变量,值为假,并打印验证。

    //    BOOL b = NO;

    //    printf("b = %d", b);

    

    

#pragma mark 2.关系运算符

    /*

     1、用于比较两个数字之间的大小关系

     2、关系表达式的结果只有两种情况:真、假。使用布尔类型的变量盛放

     3、关系表达式:由常量、变量、关系运算符组合而成的表达式

     */

    

    //大于 >、小于<、大于等于>=、小于等于<=、等于==、不等于!=

    //    BOOL result = 5 > 3;

    //    printf("result = %d\n", result);

    

    //定义两个变量,分别存放COC的考试成绩,在定义一个变量来存放两个成绩的比较结果,并打印。

    //    int C_Score = 90, OC_Score = 99;

    //    BOOL result1 = C_Score > OC_Score;

    //    printf("result1 = %d\n",result1);

    //    printf("result1 = %d\n", C_Score != OC_Score);

    

    //判断C成绩是否在80-100范围内,并打印判断结果

    //    BOOL result2  = ( C_Score >= 80 && C_Score <= 100 );

    //    printf("result2 = %d\n",result2);

    

    

#pragma mark 3.逻辑运算符

    /*

     1、逻辑运算符的结果和条件表达式的结果一样,真或假,用BOOL类型的变量接收

     2、逻辑表达式:由常量、变量、逻辑运算符组合而成的表达式

     */

    

    //     逻辑与:&&

    //     逻辑与表达式的语法:表达式1 && 表达式2

    //     逻辑与的运算规则:先执行表达式1、再执行表达式2、最后再用&&判断整个表达式返回什么样的结果。

    //    int a = 10, b = 20;

    //    BOOL result3 = a < b && b == 2; //只有在逻辑与两边的条件同时为真得情况下,才会返回真,否则,返回假。

    //    printf("result3 = %d\n", result3);

    //

    //

    //    BOOL result4 = a > b && b++;

    //    printf("result4 = %d\n", result4); // 逻辑与的短路现象:如果第一个表达式的值为假,则不再计算第二个表达式。直接返回假。(b++这个表达是不会得到执行)

    //    printf("b = %d\n", b);

    //

    //     逻辑或:||

    //    /* 1、逻辑或表达式的语法:表达式1 || 表达式2

    //       2、逻辑或的运算规则:

    //         1)、先执行表达式1,再执行表达式2,只有表达式1和表达式2同时为假,整个逻辑表达式返回假,只要有一个为真,则返回真。即:一真则真。

    //         2)、逻辑或的短路现象:如果有一个表达式的值为真,则不再计算第二个表达式。直接返回真。

    //     */

    //

    //    int a = 10, b = 20;

    //    BOOL result = a > b || a < b;

    //    printf("result = %d\n", result);

    //

    //    int c = 5;

    //    BOOL result1 = c++ || c++; // 注意:逻辑或的短路现象

    //    printf("result1 = %d\n", result1);

    //    printf("c = %d\n",c);

    //

    //     逻辑非:!

    //    /*

    //      逻辑非是取反操作,如果表达式为真,则取反后,就返回,原表达式为假,取反后,返回。注意:逻辑非运算,并不会改变原表达式的值。

    //     逻辑非的语法:!表达式;

    //

    //     */

    //

    //    int a = 12, b = 24;

    //    BOOL result = !(a < b);

    //    printf("result = %d\n", result);

    

    // 运算符的优先级:! > 算术运算符 > 关系运算符 > 逻辑运算符(仅限&&||> 赋值运算符(=

    

#pragma mark 4.if语句

    /*

     1、程序设计的三种结构:

     顺序结构、分支结构、循环结构

     2、分支结构:分支结构是一种选择结构,可以使用if语句来控制,也可以使用switch语句来控制。

     3if控制语句的作用:通过判断,选择执行某个分支语句(只能执行if中的一个分支,不能同时执行多个)

     

     */

    

    //     if语句的第一种形式:单分支结构

    //    if (条件表达式) {

    //        语句;(分支一)

}

//     if:如果

//     条件表达式:逻辑表达式、关系表达式、算术表达式。。。表达式的结果:真或假

//     if语句的运行逻辑:如果条件表达式为真,执行{}里边的分支,如果为假,则跳过分支,程序继续向后执行。


//    int a = 10, b = 20;

//    if (a < b) {

//        printf("条件表达式为真\n");

//    }

//    printf("我在if语句的后边");


//从控制台输入一个数,判断用户输入的整形数是否大于100,如果大于,则输出数字大于100”,否则,什么都不做。

//    //1.定义一个整形变量,用来保存用户输入的数字

//    int num = 0;

//    //2.输出一句话:提醒用户输入

//    printf("亲,请从控制台输入一个整数:");

//    //3.使用输入函数,让用户输入数字保存在变量num

//    scanf("%d" , &num);

//    //4.判断用户输入的数字是否大于100

//    if (num > 100) {

//        printf("数字大于100\n");

//    }


//    // if控制语句的第二种形式:双分支结构

//    // 如果。。。否则。。。 if。。。else。。。

//    if (条件表达式) {

//        分支一;

//    } else {

//        分支二;

//    }

//



//     从控制台输入一个字符,如果是m,则输出洛洛,如果是f,则输出贤成

//    // 1.定义一个字符型变量

//    char charr;

//    // 2.输出一句话,提示用户输入字符

//    printf("亲,请任意输入一个字符:");

//    // 3.使用输出函数,将用户输入的字符保存到变量中

//    scanf("%c", &charr);

//    // 4.使用if语句判断

//    if (charr == 'm') {

//        printf("洛洛\n");

//    } else if(charr == 'f') {

//        printf("贤成\n");

//    } else{

//        printf("亲,不要乱来呦\n");

//    }



//     输入一个字符,判断是否是m,如果是m,则输出:杨煜黎,你在干嘛?,否则,输出:我在画画呀~

//    char charr;

//

//    printf("亲,请输入一个字符:");

//    scanf("%c", &charr);

//

//    if (charr == 'm') {

//        printf("杨煜黎,你在干嘛?\n");

//    }else{

//        printf("杨煜黎,你在干嘛?\n我在画画呀~\n");

//    }



//    输入一个字符,判断是否是m,如果是m,则布尔型变量为真,否则,布尔型变量为假,最后打印布尔变量的值

//    char a;

//    BOOL b;

//

//    scanf("%c", &a);

//

    if (charr == 'm') {

        b = YES;

    }else{

        b = NO;

    }

//

//    b = (a == 'm') ? YES : NO;

//    // 条件运算符

//    // 语法形式 条件表达式 表达式1 : 表达式2;

//    // 运算规则 如果条件表达式成立,则返回表达式1的值,否则,返回表达式2的值

//    printf("b = %d", b);


#pragma mark 5.switch语句

/*

 多分支语句:

 作用:提供多个分支(代码量远小于if级联形式),功能和if级联形式特别相似,但是从代码量和可读性两方面远远胜过if级联。

 语法:

 switch (<#expression#>) {

 case <#constant#>:

 <#statements#>

 break;

 

 default:

 break;

 }

 

 1)、switch后边跟的是整形或字符型表达式

 2)、case 整形,或字符型常量

 3)、case后边要添加{}

 4)、breakcasedefault关键字后边都需要跟一个break关键字,用来跳出当前分支

 

 运行逻辑:

 1)如果小括号中的表达式和某个case常量相等,执行这个case后边的语句

 2)如果没有和表达式相等的case常量,执行default后边的语句。

 

 */


//    char a;

//    scanf("%c", &a);

//    switch (a) {

//        case 'm':{

//            printf("洛洛\n");

//            break; // braek跳出switch

//        }

//

//        case 'f':{

//            printf("贤成\n");

//            break;

//        }

//

//        default:{

//            printf("亲,请自重!\n");

//            break;

//        }

//    }


//    /*

//     第一天:睡觉

//     第二天:吃饭

//     第三天:写代码

//     第四天:看片儿

//     第五天:实践

//     */

//    // 1.定义整形变量

//    int a = 0;

//    // 2.保存用户输入的整形数

//    scanf("%d", &a);

//    // 3.使用switch语句判断用户输入的数字,然后执行不同的分支

//    switch (a) {

//        case monday:{

//            printf("睡觉\n");

//            break;

//        }

//

//        case tuesday:{

//            printf("吃饭\n");

//            break;

//        }

//

//        case wednesday:{

//            printf("写代码\n");

//            break;

//        }

//

//        case thursday:{

//            printf("看片儿\n");

//            break;

//        }

//

//        case friday:{

//            printf("实践\n");

//            break;

//        }

//

//        default:{

//            printf("实践太累,休息休息\n");

//            break;

//        }

//    }

//

//    

//    return 0;

//}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值