第10节 C语言之运算符的优先级和类型转换

本文详细介绍了C语言中运算符的优先级,从高到低依次为括号、下标、点运算符、指针成员选择、自增/自减、算术运算符、逻辑与或、条件运算符、赋值运算符和逗号运算符。同时,讨论了类型转换,包括自动类型转换(隐式转换)和强制类型转换(显式转换),并举例说明了不同类型之间的转换规则和应用场景。


一、运算符的优先级


1.C语言中 ()优先级最高 ,下标运算符[],.点语法(属性),

    ->指针(成员选择)


2.自增++,自减--,* 间接寻址运算符,&取地址,!逻辑非

3./ 除 ,*法 ,+,-,<< >>,>,>=,<,<=,==,!=,&按位与,^异或

4.&&逻辑与 ,||逻辑或,  条件运算符?:,= 赋值运算符

5. 逗号运算符  ,



二、类型转换


1.自动类型转换(隐式类型转换)

    就是不同类型的数值,如 double int float在进行运算时,系统会自动将级别低得类型转换为级别高的类型,然后进行运算,运算的结果与其中级别较高的操作数的类型相一致。


    1.使用算术运算符 或算术表达式的运算过程中

         double res = 0;

         int a = 100;

         int b = 50;


         res = a + b;


         res = 3.14 + 2.5;


    2.就是在赋值运算符 或赋值表达式的过程中


        char ch = 'A';


        int b = 'A' - 32;


   3.输出转换


       char ch = 'A';


       printf("%c\n",ch);    ----->A

       printf("%d\n",ch);    ----->65


       float fl = 3.14f;

       printf("%.2f\n",fl);   ---->3.14

       printf("%d\n",fl);     ---->3


补充:隐式类型转化的规则


      double  <-----float

          ^

          |

      unsigned long<------ long 

          ^

          |

       unsigned int <------ unsigned short int

          ^

          |

          int <-------short 、char


2.强制类型转换(显式类型转换)


        强制是利用强制类型转换讲数据类型转换成我们所需要的类型。


        如: int a = 5;int b = 2;

                 double res = (double)a/b;


                 int c = 3,float d = 2.5;

                 (int)d + c;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值