CangS心得 BOOL,if,switch语法的运用

来源:互联网 发布:淘宝客户端pc版 编辑:程序博客网 时间:2024/04/29 14:28

    

     Bool是一种数据类型

     它只有01两个值

     系统通过预编译0编译成NO1编译成YES

     所以咱们在工程中一般只看见yesno

    

     printf("%d",WL);

    

     声明一个Bool变量初值为NO

     boolC语言中使用的

     BOOLOC语言中使用的

    BOOL b =YES;

    printf ("%d",b);

    

     定义两个变量比较大小并且打印比较结果

    int number1 =5;

    int number2 =10;

    // 关系运算符 > >= < <= == !=

    // 如果成立返回YES也就是1反之NO也就是0

    // 关系运算符优先级

     //(> >= < <= 同级关系) 大于 (== !=)

        BOOL result  = number1 > number2;

    printf("%d",result);

     注意 ==是判断两边是否相等是双等号

     练习1 ==3 >1相当于1 == (3 >1)

     声明BOOL变量接收返回结果

    BOOL result =1 ==3 >1;

    printf("%d",result);

    

     逻辑运算符 && || !

     && 一假则假(必须两边全是真的整个逻辑表达式才是真的)

     || 一真则真(必须两边全是假的整个逻辑表达式才是假的)

     !  对结果进行取反

     终极口诀:非零即真

    

     逻辑与短路现象

     逻辑与如果前面的为假那么后面的就不执行了这就是短路现象

    int a =5;

    int b =10;

    BOOL result = a > b && a++;

    

     逻辑或的短路现象

     逻辑或如果前面的为真整个表达式就为真那么后面的就不去执行了这就是短路现象

    int a =5;

    int b =10;

    BOOL result = a < b || a++;

    

     程序的三种结构

     顺序结构:顺序执行语句.

     分支结构:(重点)通过进行一个判断来选择执行哪个语句

     循环结构:

    

     if语句写法

    /*

       if (判断语句){

           要执行的语句

       }

     如果判断语句为真就执行大括号中的语句

     如果判断语句为假就跳过大括号中的语句(不执行)

     

     */

    

     需求:定义两个整形变量如果a>b打印 ab

    

    int a =5;

    int b =10;

    if(a < b){

        printf("ab");

    }

    

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

     声明一个字符型变量

    char a ='0';

    printf("请输入:\n");

    // 输入函数

    scanf("%c",&a);

    // 进行判断

    if(a =='m'){

        printf("男性");

    }


     练习:如果从控制台输入一个字符,如果输入的是m,则输出男性,否则输出女性,那怎么实现呢?

    char a ='0';

    printf("请输入:\n");

    // 输入函数

    scanf("%c",&a);

    // 进行判断

    if(a =='m'){

        printf("男性");

    }

    if(a !='m'){

        printf("女性");

    }

    

     if语句的第二种形式

    /*

     if(判断条件){

     

          语句1

     }else{

     

          语句2;

     }

     

     不管if语句是哪种形式首先要看的就是判断条件 

     条件成立执行语句1

     条件不成立执行else后面大括号的部分语句2

     

     */

     char a ='0';

     printf("请输入:\n");

     scanf("%c",&a);

    if(a =='m'){

     printf("男性\n");

            }else{

    printf("女性\n");

           }

    

     如果条件成立就执行条件后紧跟着的大括号

     如果条件不成立就执行else后面的大括号

     终极口诀:分支结构中只执行一个分支中的语句


    

    

     练习3:输入一个年份,盘短该年份是偶是闰年

     能被几整除就相当于对几取余等于0

    int year =0;

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

    scanf("%d",&year);

        // 定义一个BOOL类型变量来接收一下

        BOOL result1 = (year %4 ==0 && year %100 !=0);

        BOOL result2 = (year %400 ==0);

    if(result1 || result2){

        printf("闰年");

    }else{

        printf("不是闰年");

    }


     if语句的第三种形式(级连式)

    /*

     if (判断条件1){

     语句1:

     }else if(判断条件2){

     语句2;

     }else{

     语句3;

     }

     

      首先判断条件

      不成立不执行语句1

      继续判断条件2

      不成立不执行语句2......

      如果前面全部成立 else后面又没有判断条件那么执行 else后面大括号中的语句

     

     */

  

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

     实际上输入一个字符相当于输入一个0-255的数

    char c ='0';

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

    scanf("%c",&c);

    if(c >='0' && c <='9'){

        printf("是数字");

    }elseif(c >='A' && c<='Z'){

        printf("是大写");

    }elseif (c >='a' && c <='z') {

        printf("是小写");

    }else{

        printf("other");

    }


    

     条件表达式 (三目运算符)

     判断条件 ?返回值1 :返回值2;

     如果判断条件成立就返回返回值1反之返回返回值2

     需求:定义两个整形变量打印比较大的一个(利用条件表达式)

    int a =5;

    int b =10;

    int max = a > b ? a : b;

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

    

     提高代码阅读性

    if(a > b) {

        printf("%d",a);

    }else{

        printf("%d",b);

    }


     枚举类型

    /*

     定义枚举类型

     enum 枚举类型名字{

     

        枚举值的列表

     

     };

     

     */

    

     需求:创建一个季节枚举枚举的值分别为春夏秋冬

     枚举的值默认是0开始依次递增

     也可以指定枚举的值

    enum season{

        sprint,// 注意 枚举值要用逗号隔开

        summer,

        autom,

        winter

    };

    

    

     switch语句

    /*

    switch (整型表达式可以是数字或者字符) {

        case 1(数字或字符):

            执行的语句1

            break; 跳出整个switch语句

        

        case 2(数字或字符):

            执行的语句2

            break; 跳出整个switch语句

        default:

        如果前面的case都没有匹配上就执行default后面的语句

        break;

    }

     

     */

    

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

     定义一个枚举提高代码阅读性

    enum season{

    // 枚举的值默认是从0开始

        spring = 1,

        summer,

        automn,

        winter,

    };

        int a ;

    printf("请输入1~4号字符\n");

    scanf("%d",&a);

    switch(a){

case spring:

    printf("spring");

    break;

case summer:

    printf("summer");

    break;

case automn:

    printf("autom");

    break;

case winter:

    printf("winter");

    break;

        default :

            break;

    }

       1.defalt可以省去

       2.defalt位置可以变只要所有case没有匹配成功,就会去执行default后面语句

     case里面第定义变量是要加一个大括号或者直接假一个大括号这样可以提高代码的可读性

     多个case可以执行一个语句块

     break;

}

0 0