- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.9?赋值运算符和赋值表达式 3、赋值运算符、赋值表达式举例 (1)?????? a=5 (2)?????? a=b=5 (3)?????? a=(b=4)+(c=3) (4)?????? 假如a=3,分析:a+=a-=a*a a+=a-=a*a?a+=a-=(a*a)?a+=(a-=(a*a))?a+=(a=a-(a*a))?a+=(a=a-a*a)?a=a+(a=a-a*a)=-12 2.10 逗号运算符和逗号表达式 4、逗号运算符 例:a=3*5,a*4 逗号运算符是所有运算符中优先级最低的。 所以上面的表达式等价于:(a=3*5),(a*4).所以整个表达式计算后值为:60(其中a=15) 逗号表达式的求解过程是:自左向右,求解表达式1,求解表达式2,…,求解表达式n。整个逗号表达式的值是表达式n的值。 2.10 逗号运算符和逗号表达式 #include stdio.h main( ) { int x,a; x=(a=3,6*3); /* a=3 x=18 */ printf(%d,%d\n,a,x); x=a=3,6*a; /* a=3 x=3 */ printf(%d,%d\n,a,x); } 3,18 3,3 例题 2.10 逗号运算符和逗号表达式 例: 14. 设有定义:int x=2;,一下表达式中,值不为6的是(200903 )D A)x*=x+1 B)x++,2*x C)x*=(1+x) D)2*x,x+=2 作业 1、?设有定义:float?a=2,b=4,h=3;,以下C语言表达式与代数式计算结果不相符的是(B) A)(a+b)*h/2????? ?B)(1/2)*(a+b)*h?????? C)(a+b)*h*1/2???????D)h/2*(a+b) 2、?若以下选项中的变量已正确定义,则正确的赋值语句是(C) A)x1=26.8%3? ?B)1+2=x2? C)x3=0x12 ?D)x4=1+2=3; 3、有以下程序 main() { int a; char c=10; float f=100.0; double x; a=f/=c*=(x=6.5); printf(“%d %d %3.1f %3.1f\n”,a,c,f,x); } 程序运行后的输出结果是 A)1 65 1 6.5 B)1 65 1.5 6.5 C)1 65 1.0 6.5 D)2 65 1.5 6.5 作业 4、?设有以下定义 : int???a=0;?? double??b=1.25; char?c=’A’; #define???d???2 则下面语句中错误的是(D) A)a++;??B)b++??C)c++;??D)d++; 5、已知字符A的ACSII码值为65,以下语句的输出结果是???char?ch=’B’;???printf(%c?%d\n,ch,ch) 6、已定义c为字符型变量,则下列语句中正确的是(C)A)c=97; B)c=97; C)c=97; D)c=a; 2、实型变量的分类 实型变量分为:单精度(float)、双精度(double)、长双精度(long double)。 ANSI C没有规定每种数据类型的长度、精度和数值范围。下表列出微机上常用的C编译系统的情况。 对于每一个实型变量也都应该先定义后使用。如 : 类型 比特数 有效数字 数值范围 float 32 6-7 -3.4x10+38 ~ 3.4x10+38 double 64 15-16 -1.7x10+308 ~ 1.7x10+308 long double 128 18-19 -1.2x10+4932 ~ 1.2x10+4932 float x,y; double z; long double t; 3、实型数据的舍入误差(对比:整型数据的溢出 ) 实型变量是用有限的存储单元存储的,因此提供的有效数字是有限的,在有效位以外的数字将被舍去,由此可能会产生一些误差。 例2-3a:实型数据的舍入误差(实型变量只能保证7位有效数字
文档评论(0)