内容正文:
YCF
正版可修改PPT
(中职)C语言程序设计案例教程 3.2算术运算符与表达式ppt课件
1
算术运算符与表达式
Teacher teaching design
CONTENTS
目 录
提出问题 引入新课
基本的算术运算符
自增、自减运算符
仿真演练 体验探索
明确考点 交流提升
提出问题 引入新课
PART 01
提出问题 引入新课
1、若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是( )
A)1 B)2 C)2.0 D)2.5
答案提示:C,请同学思考为什么?
2、下列程序的输出结果是( )
main()
{
float x; int y,z;
x=9.8;
y=(int)x+8.1;
z=(int)(x+8.1);
printf("%d %d
", z,y);
}
思考提示:请强制转换语句中表达式整体与部分的变化?
基本的算术运算符
PART 02
基本的算术运算符
【例1】
main()
{
int a,b,c,d;
float x,y,z;
a= 1/3;
b= -10/(-3);
c= 1%3;
d= -10%(-3);
x=1.0/3;
y=-10/3.0;
printf("
%d, %d ",a,b);
printf("
%d, %d ",c,d);
printf("%f, %f
",x,y);
}
程序运行的结果为:
0, 3
1, -1
0.333333, -3.333333
请思考分析输出结果?
加法运算符“+”:加法运算符为双目运算符,即应有两个量参与加法运算。如a+b,4+8等。具有左结合性。
减法运算符“-”:减法运算符即是双目运算又是单目运算,作单目运算时称为取负运算,如,-5,-x等,具有左结合性。
乘法运算符“*”:双目运算,具有左结合性。
除法运算符“/”:双目运算具有左结合性。参与运算量均为整型时,结果也为整型,舍去小数。如果运算量中有一个是实型,则结果为双精度实型。
求余运算符“%”:双目运算符,要求参与运算的量均为整型。如,a%b, 其值等于两数相除后的余数,符号与a相同。
以上五种运算符中,*, /, % 的优先级高于+, - ;* ,/, % 优先级为3,+ ,- 的优先级为4。
自增、自减运算符
PART 03
自增、自减运算符
++ 自增运算符(对变量加1) i++,++i
- - 自减运算符(对变量减1) i- -,- -i
1、作用
自增运算使单个变量的值增1,自减运算使单个变量的值减1。
2、用法与运算规则:自增、自减运算符都有两种用法。
1)前置运算——运算符放在变量之前:++变量、--变量
先使变量的值增(或减1),然后再以变化后的值参与其它运算,即先增减,后运算。
2)后置运算——运算符放在变量之后:变量++、变量--
变量先参与其它运算,然后再使变量的值增(或减1),即先运算,后增减。
例如:
A、k=1; j=++k;
k先变成2 , j=2
B、k=1; j=k++;
k为1, j=1然后k为2。
自增、自减运算符
根据运行结果同学们仔细体会它们的区别。
3、算术表达式和运算符的优先级、结合性
1)先乘除后加减,结合方向为左结合性;
2)取负符号“-”和自增、自减运算符的优先级相同,结合方向为右结合性;
3)取负、自增、自减运算符的优先级别高于加减乘除运算符;
4)自增、自减运算符不能对表达式进行运算。
【例2】
main()
{
int x=15,y=9 , i=13;
x++;
++y;
printf("%d,%d
",x,y ); printf("%d
",++i);
printf("%d
",--i);
printf("%d
",y++);
printf("%d
",x--);
printf("%d,%d
",x,y );
}
程序运行的结果为:
16 , 10
14
13
10
16
15,11
明确考点 交流提升
PART 04
明确考点 交流提升
1、+、-、*、/运算符的使用
main()
{
float a=2,b=4,h=3,s1,s2;
s1=(1/2)*(a+b)*h;/*此语句如改为s1=(1.0/2)*(a+b)*h;时,s1的值又是多少*/
s2=h/2*(a+b);
printf("s1=%f
s2=%f
",s1,s2);
}
运行的结果为:
2、求余运算符的使用
main