《C语言程序设计》课程实验报告实验名称循环结构程序设计学号_姓名班别实验日期:年月日实验报告日期:年月日指导老师:实验地点:成绩:评语:≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡实验目的和要求目的:掌握while语句、do—while语句的for语句实现循环的方法;掌握在程序设计中用循环的方法实现一些常用算法(如穷举、累加、递推等);进一步学习程序调试。实验环境硬件环境:分辨率至少在1024*768像素之上的显示器;P-III及其兼容处理器,或更高型号;处理器速度至少600MHz,推荐1GHz或更高;内存至少512MB,推荐1GB或更大;2G以上硬盘空间。软件环境:安装windows操作系统和TC(或VC++)软件。实验重点及难点重点:while语句、do…while语句、for语句的结构及其使用方法;break语句和continue的应用及其区别;难点:常用的循环程序设计方法及算法特点,并能编写相应的程序。实验过程一、相关知识1.当型循环结构设计(1)赋初值(2)判断循环条件是否为真,是则转(3)否则转(4)(3)执行循环操作的语句序列,转入(2)(4)结束循环2.直到型循环结构设计(1)赋初值(2)执行循环操作的语句序列(3)判断循环条件是否为真,是则转(2)否则转(4)(4)结束循环3.do…while语句用来实现“当型”循环结构的语法形式。一般形式:do循环体语句;while(表达式);4.for语句的一般形式:for(表达式1;表达式2;表达式3)语句;执行过程:(1).先计算表达式1(2).计算表达式2,为真执行循环体内程序,否则结束循环(3).计算表达式3(4).转到第二步继续执行5.for语句使用最多的情况:for(循环变量赋初值;循环条件;循环变量增量)语句;例如:for(i=1;i100;i++)sum+=i;6.for语句中只有表达式2,而无表达式1和表达式3。其作用是每读入一个字符后立即输出该字符,直到输入一个“换行”为止。请注意,从终端键盘向计算机输入时,是在按Enter键以后才将一批数据一起送到内存缓冲区中去的。7.break语句可以用来从循环体内跳出循环体,即提前结束循环,接着执行循环下面的语句。8.continue语句作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。9.一个循环体内又包含另一个完整的循环结构称为循环的嵌套。内嵌的循环中还可以嵌套循环,这就是多层循环。二、实验内容:1.输入一行字符,分别统计出其中的英文字母、数字、空格和其它字符的个数;2.求S=1!+2!+3!+…+20!;3.输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例153=13+53+33;4.猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半还不过瘾,又多吃了一个。第2天又把剩下的桃子吃掉一半,又多吃一个。以后每天都吃掉前一天剩下桃子的一半零一个。当第10天再想吃时发现仅剩一个桃子。问第1天共摘了多少个桃子。三、实验过程1.源程序:#includestdio.h#includestdlib.h#includestring.hinti,a[4];chart;intmain(){for(i=0;;i++){scanf(%c,&t);if(t=='\n')break;elseif(t='A'&&t='Z')a[0]++;elseif(t='a'&&t='z')a[0]++;elseif(t=='')a[1]++;elseif(t='0'&&t='9')a[2]++;elsea[3]++;}for(i=0;i4;i++)printf(%d,a[i]);system(pause);return0;}运行结果如下:2.源程序:#includestdio.h#includemath.hvoidmain(){intS=0,i=1;intn;for(n=1;n=20;n++){i=i*n;S=S+i;}printf(S=%d\n,S);}输出结果如下图:3.源程序:#includestdio.h#includeconio.hmain(){inti,j,k,n;printf(waterflowernumberis:);for(n=100;n1000;n++){i=n/100;j=n/10%10;k=n%10;if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)printf(%-5d,n);}}运行结果:4.源程序:#includestdio.h#includemath.hmain(){inti,j;j=1;for(i=1;i10;i++){j=2*(j+1);}printf(%d\n,j);}结果如下:四、实验结果及分析掌握好循环结构程序设计,才能进行更复杂的算法设计,才能解决更多的复杂问题。