第05章 循环结构(课件)-《 C语言程序设计》同步教学(电子工业出版社)

2024-08-10
| 28页
| 46人阅读
| 5人下载
普通

内容正文:

第05章 循环结构 1 1. 逗号运算符及其表达式 2. while、do while和for语句 3. continue、break和goto语句 4. 循环的嵌套 本章内容 2 解决实际问题有时需要做大量重复操作 为什么要用循环? 3 例如打印1000次”helloworld”,计算s=1+2+3+…+99+100等 一般形式:表达式1, 表达式2, ..., 表达式n 逗号表达式的值,等于表达式n的值 常用于for循环中 一、逗号运算符及其表达式 4 运算符 , 名称 逗号 类型 双目 优先级 15(最低) 结合性 左结合 例 a=3*5,a*4 a=3*5,a*4,a+5 例 x=(a=3,6*3) x=a=3,6*a 例 a=1;b=2;c=3; printf(“%d,%d,%d”,a,b,c); printf(“%d,%d,%d”,(a,b,c),b,c); 5 例: #include <stdio.h> int main() { int x,y=7; float z=4; x=(y=y+6,y/z); printf(“x=%d ",x); return 0; } 运行结果:x=3 while(表达式) { 循环体 } 二、while语句 6 注意: 循环表达式可以是任意表达式; while(表达式)后面不要随便加分号; 建议循环体语句都放在一对大括号内; 例1 计算1+2+3+…+99+100 7 思考:如果要计算100以内奇数的和,该如何修改本程序? 即求s= #include <stdio.h> int main() { int i=1,s; return 0; } s=0 s=s+1 s=s+2 s=s+3 … s=s+99 s=s+100 注意检查循 环边界条件, 即1和100是 否都加到s上 s=0; while(i<=100) { s=s+i; i=i+1; } printf(“%d ”,s); do { 循环体 }while(表达式); 三、do while语句 8 for(表达式1;表达式2;表达式3) { 循环体 } 四、for语句 9 1. 循环表达式一般是关系表达式或逻辑表达式,实际上可以是任意表达式; 2. 循环体包含一条以上语句时,用复合语句。不管一条还是多条语句,建议都加大括号; 3. 循环前,必须给循环变量赋初始值; 4. 循环中须有改变循环变量值的语句; 5. 循环体可以为空; 说明 10 循环变量即控制循环结束的变量,也即出现在循环判断表达式中的变量。 例2 求100以内的奇数和与偶数和(while、do while和for写法) 11 例3 从键盘输入一个正整数,在屏幕上将其逆序输出。比如输入573,输出3 7 5 (注意每个数字后面有一个空格) 12 输入正整数n=573; 输出573的个位数3; 把573的个位数抹掉得到新的n=57; 输出57的个位数7; 把57的个位数抹掉得到新的n=5; 输出5的个位数5; 把5的个位数抹掉得到新的n=0; 操作结束 输出正整数n=573; 输出573的个位数3; 输出573的十位数7; 输出573的百位数5; 操作结束 13 输入正整数n=573; 当n不为0时,循环做如下操作: 输出n的个位数; 把n的个位数抹掉得到新的n; 思考:如果要求每位数字正序输出呢?例如上述例子要求输出5 7 3 #include <stdio.h> int main() { int n; scanf(“%d”,&n); while(n!=0) { printf(“%d ”,n%10); n=n/10; } return 0; } break语句 五、continue、break和goto 14 while语句中break执行流程图 do-while语句中break执行流程图 for语句中break执行流程图 continue语句 一般不建议使用无条件转移语句goto 15 while语句 do-while语句 for语句 break结束整个循环,从本层循环后的第一条语句接着执行 continue提前结束本次循环,马上开始做下一次循环,它还在循环中 16 例4 求两个正整数的最大公约数和最小公倍数 17 分析好每个循环的循环体,每个循环都是按其既定的运行流程在运行。 六、循环的嵌套 18 例5 打印九九乘法表 19 1、数列求和 例6 求1-1/2+1/3-1/4…直到最后一项绝对值小于10-6 七、循环例题分析 20 例7 计算a+aa+aaa+…+a…a(n个a)的值,n和a由键盘输入 21 2、找数 例8 判断一个正整数是否素数 22 例9 找出所有的水仙花数。水仙花数是一个三位数,其各个位数上的数字立方和等于该数本身 23 例10 找出1000以内的所有完全数,并按如下格式打印:6=1+2+3。所谓完全数是指一个数如果等于它的因子之和(除自身外),则称该数为完全数。 24 3、打印图形 例11 打印如下图形 25 4、找组合 例12 零钱兑换问题:用1分,2分,5分硬币组合成1元钱,请问分别需要几个1分,几个2分,几个5分?(每币种必须至少1个)列出所有的组合. 26 百钱百鸡问题、百马百担问题 质因数分解 27 5、字符串处理 例13 输入一行字符串,统计并输出其中英文字符、数字字符、空格和其他字符的个数。 28 $$

资源预览图

第05章 循环结构(课件)-《 C语言程序设计》同步教学(电子工业出版社)
1
第05章 循环结构(课件)-《 C语言程序设计》同步教学(电子工业出版社)
2
第05章 循环结构(课件)-《 C语言程序设计》同步教学(电子工业出版社)
3
第05章 循环结构(课件)-《 C语言程序设计》同步教学(电子工业出版社)
4
第05章 循环结构(课件)-《 C语言程序设计》同步教学(电子工业出版社)
5
第05章 循环结构(课件)-《 C语言程序设计》同步教学(电子工业出版社)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。