欢迎来到天天文库
浏览记录
ID:52532717
大小:728.06 KB
页数:38页
时间:2020-04-09
《高级程序语言设计循环结构程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章循环结构程序设计制作人:王敬华第6章:循环结构程序设计学习的意义语言程序设计教程第六章循环结构程序设计C许多实际问题中往往需要有规律地重复某些操作,如菜谱中可以有:“打鸡蛋直到泡沫状”这样的步骤,也就是说,在鸡蛋没有打成泡沫状时要反复地打。相应的操作在计算机程序中就体现为某些语句的重复执行,这就时所谓的循环。下面来思考一个问题:如何编程来计算1+2+3+…+100?程序如下:ints=0;s=s+1;s=s+2;s=s+3;……s=s+100;printf(“s=%d”,s);重复100次,晕!!!有没有更好的方法来计算呢?有!就是用循环来编程。第4章已讨论程序结构顺序结构选择结构
2、循环结构本章讨论第5章已讨论While、do-while、for语句循环嵌套Break、continue、goto语句exit()函数循环结构类型的选择及转换循环结构程序设计举例本章小结学习目标理解循环结构的含义;掌握C语言三种循环结构的特点;掌握while、do-while、for、goto、break、continue语句的使用方法;掌握不同循环结构的选择及其转换方法;掌握混合控制结构程序设计的方法。学习内容语言程序设计教程第六章循环结构程序设计C6.1循环结构的程序设计1.while语句语言程序设计教程第六章循环结构程序设计C一般形式:while(表达式)循环体语句;执行流程:FT
3、expr循环体while其中:while后面的括号()不能省。while后面的表达式可以是任意类型的表达式,但一般是条件表达式或逻辑表达式。表达式的值是是循环的控制条件。语句部分称为循环体,当需要执行多条语句时,应使用复合语句。特点:先判断表达式,再执行循环体语言程序设计教程第六章循环结构程序设计C【例】用while语句求1~100的累计和。#includevoidmain(){inti=1,sum=0;while(i<=100){sum+=i;i++;}printf("sum=%d",sum);}循环初值循环终值循环条件循环体循环变量增值运行结果:sum=5050
4、【例】显示1~10的平方#includevoidmain(){inti=1;while(i<=10){printf("%d*%d=%d",i,i,i*i);i++;}}运行结果:1*1=12*2=43*3=94*4=165*5=256*6=367*7=498*8=649*9=8110*10=100语言程序设计教程第六章循环结构程序设计C(1)如果while后的表达式的值一开始就为假,循环体将一次也不执行。(2)循环体中的语句可为任意类型的C语句。(3)遇到下列情况,退出while循环:表达式为假(为0)。循环体内遇到break、return或goto语句(break
5、和goto语句将在随后介绍)。语言程序设计教程第六章循环结构程序设计Cwhile语句注意事项:inta=0,b=0;while(a>0)//a>0为假,b++不可能执行b++;intnum=0;//字符计数while(1){if(getche()=='')//如果输入的字符是回车符,则返回return;num++;}(4)在执行while语句之前,循环控制变量必须初始化,否则执行的结果将是不可预知的。(5)要在while语句的某处(表达式或循环体内)改变循环控制变量,否则极易构成死循环。(6)允许while语句的循环体又是while语句,从而形成双重循环。语言程序设计教程第六章循环结
6、构程序设计Cwhile语句注意事项:例:计算10!#includevoidmain(){inti;//i应赋初始值10longs=1;while(i>=1)s*=i--;printf("10!=%ld",s);}i=1;while(i<100)//死循环,因为i的值没变化,永远小于100sum+=i;printf("sum=%d",sum);i=1;while(i<=9){j=1;while(j<=9){printf("%d*%d=%d",i,j,i*j);j++;}i++;}【例】求两个正整数的最大公因子。我们采用Euclid(欧几里德)算法来求最大公因子
7、,其算法是:(1)输入两个正整数m和n。(2)用m除以n,余数为r,如果r等于0,则n是最大公因子,算法结束,否则(3)。(3)把n赋给m,把r赋给n,转(2)。#includevoidmain(){intm,n,r;printf("Pleaseinputtwopositiveinteger:");scanf("%d%d",&m,&n);while(n!=0){r=m%n;//求余数m=n;n=r;}printf(
此文档下载收益归作者所有