已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
6.3.5 关系运算符的优先级 关系运算符的优先级要低于包括 + 和 - 在内的算术运算符,但是要高于赋值运算符。这意味 x y + 2 也同时等于 x (y + 2) x = y 2 也同时等于 x = (y 2) 换句话说,如果 y 大于 2, x 为 1; 否则 x 为 0。 就是并不没有把 y 的值 赋给 x 。 关系运算符比赋值运算符的优先级要高,所以 x_bigger = x y; 也同时等于 x_bigger = (x y) 关系运算符本身也分成两组不同的优先级-低优先级的组: = !=- 像大多数其他的运算符一样,关系运算符从左到右进行结合。这样: ex != wye = zee 就等于 (ex != eye = zee) C 首先检查 ex 与 wye 的值是否不相等,然后结果值 1 或 0 (真或假)再与 zee 的值进行比较。我们不希望你使用这种结构,但是有必要对其进行说明。 PS : 总结: while 语句 关键字: while 总体注解: while语句创建了一个在判断表达式变为假 (或零)之前重复执行的循环。while 语句是一个入口条件循环,也就是说,是否执行循环的决定是在进入循环之前就做出的。因此,循环有可能永远不被执行。该形式的 statement 部分可以是一个简单语句或一个复合语句。 形式: while (expression) statement 在 expression 变为假 (或 零)之前重复执行 statement 部分。 例如: while (n+ 100) printf (%d,%d n,n,2*n,n+1); /* 单个语句 */ while (fargo 2 为真, 则该关系表达式的值为 1 。 (2 + a)= a 为假,则该关系表达式的值为 0 。 6.4 不确定循环与计数循环 有些 while 循环的例子是不确定 (indefinite)循环。也就是说,在表达式变为假之前你不能预先知道循环要执行多少次,例如,程序清单 6.1 使用一个交互式的循环来计算整数的和,事先你并不知道会输入多少个整数。其他的例子是计数 (counting)循环,它们循环执行预先确定的次数。程序清单 6.10 是 while 计数循环的一个简短的例子。 程序清单 6.10 sweetie1.c 程序-/* sweetie1.c - 一个计数循环 */#include int main (void) const int NUMBER = 22; int count = 1; /* 初始化 */ while (count = NUMBER) /* 判断 */ printf (Be my Valentine n); /* 动作 */ getchar(); return 0; 尽管程序清单 6.10 中使用的形式可以很好地工作,但它并不是这种情况下最好的选择,因为定义循环的动作没有被组织在一起。我们来详细说明这一点。 在建立一个重复执行固定次数的循环时涉及到三个动作;1. 必须初始化一个计数器。2. 计数器与某个有限的值进行比较。3. 每次执行循环,计数器的值都要递增。 while 循环条件执行比较的动作,增量运算符执行递增的动作。在程序清单 6.10 中,递增在循环的结尾处执行。这种选择使得有可能不小心漏掉递增的动作。所以更好的方法是使用 counf+ = NUMBER 来把判断与更新动作结合在一个表达式中,但使用这种方法时计数器的初始化仍然是在循环之外进行的,这样就有可能忘记初始化。实践告诉了我们有可能发生的事情最后总是会发生的,所以我们来看一种可以避免这些问题的控制语句。 6.5 for 循环 for 循环把所有这三种动作(初始化,测试,更新)都放在一起。通过使用 for 循环,你可以用程序清单 6.11 中的程序来代替前一个程序。 程序清单 6.11 sweetie2.c 程序-/ sewwtie2.c - 一个使用 for 的计数循环#include int main (void) const int NUMBER = 22; int count; printf ( Be my Valentine !n); getchar(); return 0; 在关键字 for 之后的圆括号中包含了由两个分号分开的三个表达式。第一个表达式进行初始化,它在 for 循环开始的时候执行一次。第二个表达式是判断条件,在每次循环之前都要对它进行求值。当表达式为假 (count 大于 NUMBER)时,循环就结束了。第三个表达式进行改变或称为更新,它在每次循环结束时进行计算。程序清单 6.11 使用它来递增 count 的值,但是并没有限制一定要这样使用它。这之后的一个简单或复合语句结束了 for 语句。三个控制表达式中的每一个都是完整的表达式,所以任意一个控制表达式的任何副作用(例如把一个变量的值递增)都在程序求下一个表达式的值之前生效。 简单来说 for 就是里面有三个控制语句,用二个分号来隔开,第一个是初始化,第二个判断,第三个是递增。 我们来看另外一个例子,程序清单 6.12 在一个打印立方表的程序中使用了 for 循环。程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- NB/T 11823-2025煤层气开发项目后评估技术规范
- 2026届黑龙江大庆第十四中学初三年级下学期期末质量检测试题数学试题含解析
- 2026年湖南省长沙县市级名校初三第一次四校联考物理试题含解析
- 2026年大学大一(交通工程)交通流理论阶段测试试题及答案
- 护理文书的健康促进
- 2026年北京延庆区高三一模高考地理试卷试题(精校打印版)
- 护理专业课程实体班课件分享
- 护理服务中的心理支持与满意度提升
- 慢性肾功衰患者的护理满意度调查
- 2026年医疗废物规范化管理考试题及答案
- 消防行政处罚执法案例解析
- 2025-2026学年译林版八年级英语上册(全册)知识点梳理归纳
- 2026年江西科技学院单招职业技能测试题库及答案解析(夺冠系列)
- 中国电子学会软件编程考级C++一级题库50题及参考答案
- 北师大版二年级数学下册全册同步练习随堂练习一课一练版
- 高中物理知识点总结大全
- 爱国教育:什么是爱国教学课件
- 2026年陕西工商职业学院单招职业倾向性测试必刷测试卷必考题
- 拜仁慕尼黑足球俱乐部介绍
- 高压电工实操考试题库(含答案)
- 废弃矿山修复项目的风险评估与管控方案
评论
0/150
提交评论