北大教授C语言讲义C2.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 循环控制 北京大学计算机系 代亚非 5.1 概述 一般需要使用循环的情况是: 有重复的动作(循环体) 循环次数可以控制(循环条件) 例如: 1+2+3+….+100 在C语言中可以用下列语句实现循环. goto和if结合 while do-while for while 语句 while语句用来实现“当循环” 一般形式如下: while (表达式) 语句 表达式为真时(非0值),执行while语句的内嵌语句。 [例5.1] 求1+2+3+….+100 do-while 语句 do-while 语句用来实现“直到型”循环结构 for语句 for语句的一般形式 for语句 例:for (i=1;i=100;i++) sum=sum+i 赋初值可以省略,但分号不能省略。 如:for (; i=100;i++) sum=sum+i; 如果循环终止条件省略,则无限循环。 如:for (i=1; ; i++) sum=sum+1; 如果最后一句省略,必须在程序的其他地方有修改循环变量的语句,否则无法保证循环正常结束 for (i=1;i=100; ) for (i=1;i=100; ;) sum=sum+i; {sum=sum+i; i++} for语句 for (; ;) 表示无限循环,相当于while (1)语句 for语句中的第一个表达式可以不是赋初值语句, 如:for (sum=0;i=100; i++) sum=sum+i; 包含逗号表达式的其它形式的for语句,如: for (sum=0, i=1; i=100; i++); for (i=1, j=100; i=j; i++, j--) k=k+i+j; for (i=1; i=100; i++, i++); 相当于for (i=1; i=100; i=i+2); for语句 循环终止条件的种类: 1.关系表达式: 如前几例 2.逻辑表达式: for (; ab xy ;) 3.字符表达式: for (; (c=getchar()) != ‘\n’;) printf(“%c”,c); 程序举例 [练习1] 输入50个0~9的字符数字,计算数字串中有多少个奇数,偶数和零 . 思路: 1. 输入50个字符数字,而不是整数 char num 2. 50个字符的输入和50个数字的输入的区别 字符可以连续输入50个 009764146589…... 数字输入必须是用空格,TAB键或回车隔开 0 0 9 7 6 4 1 4 6 5 8 9 … … 3. 将字符变成数字后判断奇偶 i=num-’0’; 字符数字的ascii码:30 31 32 33 34 35 36 37 38 39 程序举例 程序举例 [练习2]输入一个整数,计算它的位数.并反向输出. 思路:设一个数13579,一位一位地切下末位 循环结束条件: num==0; 同时计数 count=count+1; 程序举例 循环的嵌套 循环的嵌套又称多重循环。 for (i=1;i=1,i++) printf(“%d×%d=%d”,1,i,1*i) for (i=1;i=2,i++) printf(“%d×%d=%d”,2,i,2*i) for (i=1;i=n,i++) printf(“%d×%d=%d”,n,i,n*i) for (n=1;n=9;n++) {for (i=1;i=n;i++) 循环的嵌套 循环的嵌套 分析: 行的控制 i:1~8 ‘*’的个数j与当前行的关系 j=2*i-1 ‘*’前面的空格k与行的关系: 开始时,第一行有8个空格 每多一行,少一个空格k=8-I while (i=8) { for (k=1,k=8-i,k++) 输出空格; for (j=1,j=(2*i-1) 输出* } 循环的嵌套 break语句和continue语句 break语句用来从循环体里退出,中止循环 continue用来跳过剩下的语句,回到循环开始 break语句和continue语句 break语句和continue语句 [例5.8] 判断m是否是素数 操作:用2~m-1依次去除m, 若其中有任意一个数被除尽,则没有必要再判断下去,它肯定不是素数,跳出循环;若所有数都不能被除尽,则循环可以自然完成. 程序举例 程序举例 输入若干字母,将它们变成其后的第四个字母,A--E, W--A.非字母字符忽略. 思路: 1.建立循环, 循环结束以输入回车符为准

文档评论(0)

wxc6688 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档