C_Language_03

 C_Language_03
    
布尔类型:
        1.C89没有布尔类型,C工程支持C89
          C99有布尔类型,OC工程支持
        2.两种数值  真  假
        bool true真 false假    C语言
        BOOL YES真  NO假       OC语言
        bool a0 = 4;
        BOOL a = 4;
        printf("%d %d\n",a0,a);
        3.真假的表示
          C语言   非0即为真
          OC语言  YES定义为1,NO定义为0
        4.输出转义字符%d
        5.作用于分支结构循环结构的判断
        BOOL a = YES;
        BOOL b = NO;
        printf("a = %d\n",a);
        printf("b = %d\n",b);
    
关系运算符:
        1.用于进行两个数的比较
        2.关系运算符的结果只有两种:真,假;使用BOOL类型变量接受
        3.关系表达式的组成:由变量,常亮,关系运算符组合而成
大于 小于
        BOOL a1 = 5 > 3;//真
        printf("%d\n",a1);//输出为1
        BOOL a1 = 5 < 3;//假
        printf("%d\n",a1);//输出为0
    
        int c, oc;
        printf("请输入C语言成绩:");
        scanf("%d",&c);
        printf("请输入OC语言成绩:");
        scanf("%d",&oc);
        BOOL i = c > oc;
        printf("结果为%d\n",i);
        printf("结果为1表示C语言成绩高于OC成绩\n结果为0表示C语言成绩低于OC成绩\n");
大于等于  小于等于
        BOOL a1 = 5 >= 3;
        printf("%d\n",a1);
        BOOL a2 = 5 <= 3;
        printf("%d\n",a2);
等于 不等于
     ==用于判断是否相等,左右;两侧可以是变量也可以是常量
     = 用于赋值  左侧只能是变量
     *****浮点型数不能用 == 比较是否相等(小数存在四舍五入,不精确)
        float a0 = 0.123456789;
        float b0 = 0.12345678912;
        BOOL c = a0 == b0;
        printf("%d\n",c);

        int a = 3;
        int b = 5;
        BOOL c0 = a == b;
        printf("%d\n",c0);
        BOOL c1 = a != b;
        printf("%d\n",c1);
    
逻辑运算符:
        1.逻辑运算符的结果只有两种:真,假;使用BOOL类型变量接受
        2.逻辑表达式:变量、常量、逻辑运算符组合而成
逻辑与 &&
          1.逻辑与表达式:表达式1 && 表达式2
          2.运算规则:
           (1)先执行表达式1,再执行表达式2
           (2)表达式1和表达式2同时为真,结果为真;否则结果为假
        int a = 10;
        int b = 12;
        BOOL c = a < b && b < 3;
        printf("%d\n",c);
           (3)短路现象
               表达式1的结果为假,不再执行表达式2的值
        BOOL d = a >b && a++;
        printf("%d %d\n",d,a);
逻辑或 ||
          1.逻辑或表达式:表达式1 || 表达式2
          2.运算规则:
          (1)先执行表达式1,再执行表达式2
          (2)表达式1和表达式2有一个为真或两个都为真,结果为真,其他情况,结果为假。一真即真。
        int a = 3;
        int b = 4;
        BOOL c = a > b || b < 2;
        printf("%d\n",c);
          3.短路现象
        printf("a = %d b = %d\n", a, b);
        BOOL d0 = a > b || a++;
        printf("d = %d a = %d\n", d0, a);
        printf("a = %d b = %d\n", a, b);
        BOOL d1 = a < b || a++;
        printf("d = %d a = %d\n", d1, a);
逻辑非 !
          1.逻辑非,取反运算
          2.运算规则:对真假取反
        BOOL a = YES;
        BOOL b = !a;
        printf("a = %d\n",a);
        printf("b = %d\n",b);
 运算符优先级
        !>算数运算符>关系运算符>逻辑运算符>赋值运算符
    
if控制语句:
        1.程序设计的三种结构:顺序、分支、循环
       (1)顺序:程序中的语句按照先后顺序执行
       (2)分支:又称为选择;通过一个判断,选择执行某个分支的语句。例如:有女朋友就买房结婚,否则就租房打光棍
       (3)循环:满足某个条件的时候,重复执行某个代码段
分支:if switch
        if 控制语句的作用:通过判断,选择执行某个分支语句
1.if第一种形式
        if (条件表达式) {
            语句
        }
        运行逻辑:如果表达式为真,执行{}内的语句,如果为假,跳过{},执行后面。
        int Score;
        printf("Enter Score:");
        scanf("%d",&Score);
        if (Score > 90) {
            printf("小伙真帅!\n");
        }
2.if第二种形式
        if (条件表达式) {
            语句1
        } else {
            语句2
        }
        int Score;
        printf("Enter Score:");
        scanf("%d",&Score);
        if (Score > 90) {
            printf("小伙真帅!\n");
        }else{
            printf("凑合看吧!\n");
        }
3.if第三种形式
        if (条件表达式1) {
            语句1
         } else if(条件表达式2){
            语句2
         } else{
            语句3
         }
        char sex;
        printf("Please enter a char: ");
        scanf("%c",&sex);
        if (sex == 'm') {
            printf("this people is a man\n");
        } else if(sex == 'w'){
            printf("this people is a woman\n");
        } else{
            printf("It is a people?\n");
        }
    
条件运算符:
        条件表达式 ? 表达式1:表达式2
        运算规则:如果表达式为真,整个表达式的值为表达式1的值,如果为假,整个表达式的值为表达式2的值
        int a = 3,b = 4;
        int c = a > b ? a : b;
        printf("%d\n",c);
        printf("输入两个数:");
        int a, b;
        scanf("%d%d",&a,&b);
        int c = a > b ? a : b;
        printf("两个数中较大数为:c = %d\n",c);
        printf("请输入三个数:");
        int a, b, c;
        scanf("%d%d%d",&a, &b, &c);
        int d = a > b ? (a > c ? a : c) : (b > c ? b : c);
    //    int d = a > b ? a > c ? a : c : b > c ? b : c;
        printf("%d\n",d);
    
多分支语句:
switch...case
     语法:
        (1)switch后面是整形或者字符型表达式
        (2)case后面市整数或字符型常量
        (3)case后面呢需要添加{}
        (4)break case和default默认都跟随一个break语句,用于结束某个case,然后结束switch 控制语句,执行switch之后的语句
        运行逻辑:
        (1)如果表达式和某个case常量相等,执行这个case后面的语句
        (2)如果没有表达式和某个常量相等,执行default后面的语句
        char a;
        printf("请输入一个字符:");
        scanf("%c",&a);
        switch (a) {
            case 'm':{
                printf("Man\n");
                break;
            }
            case 'w':{
                printf("Women\n");
                break;
            }
            default:{
                printf("不是人!!!\n");
                break;
            }
        }
    
枚举类型:
        1.枚举属于构造类型
        2.一组具有名称的 整形变量
        3.目的:提高代码的可读性。标识符:人类可以识别的。数字:计算机可以识别
        4.语法:
        enum 枚举变量名{
            标识符1,
            标识符2,
            ...
        };
        5.定义枚举类型写在函数外面
        6.枚举类型变量每次只能赋一个数值,但是数值包含多种
        enum ColorType {
            yellow,//默认从0开始
            red,
            blue = 4,
            green,
        };
    
        enum ColorType Color1 = yellow;
        enum ColorType Color2 = red;
        enum ColorType Color3 = blue;
        enum ColorType Color4 = green;
        
        printf("%d\n",Color1);
        printf("%d\n",Color2);
        printf("%d\n",Color3);
        printf("%d\n",Color4);
    
      定义枚举类型,使用9001~9004分别表示4个部门的分机号,四个部门依次是 市场部、教务部、教学部、就业部
        enum SectionPhoneNumber{
            Market = 9001,
            Acdemic = 9002,
            Education = 9003,
            Career = 9004,
        };
        
        enum SectionPhoneNumber Section1 = Market;
        enum SectionPhoneNumber Section2 = Acdemic;
        enum SectionPhoneNumber Section3 = Education;
        enum SectionPhoneNumber Section4 = Career;
        
        printf("%d\n",Section1);
        printf("%d\n",Section2);
        printf("%d\n",Section3);
        printf("%d\n",Section4);
    
    
    
    

posted @ 2015-11-24 22:58  DH_Fantasy  阅读(82)  评论(0)    收藏  举报