- 1、本文档共103页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章基本的程序语句
例:计算表达式的值 ? main ( ) { char ch; scanf (%c, ch); printf(%c, ch); } 例: 输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。 6-4 .c ? ch=(ch=A ch=Z)? (ch+32):ch; 逗号表达式一般形式: 表达式1, 表达式2 其计算规则: 先计算表达式1,再计算表达式2,最后值为表达式2的值。 例:a=3?5, a ? 4 则: 先计算3 ? 5, a?15, a ? 4=60,结果为60。 6.3.6 逗号运算符和逗号表达式 注:优先级最低 又如: (a=3?5, a ? 4), a+5 扩展形式: 表达式1, 表达2, …,表达式n, 结果为20(作为逗号表达式的值) (3) a+5?a 即 20?a. (1) 3 ? 5=15?a (2) a ? 4=60 (此时a值仍未变) 结果为表达式n的值 6.3.7 数据类型的转换 2. 强制 1. 系统自动 有二种方法进行数据类型转换: C语言允许双精度、单精度、整型及字符数据之间混合运算。 如:10+a+1.5–8765.1234 ? b是允许的。但有一个规则:先转换成同一类型,再计算。 double ? float 高低 图中“ ? ” 表示必定转换(即使是同一类型)。如a + b,先转换为int。结果为 int。 转换方法: ? long ? unsigned ? int ? char, short 图中“ ? ” : 表示低, 高型数据运算时,均先转换为高型。 1. 系统自动转换 例: 10+ a+i?f –d /e 其中: i –– int f –– float d –– double e –– long (3) 10+a: 转为int, 结果为int (1) i?f: 转为double, 结果为double (4) (3)+(1) : 转为double (2) d /e : 转为double (5) (4) - (2) 转为double 则运算时: 2. [实型变量]=[整型数据] 数值不变, 以浮点数存储 ? 1. [整型变量]=[实型数据] 舍弃实数的小数部分 结论:两边类型若不一致,赋值时要进行类型转换。 转换规则: 例1: 6-0-5 ? ? (数据丢失) 用强制类型转换运算符将一个算术表达式转换为所需类型。 例如: (double) a 将a转换为double (int) (x+y) 将x+y转换为int (float) (5%3) 将5%3转换为float 注: 优先级最高 例2: 6-6 ?(较长的数据类型强制转换为较短的数据类型) 2. 强制类型转换 形式: (类型名) (表达式) C语言共有各类运算符47个,按优先级可分为11个类别共15个优先级。 运算符的优先级与运算方向:P158表6.15 6.3.8 复杂表达式的计算顺序 自反赋值运算符(复合赋值运算符) 在 =号之前加一个其它运算符。 C语言规定:凡是二目运算符均可构成复合运算符。 例: a+=3; 等价表达式: a=a+3 x?=y+8; 等价表达式: x=x ?(y+8) x%=3; 等价表达式: x=x%3 变量 = 表达式 赋值表达式说明: 例: x=(y=10) 相当于 y=10;x=y 由于赋值号为右结合性,于是 ( ) 可省略, 即为:x=y=10; ? 表达式又可以是一个赋值表达式。 又: a=5+(c=6) ?c=6, a=11 a=(b=4)+(c=6) ?b=4, c=6, a=10 例: a + = a – =a?a (设a?12) 步骤: a?a?144. a – =a ?a ?a=a –a ?a=12 –144= –132 a + = –132 ? a = a+(–132) = –264 ? 赋值表达式可以包含复合的赋值运算符。 例: 6-0-6 ?(复杂表达式的计算顺序) 一. 表达式语句 printf (“a=%d\n”,a); 表达式加上一个分号“;”. 如: i=i+1; i++; x+y; 其函数调用也可理解为表达式语句. 空语句 ; 任何事情都不做. 6.3.9
您可能关注的文档
最近下载
- 女犯的心理征及其心理矫治.doc VIP
- 2024版义务教育(道德与法治)课程标准(含2024年修订部分).pptx VIP
- MAN+L3240(TIERII)柴油机VIT技术的介绍应用研讨.pdf VIP
- NB∕T 10139-2019 水电工程泥石流勘察与防治设计规程.pdf VIP
- 起重吊装专项施工方案.docx VIP
- 墙面金属板安装施工方案与技术措施.docx VIP
- 公司收购(股权转让)法律尽职调查报告(律师专业版).docx VIP
- 企业内部控制培训课件完整版(164页PPT).ppt VIP
- 金属板墙面安装施工方案.doc VIP
- Hypertherm海宝 MAXPRO200 使用手册 中文.pdf VIP
文档评论(0)