资源描述:
《C程序设计实验指导书(实验三).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、C程序设计实验指导书(实验三) 实验三循环结构程序设计班级姓名学号实验日期 一、目的和要求 1、掌握while、do_while、for语句的格式及使用。 2、掌握循环嵌套结构的使用。 3、掌握break和continue语句的使用。 二、实验内容 1、输入程序,查看结果,并回答问题。 (1)#includevoidmain(){inti,j,x=0;for(i=1;i<4;i++)for(j=1;j<8;j+=2)x=x+1;printf("%d",x);}问题①运行结果②循环结束后变量i和变
2、量j的值各为多少?在程序中加以验证i=j= (2)以下程序实现求1+2+3+...+100的值。 按要求回答问题,并上机调试、验证。 #includevoidmain(){inti,sum;sum=;/*Line1*/for(i=1;i<=100;i++)/*Line2*/sum+=i;/*Line3*/printf("sum=%d",sum);}问题①将注释/*Line1*/处语句补充完整;若将释/*Line2*/处for语句括号中的“i=1”与“i++”都省略,应如何修改代码?给出修后的主要代码段。
3、 若将/*Line2*/处for语句括号里的内容改为for(;;),程序又应如何修改问题②答问题③答④若将/*Line2*/和sum赋初值语句及/*Line3*/的循环体全部放在for语句的括号中的三个表达式中实现,循环采用空语句“;”,则/*Line1*/开始的三行代码可以改为for(;i<=100;);⑤若将此程序的功能改为求1+3+5+...+99的值,注释/*Line2*/处的for语句应如何修改?for(;;)⑥将此题改用while语句实现,并上机调试。 (3)#includevoidmain(){in
4、tx=4,sum=0;while(x--)sum+=2*x;printf("sum=%d",sum);}问题①程序运行结果为②程序实现的功能是什么?③while语句执行完后,x的值为多少?在程序中将x值输出加以验证。 (4)阅读下面的小程序,给出问题①中程序的预期的输出结果,然后再运行程序给出程序实际运行结果。 对预期结果和程序实际结果进行比较。 #includevoidmain(){inti;for(i=1;i<=5;i++){if(i%2)printf(“*”);elsecontinue;printf
5、(“#”);}printf(“$”);}问题①程序预期结果②程序实际运行结果 (5)以下程序用来求2~100以内所有的素数#include#includevoidmain(){inti,flag,count;count=0;for(i=2;i<=100;i++){flag=1;/*A*/for(j=2;j<=i-1;j++)/*B*/if(i%j==0)flag=0;/*C*/elseflag=1;/*D*/if(flag){printf("%d",i);count++;}if(count%5==0)prin
6、tf("");/*E*/}}①程序中有一处错误,请指出并修改。 ②程序中flag的作用是什么?将/*A*/行的语句“flag=1;”表示什么意思?③程序中变量count的作用是什么?注释/*E*/处if语句的作用是什么?④如下给出了提高程序方法,按要求完成,修改程序并验证。 i)修改/*B*/处划波浪线处,应改为ii)在注释/*C*/处if语句中增加break语句。 修改后的语句为if(i%j==0) (6)以下程序用于求fibonai数列:1,1,2,3,5,8,13,...的前24项,fibonai
7、数列的递推公式为1(n=1或n=2时)fn=fn-2+fn-1(n>2时)#includevoidmain(){intf1,f2,fi,i;f1=;f2=;/*A*/printf("%d%d",f1,f2);for(i=;i<=24;i++)/*B*/{fi=f1+f2;printf("%d",fi);if(i%6==0)printf("");/*C*/f1=;f2=;/*D*/}}问题①将程序中注释/*A*/、/*B*/、/*D*/所在行的空缺补充完整。 ②补充完整后程序的运行结果为③若想每行输出4个元素,
8、注释/*C*/所在行应如何修改? 2、编写程序并上机调试运行。 (1)用循环语句输出以右侧图形程序************************* (2)输出所有的水仙花数。 水仙花数为一三位数,如153=13+53+33程序运行结果 (3)利用公式?+?+?=71513114ππ,求π的值,要求最后一项的绝对值小于10-5。 程序运行结果成绩