运算符与分支结构

运算符

  赋值运算符

  算术运算符

  关系运算符

  逻辑运算符

  位运算符

  sizeof运算符

一 算术运算符

  1 一元运算符:++,--

int main()
{
    int a = 5;
    int b = a++;
    printf("b = %d\n",b);
    printf("a = %d",a);
    return 0;
}

  输出:

b = 5
a = 6
Process returned 0 (0x0)   execution time : 0.108 s

 

  2 二元运算符:+,-,*,/,%

  3 三元运算符:

  4 复合运算符

int main()
{
    double a = 2.3;
    double b = 1.8;
    printf("%.2lf / %.2lf = %.2lf",a,b,a/b);
    return 0;
}

  输出:

2.30 / 1.80 = 1.28
Process returned 0 (0x0)   execution time : 0.112 s

 

二 关系运算符

  >,<

  >=,<=

  ==,!=

  关系运算符可以比价大小,高低,长短

int main()
{
    int a = 5;
    int b = 6;

    printf("%d\n",5>6);

    return 0;
}

  输出;

0

Process returned 0 (0x0)   execution time : 0.121 s

  在C语言中,0 表示 假,1(非0)表示真。

 

三 逻辑运算符

  && 且           两个条件同时为真时,结果为真

  ||    或           两个条件有一个为真,结果为真

  ! 取反         条件为真时,结果为假。条件为假时,结果为真。

 

四 位运算符

  &         按位与  

  |           按位或

  ~          按位非

  ^           按位异或

  <<         左移

  >>         右移

  >>>        无符号右移

 

五  sizeof 运算符

  使用sizeof运算符可以获得数据类型占用内存空间的大小。

  参数可以是类型,也可以是某个数值。

int main()
{
    printf("int %d\n",sizeof(int));
    printf("float %d\n",sizeof(2.3f));
    printf("double %d",sizeof(2.3));
}

  输出:

int 4
float 4
double 8
Process returned 0 (0x0)   execution time : 0.111 s

 

六 算术运算符的优先级

  () sizeof  ++  --

  !

  算术运算符

  关系运算符

  &&

  ||

  赋值运算符

  

  单目运算符包括 !,~, ++, --, sizeof,优先级最高

  优先级最低的是赋值运算符

  可以通过()控制表达式的运算顺序,()优先级最高

  从右到左结合性的只有赋值运算符,三目运算符,和单目运算符

  算术运算符 > 关系运算符 > 逻辑运算符

 

七  if语句

  (part 1 )

    注意格式,和python不太一样。

int main()
{
    if (条件为真)
    {
        代码1
    }
    else
    {
        代码2
    }

}

 

 示例:

#include <stdio.h>s
#include <stdlib.h>

int main()
{
    if (100>90)
    {
        printf("100 big");
    }
    else
    {
        printf("90 big");
    }

}

  输出:

100 big
Process returned 0 (0x0)   execution time : 0.181 s

 

  (part 2 )多重 if 结构

    格式

int main()
{
    if (条件1)
    {
       代码1
    }
    else if (条件2)
    {
        代码2
    }
    else
    {
        代码3
    }
}

 

八  switch结构

  格式

#include <stdio.h>s
#include <stdlib.h>

int main()
{
    switch(表达式){
        case 常量1:
                语句1;
                break;
        case 常量2:
                语句2;
                break;
        ......
        default:
            语句;
    }
}

  注意点

    break 跳出switch结构

    switch 后面的 表达式只能是整型或字符型

    case 后常量表达式的值不能相同

    case后允许多条语句,不需要大括号

    case 和 default 子句的先后顺序可以自动变动

    default 子句可以省略  

  

  示例

int main()
{
    int mouth;
    printf("input the month:");
    scanf("%d",&mouth);
    switch (mouth)
    {
    case 1:
        printf("31 days\n");
        printf("1 month");
        break;
    case 2:
        printf("2 month\n");
        printf("28 days");
        break;
    case 3:
        printf("3 month\n");
        printf("31 days");
        break;
    default:
        printf("unsupportable!");
    }
}

  

九  switch 与 多重 if 对比

  相同点

    都是用来处理多分支条件的结构

  不同点

    switch:等值条件判断 -- 条件是有限个的时候(杀鸡刀)

    多重 if :判断某个连续区间的情况(杀牛刀)

posted @ 2018-06-28 00:31  骑者赶路  阅读(136)  评论(0编辑  收藏  举报