最新公告
  • 欢迎您光临欧资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 【知识点】会计基础知识:算术运算符(图)

    算术运算符根据操作数的个数可分为一元运算符(包括一个操作数)和二元运算符(包括两个操作数)。一元运算符的优先级通常高于二元运算符。

    一元运算符:+(正号)、-(负号)、++(递增1)、–(减1)。

    二元运算符:+(求和)、-(差)、*(乘法)、/(商)、%(余数)。

    符号运算符:+(正号),-(负号) ‘+’(正号)表示操作数的值和符号不会改变。比如23也可以表示为+23,编译器不会报错。 ‘-‘(减号)可以用来得到一个数字的反义词。例如:

    int a=-5;
    int b=-a;

    在变量a前加-(减号)赋值给b,即把a的反面赋值给b。

    自增运算符:++(increment1),–(subtract1)自增运算符有两种使用形式,++a,a++和–a,a– ,也称为前缀形式和后缀形式。

    在解释自增运算符的两种形式之前,我们先介绍一下左值和右值的概念。

    计算机内存中可修改的存储对象,通常称为左值或左值。例如:

    int a; //整型变量a可以作为左值使用
    float b; //单精度浮点型变量b也可作为左值使用
    const int c; //因为常变量c的值不允许改变,故不可作为左值使用

    可以分配给左值的量称为右值或右值。右值可以是常量、变量或表达式。例如:

    int a,b; //定义整型变量a和b
    a=2; //把常量2作为右值,赋给左值a
    b=a; //把变量a作为右值,赋给左值b
    
    b=a+3; //把表达式a+3的值作为右值,赋给左值b

    前缀形式:例如++a是前缀加1形式的递增表达式,表示以变量a加1的值作为表达式的值,变量的值a 本身加 1; –a 同理,表示将变量a的值减1作为表达式的值,变量a本身的值减1。

    例子:

    int a=5,b;

    然后语句 b=a++;和 b=++a;有不同的含义。如果使用第一个赋值语句,则将 a 的原始值 5 直接赋值给变量 b。如果使用第二个赋值语句,则将 a 的原始值加 1 后的值 6 赋给变量 b。相同的是这两种赋值方式都将变量a本身的值加1,即执行后a为6。

    后缀形式:例如a++是后缀加1的表达式,表示直接将变量a的原值作为表达式的值,然后变量a本身的值加1; a– 类似,表示先将变量a的原始值直接作为表达式的值,然后将变量a本身的值减1。

    请注意,浮点变量也支持自增操作。例如:

    float a=3.2f;
    a++;
    printf("a=%fn",a);

    执行自增操作后,输出a=4.200 000。

    建议在实际编程中,尽量避免浮点变量的自增操作。通过下面的例子,掌握前缀加1和后缀加1的异同。

    【例1】分析下面的程序并输出其运算结果。

    #include
    int main (void)
    {
    
        int a=2,b,c,d;
        b=++a+4;
        c=3*a++;
        d=a--*3;
        printf ("a=%d,b=%d,c=%d,d=%d",a,b,c,d);
        return 0;
    }

    代码分析:

    1) b=++a+4;本语句中使用了三个运算符:前缀自增运算符++、加法运算符+和赋值运算符=,三个运算符的优先级高低是一元运算符++最高,其次是求和,最低是赋值运算符。

    这个语句等价于 b=(++a)+4;先取变量a的值2和结果3加1作为++a表达式的值,然后计算表达式的值3和4的和的值1赋给变量b,即b的值为7。语句执行后,变量a本身的值加1,变为3。

    2) c=3*a++;等价于 c=3*(a++);意思是把3和a++的乘积的结果赋给c,a++表达式的意思是先把变量a的值赋给3作为表达式的值,即c=3*3;同时取余符号的运算优先级,变量a本身的值也增加了1,变成了4。

    3)d=a–*3;首先取变量a的值4作为表达式a–的值,将4*3的值12赋给变量d。同时,变量a本身减1变为3。

    4)printf(“a=%d,b=%d,c=%d,d=%d”, a,b,c,d);双引号中的4个输出格式控件,依次替换为输出列表中a、b、c、d四个输出项的值。

    结果是:

    a=3,b=7,c=9, d=12

    increment1、subtract 1 运算符的副作用 注意,increment1、subtract 1 运算符是一个有副作用的运算符,即它不仅可以改变表达式的值,还要改变变量本身的值。使用时要小心,尤其是以下两种情况,尽量避免使用。

    1) 当一个变量在一个表达式中出现多次时,建议不要对变量应用递增或递减运算符。例如:

    int a=1; //定义整型变量a,并赋初值1。
    
    int b; //定义整型变量b,未初始化。
    b=a++ + a++; //杜绝编写类似的表达式

    a++ + a++ 这个表达式的值是把a的原值1加两次后赋值给b的结果,即b=2=1+1,或者是a的原值1取自从左到右作为第一个a++表达式的值,变量a加1变为2。第二个表达式的值取a的值2作为表达式的值,同时变量a加1变成3,所以b=3=1+2,还是从右往左操作。 C标准对此并没有统一规定,不同的编译器可能得到不同的结果。

    记住这种操作的规则是没有意义的。为了增强代码的可读性和可移植性,避免产生歧义,这种非标准的语法一定要慎用。

    2) 调用多参数函数时,不要对出现在多个参数中的变量使用递增或递减运算符。原因同上取余符号的运算优先级,即不同的编译器可能得到不同的结果,从而产生歧义。

    除法运算符 / 当运算符 / 的操作数(除数和除数)为整数时,结果为商(四舍五入)。

    示例:16/5 除以两个数字时的商为 3。

    当运算符/的操作数中有一个或两个浮点数时,结果与数学中除法相同,包括整数部分和小数部分。

    示例:8/2.5 结果为 3.2。

    余数运算符%当运算符%的操作数(除数和除数)为整数时,结果为余数。

    示例:两个数相除时,16%5 的余数为 1。

    当操作符 % 在其操作数中有一个或两个浮点数时出现语法错误。

    示例:8%2.5 语法错误。

    即operator%的两个操作数都必须是整数,否则语法错误。

    在编程中,商和余数运算符常用于分解整数的位数。例如,分解十进制整数123的个位、十位、百位,可以有多种不同的分解方案,如下图所示。

    int a=123,g,s,b; //g:个位 s:十位 b:百位
    g=a; //g=3
    s=a/10; //s=2
    b=a/100; //b=l

    站内大部分资源收集于网络,若侵犯了您的合法权益,请联系我们删除!
    欧资源网 » 【知识点】会计基础知识:算术运算符(图)

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    欧资源网
    一个高级程序员模板开发平台

    发表评论