3.4赋值运算符与表达式_第1页
3.4赋值运算符与表达式_第2页
3.4赋值运算符与表达式_第3页
3.4赋值运算符与表达式_第4页
3.4赋值运算符与表达式_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Teacher teaching designCONTENTS 目 录赋值运算符类型转换复合的赋值运算符案例分析 交流提升仿真演练 体验探索赋值运算符PART 01赋值运算符符号“=”就是赋值运算符,它的作用是将一个数据赋给一个变量。如:“x=12”的作用是把常量12赋给变量x。也可以将一个表达式的值赋给一个变量。赋值运算符具有右结合性,其优先级为14,低于算术运算符。赋值表达式:一般形式为:变量=表达式 说明:表达式是指由C的合法运算符连接常量、变量、函数而成的合法式子。赋值表达式的值:赋值表达式的值就是被赋值变量的值。由于C语言将“=”定义为赋值运算符,因此其求值过程应按运算符的规定进行。

2、假如: 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类型转换如果赋值运算符两边的数据类型不相同,系统将自动进行类型转换,即把赋值号右边的类型换成左边的类型。例如:(

3、1)实型赋予整型,舍去小数部分。如:int x;x=3.14159;结果x=3。(2)整型赋给单、双精度变量时,数值不变,但将以浮点数形式存储。如:将89赋给float变量y,先将89转换为89.00000,再存储到y中。(3)字符型赋予整型,由于字符型为一个字节,而整型为二个字节,故将字符的ASCII码值放到整型量的低八位中,高八位为0。整型赋予字符型,只把低八位赋予字符量。复合的赋值运算符PART 03复合的赋值运算符在赋值符“=”之前加上其它二元运算符可构成复合赋值符。如+=,- =,*=,=,%=都是复合赋值符。复合赋值运算的一般格式为: 变量 双目运算符 = 表达式 复合赋值运算符它

4、等价于:变量 = 变量 双目运算符 (表达式)。例如: 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=%dn”,x);【例2】以下程序运行后的输出结果是 。 main() int a=1,b=2,c=3; if(c=a) printf(%dn,c); else printf(%dn,b); 【例3】以下程序

5、运行后的输出结果是 。 main() char c; int n=100; float f=10; double x; x=f*=n/=(c=50); printf(%d %fn,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)6500000 B)6 C)5.500000 D)6.

6、000000(3)若已定义x 和y 为double,则表达式x=1,y=x+3/2 的值是( )A) 1 B)2 C)2.0 D)2.5(4)下列程序的输出结果是( )#includemain() double d=3.2;int x,y; x=1.2;y=(x+3.8)/5.0; printf(%dn,d*y);A) 3 B)3.2 C)0 D)3.07(5)有以下程序运行后的输出结果是( ) main() int m=3,n=4,x; x=-m+; x=x+8/+n; printf(%dn,x); A)3 B)5 C)-1 D)-2 仿真演练 体验探索2、表达式的使用(1)下面哪个表达式的值为4.(单选) A. 11/3 B. 11.0/3 C. (float)11/3 D. (int)(11.0/3+0.5)(2) 已知整型变量a=6,b=7,c=1,则下面表达式的值为多少? a+3 _ (b-a*3)/5 _ c*(a+b)+b*(c+a) _ 3.2*(a+b+c) _3、复合赋值表达式的使用 (1)设x,y,z均为整型变量,则执行语句x=(y=(z=10)=5)-5;后x,y和z的值是( ) A) x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论