第二课
本课主题: 运算符与表达式
教学目的: 掌握各种运算符与表达式的概念与使用方法
教学重点: 表达式的使用
教学难点: 运算符与表达式的概念
授课内容:
一、算术运算符及其优先级
例如: int a,b,x; a = 5; b = 3; x = a+b; 将值 5 传给变量 a,值 3 传给变量 b,将 a+b 的值,也就是 8 传给变量 x。
上面看到运算符‘+’,一般的程序设计语言都提供了以下的算术运算符:
加法 +
减法 -
乘法 *
除法 /
求余 %
有些算术运算符与数学中不同,是因为键盘上没有对应的符号。前四种用于所有数据类型,最后一种只用于整型、长整型、字符型。乘法、除法、求余运算符的优先级高于加法、减法,即:先乘、除、求余,后加、减。
例:正方形边长为 5.0,求面积。 练习:圆半径为 5.0,求面积。
二、数据类型的转换(隐含与显式)
C 语言中,不同数据类型的变量可以自由转换,例如: 特别注意,上面的赋值语句,编译时是可以通过的。
int a=10000,b=10000,c=10000; 三. C 语言特有的一些算术运算符
一般的程序设计语言都提供了以下的算术运算符:+、-、*、/、%。C语言为提高效率,提供了一些特有的算术运算符: 注:i++和++i略有不同,例如:a=i++; 是先将 i 的值赋与 a,i 再加 1,a=++i; 是i先加1,再将 i的值赋给a。
思考:i=5;a=i++;与i=5;a=++i;有什么不同,a,i各等于什么?
四、 赋值运算符与赋值表达式 赋值运算符用于将一个数据传给一个变量。 含有赋值运算符的表达式称为赋值表达式,由赋值表达式组成的语句称为赋值语句。
#include
main()
{
float area;
area = 5.0*5.0;
printf("Squre Area Is %f",area);
}
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 是多少不知道了。
c=a*b/c;
上面的例子可能出错,因为 a*b 超过 int 的取值范围了。改为c=(long)a*b/c;就不会错了。(long)是显式数据类型的转换。
算术运算符 例子 相当于
++ 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
例如: int x; x = 5; 将值 5 传给变量 x。其中=号即赋值运算符。
例如: int a,b; a = 5; b = 3; a = a+b; 将值 5 传给变量 a,值 3 传给变量 b,将 a+b 的值,也就是 8
传给变量 a。