内容正文:
YCF
正版可修改PPT
(中职)C语言程序设计案例教程 3.4赋值运算符与表达式ppt课件
1
赋值运算符与表达式
Teacher teaching design
CONTENTS
目 录
赋值运算符
类型转换
复合的赋值运算符
案例分析 交流提升
仿真演练 体验探索
赋值运算符
PART 01
赋值运算符
符号“=”就是赋值运算符,它的作用是将一个数据赋给一个变量。
如:“x=12”的作用是把常量12赋给变量x。也可以将一个表达式的值赋给一个变量。赋值运算符具有右结合性,其优先级为14,低于算术运算符。
赋值表达式:一般形式为:变量=表达式
说明:表达式是指由C的合法运算符连接常量、变量、函数而成的合法式子。
赋值表达式的值:赋值表达式的值就是被赋值变量的值。
由于C语言将“=”定义为赋值运算符,因此其求值过程应按运算符的规定进行。
假如: int a=12,b=5,c=3;
则赋值表达式x=a/b*c 的计算结果为x=6,既赋值表达式x=a/b*c 的值为6。
赋值表达式 a=b=c=13的值为13 。a=b=c=13可理解为 a=(b=(c=13))
x=(a=10)+(b=20) 的值为 30 。其含义是把10赋给a,20赋给b,再把a,b相加的和赋给x,故x应等于30。
赋值运算的功能是先计算右边表达式的值,然后再把此值赋给赋值号左边的变量,确切地说,是把数据放入以该变量为标识的存储单元中去。
类型转换
PART 02
类型转换
如果赋值运算符两边的数据类型不相同,系统将自动进行类型转换,即把赋值号右边的类型换成左边的类型。
例如:
(1)实型赋予整型,舍去小数部分。如:
int x;
x=3.14159;
结果x=3。
(2)整型赋给单、双精度变量时,数值不变,但将以浮点数形式存储。如:将89赋给float变量y,先将89转换为89.00000,再存储到y中。
(3)字符型赋予整型,由于字符型为一个字节,而整型为二个字节,故将字符的ASCII码值放到整型量的低八位中,高八位为0。整型赋予字符型,只把低八位赋予字符量。
复合的赋值运算符
PART 03
复合的赋值运算符
在赋值符“=”之前加上其它二元运算符可构成复合赋值符。如+=,- =,*=,/=,%=都是复合赋值符。
复合赋值运算的一般格式为:
变量 双目运算符 = 表达式
└──┬──┘
复合赋值运算符
它等价于:变量 = 变量 双目运算符 (表达式)。
例如: x%=y 相当于 x=x%y
a*=b+c 相当于 a=a*(b+c):
复合赋值符的优先级和赋值运算符相同(14级),结合性也相同。这种写法的目的是可以提高编译效率并产生质量较高的目标代码。
案例分析
交流提升
PART 04
案例分析 交流提升
【例1】程序运行的结果为:
main()
{
int x=3,y=5;
x*=x+y;
printf(“x=%d
”,x);
}
【例2】以下程序运行后的输出结果是 。
main()
{ int a=1,b=2,c=3;
if(c=a) printf("%d
",c);
else printf("%d
",b);
}
【例3】以下程序运行后的输出结果是 。
main()
{ char c; int n=100;
float f=10; double x;
x=f*=n/=(c=50);
printf("%d %f
",n,x);
}
仿真演练
体验探索
PART 05
仿真演练 体验探索
1、赋值运算符的使用
(1)若有定义int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为( )
A)1.0 B)1
C)2.0 D)2
(2)设a和b均为double型变量,且a=5.5,b=2.5,则表达式(int)a+b/b的值是( )
A)6.500000 B)6
C)5.500000 D)6.000000
(3)若已定义x 和y 为double,则表达式x=1,y=x+3/2 的值是( )
A) 1 B)2
C)2.0 D)2.5
(4)下列程序的输出结果是( )
#include<stdio.h>
main()
{ double d=3.2;int x,y;
x=1.2;y=(x+3.8)/5.0;
printf("%