C语言中的强制类型转换运算

C语言中的强制类型转换运算

ID:37723835

大小:36.00 KB

页数:4页

时间:2019-05-29

C语言中的强制类型转换运算_第1页
C语言中的强制类型转换运算_第2页
C语言中的强制类型转换运算_第3页
C语言中的强制类型转换运算_第4页
资源描述:

《C语言中的强制类型转换运算》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言中的强制类型转换运算C语言中的强制类型转换是通过类型转换运算来实现的。其一般形式为:(类型说明符)(表达式)其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。例如:(float)a把a转换为实型(int)(x+y)把x+y的结果转换为整形在使用强制转换时应注意以下问题:1)类型说明符和表达式都必须加括号(单个变量可以不加括号),如果把(int)(x+y)写成(int)x+y则成了把x转换成int型之后再与y相加了。2)无论是强制转换或是自动转换,都只是为了本次运算的需要而对变量的数据长度进行的临时性的转换,而不改变数据说明时对该变量定义的类型。【例1】#includ

2、eintmain(void){floatf=3.14;printf("(int)f=%d,f=%.2f",(int)f,f);return0;}本例表明,f虽强制转为int型,但只在运算中起作用,是临时的,而f本身的类型并不改变。因此,(int)f的值为5(删去了小数)而f的值仍为5.75.1、求余运算符(模运算符)“%”:双目运算,具有左结合性。要求参与运算的量均为整型。求余运算的结果等于两数相除后的余数。#includeintmain(void){printf("%d",110%3);return0;}本例输出110除以3所得的余数2

3、。2、算数表达式和运算符的优先级和结合性表达式是由常量、变量、函数和运算符组合起来的式子。一个表达式有一个值及其类型,他们等于计算表达式所得结果的值和类型。表达式求值按运算符的优先级和结合性规定的顺序进行。单个的常量、变量、函数可以看作是表达式的特例。算数表达式是由算术运算符和括号连接起来的式子。算数表达式:用算数运算符和括号将运算对象(也称操作数)连接起来的、符合C语法规则的式子。以下是算数表达式的例子:a+b;(a*2)/c;(x+r)*8-(a+b)/7;++I;Sin(x)+sin(y);(++i)-(j++)+(k--);运算符的优先级:C语言中,运算符的运算优先级共分为

4、15级。1级最高,15级最低。在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符优先级相同时,则按运算符的结合性所规定的结合方向处理。运算符的结合性:C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。例如算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z,则先执行x-y运算,然后再执行+z运算。这是左结合性。右结合性最典型的是赋值运算符。如x=y=z.3、强制类型转换运算符其一般形式为:(类型说明符)(表达式)其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。例如:(float)a(int)(x+y)4、

5、自增、自减运算符++i自增1后再参与其他运算。--i自减1后再参与其他运算。i++i参与运算后,i的值再自增1.i--参与运算后,i的值再自减1.比较容易出错的是i++,i--。因此应仔细分析。【例3】#includeintmain(void){inti=8;printf("output=%d",++i);//output=9printf("output=%d",--i);//output=8printf("output=%d",i++);//output=8printf("output=%d",i--);//output=9printf("out

6、put=%d",-i++);//output=-8printf("output=%d",-i--);//output=-9return0;}【例4】#includeintmain(void){inti=8,j=8,p,q;p=(i++)+(i++)+(i++);q=(++j)+(++j)+(++j);printf("p=%d,q=%d,i=%d,j=%d",p,q,i,j);return0;}这个程序中,对p=(i++)+(i++)+(i++)应理解为三个i相加,故为15.然后i自增1,三次故为i=11.对q则不然,先自增1,再参与运算,q=10+11

7、+12=31。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。