新编C语言案例教程.ppt

  1. 1、本文档共72页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 强制类型转换 使用类型转换运算符对数据类型进行强制转换。 格式:(类型名)操作数; 作用: 将操作数的值临时转换为指定的类型。 float x,f; f = 3.14159; x = (int) f; x = f; x的值是3.000000 注意: f本身并未改变。 x的值是3.14159 * 如果是对表达式的结果进行强制类型转换,表达式应用括号括起来。 例:int x=5; int x=5; float y; float y; y= (float) (x/2); y= (float) x/2; 结果: 结果: y=2.000000 y=2.500000 2-9.c、2-16.c * 练 习 1. 设变量a是整型,f是实型,i是双精度型,则表达式10+’a’+i*f 的数值类型为( ) a. int b. float c. double d. 不确定 2. 已知字母A的ASCII码为十进制数65,且c1为字符型,则执行语句c1=’A’+’6’-‘3’;后,c1中的值为( ) a. ‘D’ b. 68 c. 不确定的值 d. ‘C’ 答案:c a * 3. 下列叙述中错误的是( ) a. 5%3的值等于2 b. 5/3的值为1 c. 若int x=5,则(float)(x/2)的值为2.5 d. float x=5.0,x/2.0=2.5 答案:c * 按运算对象(又称为操作数)的个数将运算符分为单目运算符、双目运算符、三目运算符等。 运算符小结 ?: 运算符 三目及其它 单目 ++,-- -(取负) =,+=,-=,*=,/=,%= +,-,*,/,% 双目 ==,!=,,=,,= ,|| ! , sizeof * 补充说明: ++ 和 -- 的运算对象只能是变量(或运算结果是变量的表达式), 不能是常量(或运算结果是数值的表达式)。 例如: 5++、(a+2)++ 不合法。 具有右结合性,结合方向为从右到左。 例如: –a++ 等价于 -(a++) 如果有多个运算符连续出现时,C系统尽可能多的从左到右将字符组合成一个运算符 例如: i +++ j 等价于 ( i++)+j -i+++-j 等价于 -(i++)+(-j) * main( ) { int a=5; printf(%d %d\n,a,a++ ); } 对函数参数的求值顺序: Turbo C系统先计算最右边的参数值,再依次计算左面的参数值。 【例2.5】有多个函数参数且为同一变量自增的运算处理。 输出结果: 6 5 运行例2.5 * 【例2.6】有多个函数参数且为同一变量多次自增的运算处理。 main( ) { int a=5; printf(%d%d\n,a,(a++)+( a++)); } 输出结果: 7 11 运行例2.6 * ? 结合性:自右至左。 如: i = 2; j = -i++; 等价于:j=-(i++); 即: j=-i;i++; “++”与”-“是同优先级 所以i的值为3,j的值为-2。 第2章 C语言的基本数据类型与表达式 ? 注意 “++”或“--”自增与自减运算符的使用。 如:设i=3,k=(i++)+(i++)+(i++),k=? 如:设i=3,j=4,k=i+++j,k=? * 表2-3 运算符的优先级和结合性 优先级 运 算 符 含 义 要求运算对象个数 结合方向 3 * / % 乘法运算符 除法运算符 求余运算符 (取模运算) (双目运算符) 自左至右 4 + - 加法运算符 减法运算符 (双目运算符) 自左至右 5 左移运算符 右移运算符 (双目运算符)

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档