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

第三章 数据类型、运算符与表达式 3、1 C的数据类型 所谓数据结构指的是数据的组织形式。 3、2 常量和变量 1、常量 在程序运行过程中其值不能改变的量称为常量。一般从其字面形式即可判别。 整型常量:12,0,-345 实型常量:44.6, -1.23, 1.2E-3, 6e+2 字符常量:‘a’、‘D’、‘d’ 字符串常量: “This is a program.” 2、符号常量 符号常量:用一个标识符代表一个常量。 #define PRICE 30 main() { int num=10,total; total=num*PRICE; /*相当于total=num*30;*/ } 运行结果: total=300 8.位运算符: 运算符 含 义 按位与 | 按位或 ^ 按位异或 ~ 单目取反 左 移 右 移 例:int i ; float  f ; double d ; long e ; 则:10 +'a'+ i * f - d / e 合法 转换次序: (1)计算 10+'a', 结果为整数107 (2)计算 i*f , 结果为double型 (3)整数107与i*f的积相加,结果为double型 (4)计算 d/e , 结果为double型 (5)将10+'a'+i * f 的结果与 d/e 的商 相减,结果为double型。 3、8 算术运算符和算术表达式 1、运算符的种类、优先级和结合性 C语言中运算符和表达式数量之多, 在高级 语言中是少见的。正是丰富的运算符和表达式使 C语言功能十分完善。 这也是C语言的主要特点 之一。 C语言的运算符不仅具有不同的优先级, 而 且还有一个特点,就是它的结合性。在表达式中, 各运算量参与运算的先后顺序不仅要遵守运算符 优先级别的规定,还要受运算符结合性的制约, 以 便确定是自左向右进行运算还是自右向左进行运算。 这种结合性是其它高级语言的运算符所没有的,因此 也增加了C语言的复杂性。 2. 算术运算符和算术表达式 1) 基本算术运算符 + - * / %(模除,或称求余) 例:7 % 3 值为 1 5/3 = 1, -5/3 = -1 若参加运算的两个数中有一个为实数,则 结果为double型。 求余运算(%)要求参与运算的量均为整型。 其结果等于两数相除后的余数。 main( ){ printf(\n\n%d,%d\n,20/7,-20/7); printf(%f,%f\n,20.0/7,-20.0/7); } 参与运算量均为整型时, 结果也为整型,舍去小数。 如果运算量中有一个是实型,则结果为双精度实型。 本例中,20/7,-20/7的结果均为整型,小数全部舍 去。而 20.0/7和-20.0/7由于有实数参与运算,因此 结果也为实型。 2) 算术表达式 表达式是由常量、变量、函数和运算符组合起来 的式子。 一个表达式有一个值及其类型, 它们等于 计算表达式所得结果的值和类型。表达式求值按运算 符的优先级和结合性规定的顺序进行。 单个的常量、 变量、函数可以看作是表达式的特例。 算术表达式是由算术运算符和括号连接起来的式 子, 以下是算术表达式的例子: a+b (a*2)/c (x+r)*8-(a+b)/7 ++i sin(x)+sin(y) (++i)-(j++)+(k--) 注意:C语言算术表达式的书写形式类似于数学中 的代数表达式,但有区别: (1) a * b 不能写为 a×b、ab 、a.b (2) c / d 不能写为 c÷d 、 c d (3) e-(f+(g-h)/(i-j))+k 不能写为 e-[f+(g-h)/(i-j)]+k (4) 3.14*r*r 不能写为π*r**2 或 3.14*r^

文档评论(0)

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

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

1亿VIP精品文档

相关文档