20-吴琛-实验三

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三循环控制

实验课程名:高级语言程序设计(C)

专业班级:电气本二学号:20 姓名:吴琛

实验时间:2012-4-18 实验地点:K4-202 指导教师:吴建设

一、实验目的和要求

1. 熟练掌握用while语句、do while语句和for语句实现循环的方法。

2. 掌握在程序设计中用循的方法实现一些常用算法。并进一步学习调试程序的方法。

二、实验内容

1、任务名称

程序求和:1+…+100,填空,实现该功能。

源代码:

#include

void main()

{

int s,i;

s=0;

for(i=1;i<=100;i++)

s=s+i;

printf("1+...+100=%d\n",s);

printf("学号:20 姓名:吴琛实验三第一题");

}

思考:(1)第5行能不能去掉?其作用是什么?

不能,定义和的初始值。

(2)不用for语句,用while语句改写该程序,实现同样的功能。

#include

void main()

{

int s=0,i=1;

while(i<=100)

{

s=s+i;

i++;

}

printf("1+...+100=%d\n",s);

printf("学号:20 姓名:吴琛实验三第一题");

}

运行结果:(需要截图)

运行结果分析:根据for循环的语句形式和while循环语句形式输入即可。

2、任务名称

比较下列两个程序。(验证)

源代码:

/* 第一个程序*/

#include

void main()

{ int i,n,sum=0;

scanf("%d",&i);

n=i;

while(i<=10)

{ sum+=i;

i++;

}

printf("%d+...+10=%d",n,sum);

printf("学号:20 姓名:吴琛实验三第三题");

}

/* 第二个程序*/

#include

void main()

{ int i,n,sum=0;

scanf("%d",&i);

n=i;

do

{ sum+=i;

i++;

} while(i<=10);

printf("%d+...+10=%d",n,sum);

printf("学号:20 姓名:吴琛实验三第三题");

}

分别运行这两题,若输入7,这两个程序的结果分别是多少?若输入12,这两个程序的结果又分别是多少?比较为什么会有这样的区别?

第一个程序循环次数至少零次,即先判断后执行,第二个程序循环次数至少1

次,即先执行后判断。

运行结果:(需要截图)

运行结果:

运行结果:

运行结果:

运行结果分析:输入程序,区分while和do….while语句的区别。

3、任务名称、

预习下面程序,若输入12345,分析输出结果是多少?上机验证。

源代码:

#include

void main( )

{ long data;

scanf("%ld",&data); while(data)

{ printf("%ld,",data%10);

data=data/10;

}

printf("学号:20 姓名:吴琛 实验三第一题");

}

运行结果:(需要截图)

运行结果分析:根据程序输入程序即可。

4、任务名称

实现求Fibonacci 数列的前n 个数。(验证、调试) ⎩⎨

⎧≥+===--3

2

112

1n F F n n F n n n 或

运行程序,写出运行结果;采用单步跟踪技术运行该程序,观察一下变量的变化。

思考:(1)f1、f2这两个变量为什么定义为long int 型?

(2)第5行和第6行的相互作用,你会用这种方式来实现输入吗?

(3)注意第9行的输出“%ld ”中的“1”是字母“L ”的小写形式,不是数

字1。

源代码:

#include void main( )

{ long int f1, f2; int i,n;

printf("Input n:"); scanf("%d",&n);

f1=f2=1;

for(i=1;i

{ printf("%ld\t%ld\n",f1,f2); f1=f1+f2; f2=f2+f1;

}

printf("学号:20 姓名:吴琛 实验三第四题");

}

运行结果:(需要截图)

运行结果分析:利用循环处理问题,重复利用变量名输入程序,运行即可。

5、任务名称

预习下面程序,写出预习结果并上机验证。(验证)

源代码:

#include

void main( )

{ int i,j,x;

{ x++;

for(j=0;j<3;j++)

for(i=0,x=0;i<2;i++)

{ if(j%2) continue;

x++;

}

x++;

}

printf("x=%d\n", x);

printf("学号:20 姓名:吴琛实验三第五题");

}

思考:用一句话概括if(j%2)语句的作用。

通过选择语句判断下一条语句是否执行,若j除以2的余数为0则跳出循环。

运行结果:(需要截图)

相关文档
最新文档