C语言算术运算符

由算术运算符与运算量构成的表达式称为算术表达式。算术运算符包括基本算术运算符和自增、自减运算符。基本算术运算符对数值型也包括字符型数据进行加、减、剩、除四则运算。自增自减运算符对字符型、整型等变量进行加1、减1运算。算术运算符的运算的表达方式、运算功能如表所示。

C语言算术运算符

下面是算术运算符的具体运用原则。

  • +(正)、-(负)运算符是属于同一级别的单目运算符,结合方向是自右向左
  • +(加)、-(减)运算符是属于同一级别的双目运算符,结合方向是自左向右。例如a+b-c+d,这个式子在运算顺序是先求a与b的和,然后减去c,得到差与d相加。在C语言中,加、减运算符与数学中的运算符含义完全相同。
  • *,/,%是同一级别的双目运算符,结合方向是自左向右。即它们在运算过程中同时出现时,按照它们出现的顺序进行运算。这三种运算的优先级别高于+(加)、-(减)运算符。例如:a+b*c,运算顺序是先计算b与c的乘积,然后再与a求和,即a+(b*c)
  • /(除法运算符)的除数不能为0,即不能用一个数去除以0。
  • *(乘号运算符)在式子中不能省略,也不能写成是代数式子中的乘号“×”或“·”。这一点要特别注意。例如:求长方体的体积公式为abc,在编程时要写成a*b*c
  • 两个整型数相除,得到整型结果。如果两个实数相除或其中有一个是实数,那么得到的结果为实数型。例如:
        5/3=1,2/4=0,5/-3=1,5./3=1.666667,5.0/3.0=1.666667
  • %求余运算符(或称求模运算),只适合于整型数据和字符型数据。求余运算的结果符号与被除数相同,其值等于两数相除后的余数。
        5%3           /* 值为2 */
        3%5           /* 值为3 */
        10%2          /* 值为0 */
        -2%-3         /* 值为-2 */
        -7%-3         /* 值为-1 */
  • ++--(自增、自减运算符)属于同一级别的单目运算符,结合方向是自右向左。自增、自减运算符只能与变量结合使用,放在变量的前面或后面。有以下4种形式。
    • ++a:a的值先增加1后,再参与其他运算。
    • a++:a的值先参与其他运算,再使a的值增加1。
    • --a:a的值先减小1后,再参与其他运算。
    • a--:a的值先参与其他运算,再使a的值减小1。

    例如:m=3;m1=m++; 运算的过程是先将m的值赋给m1,然后m的值再加1,上面两个语句等价于:

        m=3;m1=m;m++;

示例:

#include <stdio.h>
void main( )
{
    int k1,k2,a,b;                        /*定义四个整型变量*/
    k1=3;                                 /*对k1赋值为3*/
    k2=3;                                 /*对k1赋值为3*/
    a=++k1;                               /* k1的先增加1后,再赋值给变量a*/
    b=k2--;                               /*k2的先赋值给变量b,然后k2的值再增加1*/
    printf("a=%d,k1=%d\n",a,k1);          /*输出a、k1的值*/
    printf("b=%d,k2=%d\n",b,k2);          /*输出b、k2的值*/
}

运行结果为:

        a=4,k1=4
        b=3,k2=2

对于自增、自减运算符,做以下几点说明:

  • 自增或自减函数只能用于变量,不能用于常量或表达式。例如,(a+b)++这样的表示方法是错误的。
  • 在一个表达式中对一个变量自增或自减多次,可能造成困惑。a=3;k=(++a)+(++a);这种程序很容易出错,在编程的过程中要避免使用这样的程序,而且也没有必要使用如此难懂的程序,完全可以使用另一种方法来表示,增加程序的可读性。
  • ++--运算符的结合方向是自右向左,即当优先级别相同的运算符在一起时,从右向左算,如:-i++等价于-(i++)
  • ++--运算符的优先级大于乘、除、求余的优先级。
  • ++--运算符运算的操作对象只能为整型变量、字符型变量和指针变量,而不能是其他类型的变量。
  • ++--运算符运算常用于循环变量中,是循环变量自动加1或减1;也可用于指针变量,是指针指向前一个或后一个地址。++--运算符在C语言的程序设计中是很有用的,在后面的文字中我们会经常用到,为程序设计增加了便利。
赞(0)

评论 抢沙发

评论前必须登录!