c语言编写循环打擂,C语言程序设计(5循环结构).ppt

C语言程序设计 第五章 循 环 结 构 4 4种循环语句种循环语句 while for do-while 循环是指使用一定条件对同一个程序段重复执行若干次。 循环结构又称重复结构,可以完成重复性、规律性的操作 。 goto goto 语句 o一般格式: ogoto 语句标号 o由if ……goto 构成循环 o例4-1: omain() o{int x=0,y=0; ostar: if (x) v执行流程: while语句 循环体:被重 复执行的部分 表达式 循环体 假(0) 真(非0) while v 特点:先判断表达式,后执行循环体 v 说明: l 循环体有可能一次也不执行 l 循环体可为任意类型语句 l 下列情况,可退出while循环 u 条件表达式不成立(为零) u 循环体内遇break,return,goto while语句特点和说明 while() o例4-2: omain() o{ o int count=1; o while(count main() { int n=9; while(n6) { n--; printf(“%d”,n); } } 876 main( ) { int n=9; while(n6) n--; printf(“%d\n”,n); } 6 例4-3:用while循环求sum=1+2+3+……+100 #include main() { int sum=0; int i=1; while(i main() { int p2=1,p1; int n=9; while(n0) { p1=2*(p2+1); p2=p1; n--; } printf(“the total is %d\n”,p1); } #include main() { int n=0; long t=1; printf(“ n n! \n”); while(n while(); v执行流程: do 循环体 expr 假(0) 真(非0) while “ ; ”不能少 expr 循环体 假(0) 真(非0) 循环体 while循环 v 特点:先执行循环体,后判断表达式 v 说明: l 至少执行一次循环体 l do~while可转化成while结构 do~while语句特点和说 明 do while(); omain() o{ int x=3; o do o { o printf(“%d”,x- =2); o }while(x=0); o} 1-1 x=x-2; printf(“%d”,x); 求1+2+3+……100 #include main() { int sum=0,i; i=1; do{ sum=sum+i; i++; }while(i main() { int sum=0; int i=1; while(i v 执行流程: expr2 循环体 假(0) 真(非0) for expr1 expr3 for语句 v 一般应用形式: for(初始化表达式;条件表达式;修正表达式) v 说明: l for语句中expr1, expr2 ,expr3 类型任意,都可省 略,但分号;不可省 l for语句可以转换成while结构 表达式1; while(表达式2) { 表达式3; } for语句 for([表达1] ;[表达式2] ;[表达式3]) 形式1: #include main( ) { int i=0; for(i=0;i main( ) { int i=0; for(;i main( ) { int i=0; for(;i main( ) { int i=0; for(;i main( ) { int i ,s; s=0; i=1; while(i main( ) { int i,s; s=0; i=1; do { s = s + i; i++; }while(i main( ) { int i, s=0; for(i=1; i=0); } 去掉分号, 结果是? 例:求Fibonacci数列第40项。又叫兔子繁殖问题(Fibonacci提出的 ) main( ) { int n,m; long f1=1,f2=1,f3; printf(“%ld %ld ”,f1,f2); for (m=3;mmax) max=x; } printf(“max=%d\n”,ma x); } 依次输入10个数,找出最大数。 分析: 输入x1 x1 max 输入x2 若x2max则x2 max 输入x3 若x3mx则x3 max 输入x4…… 打擂方式 有一个分数序列2/1,3/2,5/3,8/5,21/13……求该数例前20项之和 main() { int n,t; float a=2,b=1,s=0; for(n=1;n='a' scanf(“%d“, for (n=2;nm-1) printf(“the %d is a primer\n“,m); else printf(“the %d is not a primer\n“,m); } 例:验证素数 素数是除了1和它自身外, 再也找不到能被它整除的数 。 即:若m不能被2到m-1中 所有整数整除,则n为素数。 已证明只要从2判断到m/2 或 即可。 算法分析: 求100~200间的全部素数? 也可用m/2 或sqrt(m) 与break语句退出循环不同的是,continue语句只结束本次 循环,忽略循环体中剩下的语句,接着进行下一次循环的判 断,如果满足循环条件,继续循环,否则退出循环。 例:输出100以内的偶数 main() {int i; for(i=1;i main() { int i,s; s=0; for(i=1;ib) max=a; else max=b; return max; } main() { int a,b; scanf(“%d%d”, printf(“MAX is %d\n”,max(a,b)); } omain() o{ oint x,y,z; ox=2; y=7; z=5; oswitch(x0) o{ o case 1: switch(y10) o{ case 1: printf(“^“);break; o case 0: printf(“!“);break; o} o case 0: switch(z==5) o{ ocase 0: printf(“*“);break; ocase 1: printf(“#“);break; odefault: printf(“%%“);break; o} o default:printf(“ o} oprintf(“\n“); o } 思考运行结果是什么? 小结 o 前五章主要讲了C语言的基础知识,3种基 本的数据类型和几种运算符及表达式,C语 言中3种基本的结构以及简单的编程思想。 o要求:通过这几章的学习,要求学生掌握C 的编程思想以及算法的制定,同时要求掌握 调试程序的方法

展开阅读全文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值