欢迎来到天天文库
浏览记录
ID:48804994
大小:854.00 KB
页数:57页
时间:2020-01-26
《第03章 循环结构程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章之循环结构程序设计第三章之循环结构程序设计学习的意义语言程序设计第三章之循环结构程序设计C许多实际问题中往往需要有规律地重复某些操作,如菜谱中可以有:“打鸡蛋直到泡沫状”这样的步骤,也就是说,在鸡蛋没有打成泡沫状时要反复地打。相应的操作在计算机程序中就体现为某些语句的重复执行,这就时所谓的循环。下面来思考一个问题:如何编程来计算1+2+3+…+100?程序如下:ints=0;s=s+1;s=s+2;s=s+3;……s=s+100;printf(“s=%d”,s);重复100次,晕!!!有没有更好的方法来计算呢?有!就是用循环来编程。While、do-while、for语句循环嵌套Brea
2、k、continue、goto语句exit()函数循环结构类型的选择及转换循环结构程序设计举例本讲小结学习目标理解循环结构的含义;掌握C语言三种循环结构的特点;掌握while、do-while、for、goto、break、continue语句的使用方法;掌握不同循环结构的选择及其转换方法;掌握混合控制结构程序设计的方法。学习内容语言程序设计第三章之循环结构程序设计C3.5循环结构的程序设计1.while语句语言程序设计第三章之循环结构程序设计C一般形式:while(表达式)循环体语句;执行流程:FTexpr循环体while其中:while后面的括号()不能省。while后面的表达式可以是任意
3、类型的表达式,但一般是条件表达式或逻辑表达式。表达式的值是循环的控制条件。语句部分称为循环体,当需要执行多条语句时,应使用复合语句。特点:先判断表达式,再执行循环体语言程序设计第三章之循环结构程序设计C【例】用while语句求1~100的累计和。#includevoidmain(){inti=1,sum=0;while(i<=100){sum+=i;i++;}printf("sum=%d",sum);}循环初值循环终值循环条件循环体循环变量增值运行结果:sum=5050几条语句就成啦!爽!!!【例】显示1~10的平方#includevoidmain(){
4、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和goto语句将在随后介绍)。语言程序设计第三章之循环结构程序设计Cwhile语句注意事
5、项: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语句,从而形成双重循环。语言程序设计第三章之循环结构程序设计Cwhile语句注意事项:例:计算10!#includevoidmai
6、n(){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(欧几里德)算法来求最大公因子,其算法是:(1)输入两个正整数m和n。(2)用m除以n,余数为r,如果r等于0,则n是最大公因子,算法
7、结束,否则(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("Theirgreatestcommondivisoris%d"
此文档下载收益归作者所有