实验9
1..实验目的与要求
(1)掌握在设计条件性循环结构时,如何正确的设定循环条件以及如何控制循环次数。 (2)了解条件型循环结构的基本测试方法。 2.实验准备
(1)阅读下面程序,画出流程图或N-S图,分析程序功能 。 #include
double e=1.0 ,x=1.0,y,detax; int i=1;
printf(\ scanf(\ y=1/x;
while(y>=detax) {
x=x*i; y=1/x; e=e+y; ++i; }
printf(\}
流程图:
16
功能:计算出当y>=detax时 e的值!
(2)设计一组detax,使程序能分别按照下面的要求运行。
A、 不进入循环。当时detax>1. 0。 B、 只循环一次。当1>=detax>=0.5时。 C、 只循环两次。当0.5>detax>=1/6时。 D、 进入死循环。当detax<=0时。
(3)为了获取程序循环次数,应该在程序中增加怎样一条语句? 改进后程序: #include
double e=1.0 ,x=1.0,y,detax; int i=1,n=0;
printf(\ scanf(\ y=1/x;
while(y >=detax) {
x=x * i; y=1/x; e=e + y; ++i; n++; }
printf(\}
3. 实验内容与步骤
(2)试将while 的控制表达式y>=detax,分别替换成一下语句。 A,y>detax时程序仍然正确。但是循环区间变为0<=detax<1。 为了不会进入死循环,修改程序如下: #include
double e=1.0 ,x=1.0,y,detax; int i=1,;
printf(\ scanf(\ y=1/x;
if(0<=detax<1) {
while(y >detax) {
x=x * i;
17
y=1/x; e=e + y; ++i; } }
printf(\ }
B,y=detax时程序让然正确。但是程序只有在当detax=1时才会循环,当detax为其他值是将直接跳出循环。
为了不会进入死循环,修改程序如下: #include
double e=1.0 ,x=1.0,y,detax; int i=1,;
printf(\ scanf(\ y=1/x;
if(detax=1.0) {
while(y =detax) {
x=x * i; y=1/x; e=e + y; ++i; } }
printf(\ }
C,y<=detax时程序仍然正确。但是当detax<1时将直接跳出循环,当detax>=1将进入死循环。
为了不会进入死循环,修改程序如下: #include
double e=1.0 ,x=1.0,y,detax; int i=1,;
printf(\ scanf(\ y=1/x;
18
if(detax<1) {
while(y <=detax) {
x=x * i; y=1/x; e=e + y; ++i; } }
printf(\ }
D,y
为了不会进入死循环,修改程序如下: #include
double e=1.0 ,x=1.0,y,detax; int i=1,;
printf(\ scanf(\ y=1/x;
if(detax<=1) {
while(y x=x * i; y=1/x; e=e + y; ++i; } } printf(\ } (4)若把原程序whlie语句之前的y=1/x语句去掉,观察程序运行结果将发生怎样的变化。 原语句1/x=1 赋值给y,当y=1/x语句去掉后。在进入循环初期y=0。这样以后detax 的取值区间将会发生变化。 (5)把远从小程序中的while结构改写成do—while结构,在分别按照上述方法进行实验。 答:变为do –while后,程序仍然再去执行。但是每次运行将比以前多循环一次,不会出现不循环直接跳出的情况。这是因为do—while 是先执行后判断。 19 实验10 1.实验目的与要求 (1)掌握如何正确控制计数型循环结构的循环次数。 (2)了解对计数型循环结构进行测试的基本方法。 (3)了解在嵌套循环结构中提高程序效率的方法。 2.实验准备 (1)阅读下面的程序,画出程序流程图或N—S图,指出程序的功能。 #include main() { int i,j; long sum=0; for(i=1;i<=20;i++) for(j=1;j<=3;j++) sum+=(i+1)*(i+1)*(j+2); printf(\ } (3) 按照下面的要求控制表达式中i和j的值,并估计程序在下列情况下的执行结果。 a. 不循环。 将第一个for循环中的i<=20 改为i<1。 b. 外循环一次,不进入内循环。 将第一个for循环中的i<=20 改为i<=1,将第二 个for循环中的j<=3 改为j<1。 c. 外循环、内循环个循环一次。 将第一个for循环中的i<=20 改为i<=1,将第二 个for循环中的j<=3 改为j<=1。 d. 外循环一次,内循环2次。 将第一个for循环中的i<=20 改为i<=1,将第二 个for循环中的j<=3 改为j<3。s e. 外循环2次,内循环1次。 将第一个for循环中的i<=20 改为i<=2,将第二 20 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言程序实验报告--谭浩强(4)在线全文阅读。
相关推荐: