C程序设计循环控制实验报告.docx

上传人:b****7 文档编号:15869778 上传时间:2023-07-08 格式:DOCX 页数:9 大小:48.51KB
下载 相关 举报
C程序设计循环控制实验报告.docx_第1页
第1页 / 共9页
C程序设计循环控制实验报告.docx_第2页
第2页 / 共9页
C程序设计循环控制实验报告.docx_第3页
第3页 / 共9页
C程序设计循环控制实验报告.docx_第4页
第4页 / 共9页
C程序设计循环控制实验报告.docx_第5页
第5页 / 共9页
C程序设计循环控制实验报告.docx_第6页
第6页 / 共9页
C程序设计循环控制实验报告.docx_第7页
第7页 / 共9页
C程序设计循环控制实验报告.docx_第8页
第8页 / 共9页
C程序设计循环控制实验报告.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C程序设计循环控制实验报告.docx

《C程序设计循环控制实验报告.docx》由会员分享,可在线阅读,更多相关《C程序设计循环控制实验报告.docx(9页珍藏版)》请在冰点文库上搜索。

C程序设计循环控制实验报告.docx

C程序设计循环控制实验报告

 

贵州大学

 

《C程序设计实验》

实验报告

实验名称:

循环控制

专业

电子信息科学与技术

班级

2008级1班

姓名

学号

教师

贵州大学理学院

2010年

一、实验目的:

(1)熟悉掌握使用while语句、do-while语句和for语句实现循环的方法。

(2)掌握在程序设计中循环的方法实现一些常用算法(如穷举、迭代、递推等)。

(3)进一步学习调试程序。

 

二、实验环境:

Windows7、MicrosoftVisualStudio2008

三、实验内容:

1、输人两个数m和n,求他们的最大公约数和最小公倍数。

程序为:

#include

voidmain()

{

intp,r,n,m,temp;

printf("请输入两个正整数:

\n");

scanf("%d,%d",&n,&m);

if(n

{

temp=n;

n=m;

m=temp;

}

p=n*m;

while(m!

=0)

{

r=n%m;

n=m;

m=r;

}

printf("他们的最大公约数为:

%d\n",n);

printf("他们的最小公倍数为:

%d\n",p/n);

}

运行情况:

m

当m

有负数时

分析:

本程序只有一个函数,即入口函数main函数。

在main函数中,首先声明int型变量p、r、n、m、temp;接着从屏幕输入n、m的值。

在if语句中把大数放在n中,小数放在m中。

将n和m的乘积保存在p中,以便求最小公倍数时用。

在while循环中求两数的最大公约数。

保存于n中。

第一个输出语句输出最大公约数n;第二个输出语句输出最小公倍数,p/n即为最小公倍数。

2、输入一行字符,分析统计出其中的英文字母、空格、数字和其他字符的个数。

程序如下:

#include

voidmain()

{

charc;

intletters=0,space=0,digit=0,other=0;

printf("请输入一行字符串:

\n");

while((c=getchar())!

='\n')

{

if(c>='a'&&c<='z'||c>='A'&&c<='Z')

letters++;

elseif(c=='')

space++;

elseif(c>='0'&&c<='9')

digit++;

else

other++;

}

printf("字母数:

%d\n空格数:

%d\n数字数:

%d\n其他字符数:

%d\n",

letters,space,digit,other);

}

运行情况:

分析:

程序先声明了字符变量c用来保存获取的字符。

接着定义了letter、space、digit、other分别用了保存字符数、空格数、数字数和其他字符数,并给他们赋值为0。

然后用户在屏幕上输入一行字符串,程序用c=getchar()接收从屏幕上输入的字符。

if(c>='a'&&c<='z'||c>='A'&&c<='Z')

letters++;

判断保存在c中的字符是否是普通字符。

如果是,则letters加1;letters等同于letters=letters+1,以下的space++也一样。

elseif(c=='')判断c中保存的是否是空格;elseif(c>='0'&&c<='9')判断c中保存的是否是数字。

While循环一直进行,直到c中保存的为换行符“\n”为止。

最后分别把字符数、空格数、数字数和其他字符数输出。

程序结束。

3、用牛顿迭代法求方程

在1.5附近的根。

程序如下:

#include

#include

voidmain()

{

floatx1,x0,f,f1;

x1=1.5;

do

{

x0=x1;

f=((2*x0-4)*x0+3)*x0-6;

f1=(6*x0-8)*x0+3;

x1=x0-f/f1;

}

while(fabs(x1-x0)>=1e-5);

printf("Therootofequationis%5.2f\n",x1);

}

运行情况:

分析:

floatx1,x0,f,f1;声明浮点型变量x1,x0,f,f1。

do

{

}while()

是先执行一遍循环,再判断是否进行下一步循环,其循环体至少运行一遍;而while语句是先判断再执行循环,其循环体可能一次也不执行。

在本程序中先执行一遍以下语句

x0=x1;

f=((2*x0-4)*x0+3)*x0-6;

f1=(6*x0-8)*x0+3;

x1=x0-f/f1;

再判断是否满足fabs(x1-x0)>=1e-5,当满足条件fabs(x1-x0)>=1e-5时,接着执行一遍循环体;当条件fabs(x1-x0)>=1e-5不满足时,跳出循环执行下一条语句

最后输出运行结果,程序执行结束。

4、猴子吃桃问题。

猴子当天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。

第二天早上又将剩下的桃子吃了一半,又多吃了一个。

以后每天早上都吃了前一天的一半零一个。

到第十天早上再想吃的时候,见只剩下一个桃子。

求第一天共摘了多少个桃子。

由题意得程序:

#include

voidmain()

{

intday,x1,x2;

day=9;

x2=1;

while(day>0)

{

x1=(x2+1)*2;

x2=x1;

day--;

}

printf("猴子第一天共摘了%d个桃子\n",x1);

}

运行情况:

在得到正确的结果后,修改题目,改为猴子每天吃了前一天的一半后又多吃了两个,请修改程序并运行,查看运行结果是否正确。

修改后得程序

#include

voidmain()

{

intday,x1,x2;

day=9;

x2=1;

while(day>0)

{

x1=(x2+2)*2;

x2=x1;

day--;

}

printf("猴子第一天共摘了%d个桃子\n",x1);

}

运行情况:

分析:

用x1保存第一天的桃子数,用x2保存第二天的桃子数。

应为第十天早上只剩下一个桃子了。

所有x2赋初值为1。

x1=(x2+1)*2;第一天的桃子数是第二天的桃子数加1后的两倍。

while(day>0)

{

x1=(x2+2)*2;

x2=x1;

day--;

}

循环9次,得到第一天共摘得的桃子数。

四、实验总结。

while语句

while语句的一般形式为:

while(表达式)语句;其中表达式是循环条件,语句为循环体。

while语句的语义是:

计算表达式的值,当值为真(非0)时,执行循环体语句。

do-while语句的一般形式为:

do

语句;

while(表达式);

其中语句是循环体,表达式是循环条件。

do-while语句的语义是:

先执行循环体语句一次,再判别表达式的值,若为真(非0)则继续循环,否则终止循环。

do-while语句和while语句的区别在于do-while是先执行后判断,因此do-while至少要执行一次循环体。

而while是先判断后执行,如果条件不满足,则一次循环体语句也不执行。

for语句

for语句是C语言所提供的功能更强,使用更广泛的一种循环语句。

其一般形式为:

for(表达式1;表达式2;表达3)  

语句:

表达式1 通常用来给循环变量赋初值,一般是赋值表达式。

也允许在for语句外给循环变量赋初值,此时可以省略该表达式。

表达式2 通常是循环条件,一般为关系表达式或逻辑表达式。

表达式3 通常可用来修改循环变量的值,一般是赋值语句。

这三个表达式都可以是逗号表达式,即每个表达式都可由多个表达式组成。

三个表达式都是任选项,都可以省略。

一般形式中的“语句”即为循环体语句。

for语句的语义是:

1.首先计算表达式1的值。

2.再计算表达式2的值,若值为真(非0)则执行循环体一次,否则跳出循环。

3.然后再计算表达式3的值,转回第2步重复执行。

在整个for循环过程中,表达式1只计算一次,表达式2和表达式,3则可能计算多次。

循环体可能多次执行,也可能一次都不执行。

2010年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2