第二课

本课主题: 运算符与表达式

教学目的: 掌握各种运算符与表达式的概念与使用方法

教学重点: 表达式的使用

教学难点: 运算符与表达式的概念

授课内容:

一、算术运算符及其优先级

  例如: int a,b,x; a = 5; b = 3; x = a+b; 将值 5 传给变量 a,值 3 传给变量 b,将 a+b 的值,也就是 8 传给变量 x。

  上面看到运算符‘+’,一般的程序设计语言都提供了以下的算术运算符:
    加法 +
    减法 -
    乘法 *
    除法 /
    求余 %

  有些算术运算符与数学中不同,是因为键盘上没有对应的符号。前四种用于所有数据类型,最后一种只用于整型、长整型、字符型。乘法、除法、求余运算符的优先级高于加法、减法,即:先乘、除、求余,后加、减。

  :正方形边长为 5.0,求面积。
  #include
  main()
  {
  float area;
    area = 5.0*5.0;
    printf("Squre Area Is %f",area);
  }

  练习:圆半径为 5.0,求面积。

二、数据类型的转换(隐含与显式)

  C 语言中,不同数据类型的变量可以自由转换,例如:
  int a=10;float x=70000.5;
    x = a;
  将 a 的值 10 赋给 x,x 的值为 10.0。
  int a=10;float x=70000.5;
    a = x;
  将 x 的值 70000.5 赋给 a,但 70000.5 超过了 int 的取值范围,于是将超过的部分扔掉了,a 是多少不知道了。

  特别注意,上面的赋值语句,编译时是可以通过的。

  int a=10000,b=10000,c=10000;
    c=a*b/c;
  上面的例子可能出错,因为 a*b 超过 int 的取值范围了。改为c=(long)a*b/c;就不会错了。(long)是显式数据类型的转换。

三. C 语言特有的一些算术运算符

  一般的程序设计语言都提供了以下的算术运算符:+、-、*、/、%。C语言为提高效率,提供了一些特有的算术运算符:
    算术运算符  例子      相当于
    ++      i++、++i    i=i+1;
    --      i--、--i    i=i-1;
    +=      x+=y      x=x+y
    -=      x-=y      x=x-y
    *=      x*=y      x=x*y
    /=      x/=y      x=x/y

  注:i++和++i略有不同,例如:a=i++; 是先将 i 的值赋与 a,i 再加 1,a=++i; 是i先加1,再将 i的值赋给a。

  思考:i=5;a=i++;与i=5;a=++i;有什么不同,a,i各等于什么?

四、 赋值运算符与赋值表达式

  赋值运算符用于将一个数据传给一个变量。
  例如: int x; x = 5; 将值 5 传给变量 x。其中=号即赋值运算符。
  例如: int a,b; a = 5; b = 3; a = a+b; 将值 5 传给变量 a,值 3 传给变量 b,将 a+b 的值,也就是 8 传给变量 a。

含有赋值运算符的表达式称为赋值表达式,由赋值表达式组成的语句称为赋值语句。

 

回目录