第2章 数据类型h精要.ppt

  1. 1、本文档共69页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 数据类型h精要

2.3.8 求字节数运算符及求字节数表达式 求字节数运算符“sizeof”是C语言提供的一种特殊的运算符,是单目运算符。 求字节数运算符与操作数结合在一起构成的式子称为求字节数表达式。 一般形式 sizeof(表达式) 或 sizeof(数据类型名) 例 sizeof(int) sizeof(‘/a’) sizeof x 2.3.9 强制类型转换运算符及表达式 一般形式:(类型说明符) (表达式) 功能:把表达式的运算结果强制转换成类型说明符所表示的类型。 例如: (float)a (int) (x+y) 说明: (int)x 若原来x的类型为float型,转换后得到一个中间变量,它的值等于x的整数部分,而变量x的值不变。 C 语言运算符的优先级与结合性 C语言运算符的优先级 附:复合表达式 由各种不同类型的表达式根据C语法规则复合在一起构成的更加复杂的表达式称为复合表达式。 如:x=(y=20)*(z=2) 其结果 x=40 Elements Sometimes an animation just won’t do! Did you know that non-animated clip-art is available on Animation Factory Platinum? “Stills” are often an option to your favorite animations! Non-animated still Non-animated still * 1.十进制小数形式 :其中digits是一位或多位十进制数字。 2.指数形式:小数点之前是整数部分,小数点之后是尾数部分,小数点在没有尾数时可省略。 * * * 1、数值在存储时是以补码形式表示的。对于上面的这个例子,由于正数的补码和原码相同,因此最高位为0表示为正数,后面为10的二进制形式000000000001010; 2、而对于下面的这个例子,由于负数的补码为该数的绝对值的二进制形式按位取反再加1,(或符号位不变,数值部分按位取反再加1)因此最高位为1表示为负数,后面为(000000000001010)取反+1后的结果即为111111111110110。(符号位+数值部分) * 位运算是指进行二进制位的运算 例如:将一个存储单元中的各二进制位左移、右移,两个数按位相加等。 与其他语言不同,C语言支持全部的位操作符。因为C语言的设计目的是取代汇编语言,所以它必须支持汇编语言所具有的运算能力。位操作是对字节或字中的位进行测试、置位或移位处理,这里字节或字是针对C标准中的char和int数据类型而言的。位运算不能用于float、double、long double、void或其他复杂类型。 2.3.1 算数运算符及算数表达式 算术运算符和表达式 基本算术运算符: + - * / % 结合方向:从左向右 优先级:(高)- -* / % ----- + - 说明: “-”可为单目运算符时,右结合性 两整数相除,结果为整数,如果两整数中有一个是负数,舍入规则为“向零取整” 如果运算的两个数中有一个是实型,则结果为double型 %要求两侧均为整型数据 2.3.1 算数运算符及算数表达式 算术表达式 定义:用算术运算符和括号将运算对象连接起来的、符合C语法规则的式子称为算术表达式。其中的运算对象包括常量、变量、函数等。 例如:x+y、(x*2)/y、sin(x)+sin(y)等都是算术表达式。 double float long unsigned int char,short 高 低 2.3.1 算数运算符及算数表达式 例 5/2 = 2 -5/2.0 = -2.5 5%2 = 1 -5%2 = -1 1%10 = 1 5%1 = 0 5.5%2 (?) 例 2-5 #include stdio.h int main( ) { printf(”10-9/6*5 = %d”, 10 – 9 / 6 * 5); return 0; } 运行结果如下: 10-9/6*5 = 5 #includestdio.h main() { int x=5,y; y=++x; printf(%d\n,y); } 输出结果: 6 例2-6 #include stdio.h int main( ) { printf(”10-3.0/2=%f”, 10 - 3.0 / 2); } 运行结果如下: 10-3.0/2=8.500000 例2-7 (1) (x+y)×h÷2 (2) s(s-a)(s-b)(s-c) (3) (x+1)2+(y-1)2 在C语言中,其合法的算术表达式如下: (1) (x+y)*

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档