首页 > 代码库 > c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)

c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)

1.表达式: 表达式的判断是有无结果(值), 最简单的表达式是一个常量或变量, 如:12, a, 3 + 1, a + b, a + 5 都是表达式

2.BOOL(布尔)数据类型: c语言中除了基本数据类型, 还有BOO数据类型, 以及一些其它的数据类型, 如自定义的结构体数据类型

  BOOL数据类型是一种表示非真即假的数据类型, 布尔类型的变量只有YES和NO两个值. YES表示表达式结构为真, 反之, NO表示表达式结果为假(在c语言中, 认为非0即为真), BOOL类型主要用与分支结构或循环结构中, 用于判断是执行if语句还是else语句, 或判断是否要执行循环体.  #define YES 1    计算机在识别时, YES就替换成 1, #define NO 0 计算机在识别时, NO就替换成 0

3. 关系运算符: >, >=, <, <=, ==, !=

  关系运算符主要用于比较运算, 比较的结果只有真假两种情况, 结果值用BOOL类型变量存储. 注意: 判断两个数是否相等, 用 == (双等号)

4. 逻辑运算符:&&(逻辑与), ||(逻辑或), !(逻辑非)

  逻辑运算符组成的表达式, 结果也是非真即假.

  &&: 运算符两边的表达式同时为真时, 整个逻辑表达式的结果才为真

  ||: 运算符两边的表达式同时为假时, 整个逻辑表达式的结果才为假

  !: 将表达式的值取反. 如表达式的值为0(假)时,取反值为非0(真); 当表达式的值为非0(真)时, 取反为0(假)

5. 位运算符: &(按位与), |(按位或), ^(按位异或), ~(按位非)

       //位运算符:

       //按位与 &:同为1, 则为1, 否则为0, 用于给某一位进行清零

       int a = 4 & 6;

       printf("%d\n", a);

    

       //按位 或 |:同为0, 则为0, 否则为1, 用于保留某一位

       a = 4 | 6;

       printf("%d\n", a);

    

       //按位异或 ^:相同为0, 不同为1

       a = 4 ^ 6;

       printf("%d\n", a);

       //按位非 ~:如果是一个有符号的数, 则二进制最高位代表符号位, 1 代表负数, 0代表正数

       //数据在内存中存储时是以补码的形式存储, 正数的补码是正数本身, 负数的补码是绝对值取反加1

6. 一个字节代表 8 位二进制数

      数据类型的取值范围:

        a. 无符号:

        char 0 ~ 2^8 - 1

        short 0 ~ 2^16 - 1

        int 0 ~ 2^32 - 1

        b. 有符号:

        char -2^7 ~ 2^7 - 1

        short -2^15 ~ 2^15 - 1

        int -2^31 ~ 2^31 - 1

     */

7. if...else...比较简单, 就不记了. switch...case分支结构

   int number = 0;

     printf("请输入一个分机号(801:教学部,802:咨询部,803:财务部,804:保卫科,805:市场部):\n");

      scanf("%d", &number)

  switch (number) {

         case 801:

     case 809://当number = 801 或 809 时输出的结果都是教学部

            printf("教学部\n");

            break;//break结束当前分支,退出switch,执行switch之后的语句

        case 802://case后的表示必须是一个常量,或者是一个常量表达式

            {int a = 10;}//如果在case分支中想要定义变量,一定要加上大括号

            printf("咨询部\n");

            break;

        case 803:

            printf("财务部\n");

            break;

        case 804:

            printf("保卫科\n");

            break;

        case 805:

            printf("市场部\n");

            break;

            //当没有找到(匹配到)对应的case分支时执行default语句

        default:

            printf("要找谁\n");

            break;

    }

   注意:case后的表示必须是一个常量,或者是一个常量表达式. 如果在case分支中想要定义变量,一定要加上大括号

c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)