- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
自动类型转换的规则与强制类型转换符(P59-61) 自动类型转换:当=左右两边的数据类型不同时,C语言首先将=右边的表达式的值转化为=左边的数据类型,然后再赋值给=左边的变量,这种操作称为自动类型转换。比如,如果a是int型变量,表达式a=3.2的值将是3,而不是3.2。 C语言进行自动类型转换的规则如下: (1)当将长整型数据转换为整型数据时,直接截取长整型数据的低16位作为整型数据。当将整型数据转换为字符型数据时,直接截取整型数据的低8位作为字符型数据。(长→短,截取低位) 例如: long a=0xff00f00f; int b; char c; b=a;//b的值将是0xf00f,是a的低16位 c=b;//c的值将是0x0f,是b的低8位 (2)当将无符号字符型数据转换为整型数据时,直接将字符数据作为整型数据的低8位,整型数据的高8位补零;当将无符号整型数据转换为长整型数据时,直接将整型数据作为长整型数据的低16位,高16位补零。例如: unsigned char ch=0xfa; unsigned int u=0xff00; int k; long L; k=ch;//k的值将是0x00fa L=u;//L的值将是0x0000ff00 若long b=65536;(216) int a; a=b; 则 b=? (b=0) (3)当将有符号字符型数据转换为整型数据时,直接将字符数据作为整型数据的低8位,将字符数据的符号位的值扩展到整型数据的高8位,即如果字符型数据的符号位是1,整型数据的高8位就都补1,否则都补零,这称为符号位扩展; 当将有符号的整型数据转换为长整型数据时,直接将整型数据作为长整型数据的低16位,将整型数据的符号位扩展到长整型数据的高16位中。例如: char ch=0x0a; int a,k=0xf011; long L; a=ch; //a的值将是0x000a L=k; //L的值将是0xfffff011 2 错误 4 1.5 作业: P65 6,7,9,10 ++的作用是使变量自己增1,而--的作用是使变量自己减1。 ++、--的优先级与负号运算符的优先级相同。 ++a : 先将a自增1后,再用a的值; a++ : 要先用a的值,再将a自增1。 --运算符也是一样。 例如,已知a=20;表达式b=++a的值是21,而b=a++的值却是20;表达式b=--a的值是19,而b=a--的值却是20。 自增自减运算符和负号运算符 又如: k=3; a=15-k++; printf(“a=%d ”,a); printf(“k=%d\n”,k); b=++k+2; printf(“b=%d ”,b); printf(“k=%d\n”,k); 将输出: a=12 k=4 b=7 k=5 注意: ++和--运算符只能用于变量,不能用于常量和表达式。因为,++和--蕴含着赋值操作。 负号运算符、++、--和强制类型转换运算符这些同级别运算符连用时,按照从右向左的顺序计算,即右结合性。 两个+和-之间不能有空格。 57 157 98 未知 58 156 98 未知 语法错 58 156 99 99 main() { int i=5; printf(“%d\n”,i); printf(“%d\n”,--i); printf(“%d\n”,i++); printf(“%d\n”,i--); printf(“%d\n”,++i); printf(“%d\n”,i); } 连续使用++、--: (i=5) k=(++i)+(++i)+(++i)=24 (i=8) k=(i++)+(i++)+(i++)=15 (i=8) i+++j=(i++)+j ++的左结合性 (i=5) printf(“%d,%d\n”,i,i++); 求值顺序:自右向左 6, 5 (i=6) 9-赋值运算符和赋值表达式 赋值运算符:= 运算符目数:双目运算符 a = b ↑ ↑ 待赋值的变量 要赋的值(可以是常量、变量或表达式) 用=连接起来的式子称为赋值表达式。 赋值表达式加上分号就构成了赋值语句。 赋值运算符和赋
文档评论(0)