A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© chunhuayun 中级黑马   /  2015-9-20 16:50  /  844 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.运算符
        1)运算符是告诉编译程序执行特定算数或逻辑操作的符号
        2)分类
          1>按功能分类
                a)算数运算符,例如 +,-,*,/
                b)关系运算符,例如 >,<.>=,<=,!=
                c)逻辑运算符
                c)按位运算符,&,|
          2>按操作数个数分为
                  a)单目运算符,只有一个操作数,如i++,sizeof,!
                  b)双目运算符,有两个操作数,如 a = b
                  c)三目运算符,有三个操作数,a > b ? a :b

        3)优先级和结合性
        A* 优先级
        C语言中,运算符的运算优先级共分为15级。1级最高,15级最低。在表达式中,优先级高的比优先级低得先运算。优先级相同时,则按照结合性来判断谁先运算。
        B* 结合性
        C语言中,各运算符的结合性分为两种,即左结合性(从左向右)和右结合性(从右向左)。例如算数运算符的结合性是自左至右,即先左后右。如有表达式x-y+z,则应限于“-”号结合,执行x-y运算,然后再执行 +z 运算。这种自左至右的结合,方向就成为“左结合性”。而自右至左的结合方向成为"右结合性”,最典型的右结合性运算是赋值运算符。如x=y=z,由于“=”的右结合性,应先执行y=z,再执行x = (y=z)运算

        4)运算符的使用
        经典例子 1:倒序输出一个五位数
                int a;
            printf("input a digit number(>9999):");
            scanf("%d",&a);
            
            for (int i = 0; i < 5; i++) {
                printf("%d",a%10);
                a = a /10;
            }
                结果:input a digit number(>9999):12345
                         54321
        经典例子 2:
                int a = 5 +5 * 5 + 5;
                printf("%d",a);//打印35


1 个回复

倒序浏览
建议楼主直接在百度下个运算符的优先级的表,一切就OK了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马