- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
清华大学C课件7
无限循环 发生无限循环的场合 循环体内没有改变循环变量值的语句 即使改变循环变量值,也不能否定循环条件 循环体内没有能够强制终止循环执行的语句或命令 无限循环的后果 程序永远不会结束,大多数时有害,编程时一般应避免 例外情况:循环体内有专门控制循环终止的语句或命令 命令格式:满足某种条件下使用 break 语句,终止循环 当循环: #define N 1 …… while ( N ) { cout “ welcome to Tsinghua \n”; } #define N 1 …… while ( N - 1 ) { cout “ welcome to Tsinghua \n”; } 例:求两个整数的最小公倍数 分析:假定有 x , y 且 x y,设最小公倍数为 z z 一定大于等于 x z = k x , k = 1, 2, … z 一定会被 y 整除 比如: x=5, y=3 step1: z = x // x=5 5 % 3 != 0 // z % y 不能整除 step2: z = z + x 10 % 3 != 0 // z % y 不能整除 step3: z = z + x 15 % 3 == 0 // z % y 能整除 …… int main() { int x=0, y=0, z=0, w=0; cout “请输入两个整数,用空格隔开:”; cin x; cin y; if ( x y ) // 让 x 表示两者中的大数 { w = x; x = y; y = w; } z = x; // 将一个大数赋给 z while ( z % y != 0 ) // 当z不能被y整除时,就让z累加x z = z + x; cout “最小公倍数为” z endl; return 0; } do-while 循环格式:do{ 循环体 }while(表达式); do-while 循环流程 先执行后判断:先执行一遍循环体(一次迭代),计算表达式的值,表达式为真时重复执行循环体,否则终止循环(循环体至少执行一次) 为保证循环终止,循环体内应有能改变表达式值的语句 4补.6 do-while 循环结构 例:求π的近似值 π ≈ 4 * ( 1 - 1/3 + 1/5 - 1/7 + … ) 令 a 为 1, 3, 5, 7, … b = ±1 c = b / a 表示括号中的每一项 当最后一项的绝对值小于等于10-6时,忽略掉以后的项 …… int main() { int sum=0; // 总项数 float pi=0, a=1.0, b=1.0, c=1.0; do { pi = pi + c; // 累加每一项 sum = sum + 1; a = a + 2.0f; // 计算每一项的分母 b = -b; // 分子变正负号 c = b / a; // 计算每一项 } while ( fabs(c) 1e-6 ); // c的绝对值大于10-6时循环 pi = 4.0f * pi; cout pi= pi endl; // 输出pi cout sum= sum endl; // 输出总项数 return 0; } for 循环格式 for(表达式1; 表达式2; 表达式3) 循环体 for 循环流程 先判断后执行:先执行表达式1(循环初始化),再计算表达式2,以根据其结果决定是否执行一遍循环体,计算表达式3的值(循环再次“初始化”),返回重新计算表达式2的值以确定循环是否终止 4补.7 for 循环结构 递增递减表达式 递增递减表达式的优先级非常高 前缀递增递减 格式:++变量名称; --变量名称; 例一:设 a 为 1,++a 等价于 a = a + 1,a 结果为 2 例二:设 a 为 1,--a 等价于 a = a - 1,a 结果为 0 计算要诀:先递增递减,再参与运算 例三:设 a 为 1,b = ++a
文档评论(0)