二、C语言的计算

    • 2.1变量
      • 2.1.4常量VS变量
    • 2.2数据类型
    • 2.3表达式
      • 2.3.1表达式
      • 2.3.2运算符优先级
      • 2.3.4复合赋值和递增递减

2.1变量

2.1.4常量VS变量

const

const int AMOUNT = 100;
  • const是一个修饰符,加在int的前面,用来给这个变量加上一个const(不变的)的属性。这个const的属性表示这个变量的值一旦初始化,就不能再修改了。
  • int change = AMOUNT - price;

2.2数据类型

浮点数

  • 当浮点数和整数一起运算时,C会将整数转换成浮点数,然后进行浮点数的运算。

整数

int
printf("%d", ...)
scanf("%d", ...)

带小数点的数

double
printf("%f", ...)
scanf("%lf", ...)

2.3表达式

2.3.1表达式

运算符

  • 运算符(operator)是指进行运算的动作,比如加法运算符“+”,减法运算符“-”。
  • 算子(operand)是指参与运算的值,这个值可能是常数,也可能是变量,还可能是一个方法的返回值。

2.3.2运算符优先级

优先级运算符运算结合关系举例
1+单目不变自右向左a*+b
1-单目取负自右向左a*-b
2*自左向右a*b
2/自左向右a/b
2%取余自左向右a%b
3+自左向右a+b
3-自左向右a-b
4=赋值自右向左a=b

赋值运算符

  • 赋值也是运算,也有结果
  • a=6的结果是a被赋予的值,也就是6
  • a=b=6 —-> a=(b=6)

“嵌入式赋值”

int a=6;
int b;
int c = 1+(b=a);
  • 不利于阅读
  • 容易产生错误

2.3.4复合赋值和递增递减

复合赋值

  • 5个算数运算符,±/%,可以和赋值运算符"="结合起来,形成复合赋值运算符:“+=”、“-=”、“=”、“/=”和“%=”
total+= 5;
tatal = total + 5;
  • 注意两个运算符中间不要有空格

递增递减运算符

  • “++”和“–”是两个很特殊的运算符,它们是单目运算符,这个算子还必须是变量。这两个运算符分别叫递增运算符和递减运算符,它们的作用就是给这个变量+1或者-1。
count++;
count += 1;
count = count + 1;

前缀后缀

  • ++和–可以放在变量的前面,叫做前缀形式,也可以放在变量的后面,叫做后缀形式。
  • a++的值是a加1以前的值,而++a的值是加了1以后的值,无论哪个,a自己的值都加了1了。
  • a++和++a的区别是a++是使用的a后,再对a进行加1。++a是先把a加1,然后再使用a。

例子

#include <stdio.h>

int main(void)
{
    int a=10;

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

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

    return 0;
}

运行结果

表达式运算表达式的值
count++给count加1count原来的值
++count给count加1count+1以后的值
count- -给count减1count原来的值
- -count给count减1count-1以后的值

更多推荐

二、C语言的计算