《C语言程序设计》第2章3-类型转换和运算符_第1页
《C语言程序设计》第2章3-类型转换和运算符_第2页
《C语言程序设计》第2章3-类型转换和运算符_第3页
《C语言程序设计》第2章3-类型转换和运算符_第4页
《C语言程序设计》第2章3-类型转换和运算符_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

第2章类型转换和运算符

不同数据类型之间的转换运算符doublefloatlongunsignedintchar,short低高说明:必定的转换运算对象类型不同时转换例charch;

inti;floatf;doubled;ch/i+f*d-(f+i)intintdoubledoubledoubledoubledoubledouble1.隐式转换运算转换规则:不同类型数据运算时先自动转换成同一类型显式转换(强制转换)一般形式:(类型名)(表达式)例(int)(x+y)

(int)x+y

(double)(3/2)

(int)3.6说明:强制转换得到所需类型的中间变量,原变量类型不变例main(){floatx;inti;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);}结果:x=3.600000,i=3精度损失问题较高类型向较低类型转换时可能发生赋值运算符和表达式简单赋值运算符符号:=格式:变量标识符=表达式作用:将一个数据(常量或表达式)赋给一个变量复合赋值运算符种类:+=-=*=/=%=《=》=&=^=|=含义:exp1op=exp2exp1=exp1opexp2a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%3例a=3;c=d+2;说明:结合方向:自右向左优先级:2左侧必须是变量,不能是常量或表达式赋值表达式的值与最左边变量值相等,且可嵌套赋值转换规则:使赋值号右边表达式值自动转换成其左边变量的类型例3=x-2*y;

a+b=3;例

floatf;

inti;i=10;f=i;则

f=10.0例inti;i=2.56;//结果i=2;例:a=b=c=5a=(b=10)/(c=2)

//表达式值为5,a,b,c值为5

//表达式值5,a=5,b=10,c=2说明:结合方向:自右向左优先级:2左侧必须是变量,不能是常量或表达式赋值表达式的值与最左边变量值相等,且可嵌套赋值转换规则:使赋值号右边表达式值自动转换成其左边变量的类型例:a=12;a+=a-=a*a例:inta=2;a%=4-1;a+=a*=a-=a*=3;//a=-264等价于a=a+(a=a-(a*a))//a=0等价于a=a+(a=a*(a=a-(a=a*3)))//a=a%(4-1)自增、自减运算符++--作用:使变量值加1或减1,本身是赋值运算种类:前置++i,--i(先执行i+1或i-1,再使用i值)后置i++,i--(先使用i值,再执行i+1或i-1)例j=3;k=++j;

j=3;k=j++;

j=3;printf(“%d”,++j);j=3;printf(“%d”,j++);a=3;b=5;c=(++a)*b;a=3;b=5;c=(a++)*b;<>//k=4,j=4//k=3,j=4//4//3//c=20,a=4//c=15,a=4自增、自减运算符++--作用:使变量值加1或减1种类:前置++i,--i(先执行i+1或i-1,再使用i值)后置i++,i--(先使用i值,再执行i+1或i-1)说明:++--不能用于常量和表达式,如5++,(a+b)++++--结合方向:自右向左优先级:-++-------->*/%----->+-

(14)(13)(12)例-i++-(i++)i=3;printf(“%d”,-i++);//-3

例-i++i=3;printf(“%d”,-i++);逗号运算符和表达式

“,”是C语言中的一种特殊运算符

用逗号将表达式连接起来的式子成为逗号表达式形式:表达式1,表达式2,……表达式n结合性:从左向右优先级:1逗号表达式的值:等于表达式n的值例a=3*5,a*4a=3*5,a*4,a+5例x=(a=3,6*3)

x=a=3,6*a例a=1;b=2;c=3;

printf(“%d,%d,%d”,a,b,c);

printf(“%d,%d,%d”,(a,b,c),b,c);//a=15,表达式值60//a=15,表达式值20//赋值表达式,表达式值18,x=18//逗号表达式,表达式值18,x=3//1,2,3//3,2,3逗号运算符和表达式形式:表达式1,表达式2,……表达式n结合性:从左右优先级:1逗号表达式的值:等于表达式n的值例:/*ch2_6.c*/#include<stdio.h>main(){int

x,y=7;floatz

温馨提示

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

评论

0/150

提交评论