C循环结构程序设计10003809193j实验机13011 0750 陈伟Word下载.docx
《C循环结构程序设计10003809193j实验机13011 0750 陈伟Word下载.docx》由会员分享,可在线阅读,更多相关《C循环结构程序设计10003809193j实验机13011 0750 陈伟Word下载.docx(9页珍藏版)》请在冰豆网上搜索。
●所需软件环境为MicrosoftVisualC++或Code:
:
Blocks;
●熟悉for、while、do-while语句的结构与特点;
●熟悉循环结构的控制流程;
三实验内容
【实验内容】
l练习应用for语句解决实际应用问题;
l练习应用while语句解决实际应用问题;
l练习应用do-while语句解决实际应用问题;
l实验分析及问题思考;
l实验自评及心得体会;
[思考问题]在这个程序中各个循环语句能否用其他两种循环取代?
能用其他取代,但是需要做一些改动,具体改动如下:
【1】应用循环结构输出菱型字符图形
请应用for、while、do-while循环结构编写算法实现如下图所示的n(n>
0)行菱型字符
图形的输出。
*
***
*****
*******
*
【流程图】
[程序源码]
/*程序名:
菱型字符图形*/
/*作者:
陈伟*/
/*编制时间:
2014-4-20*/
/*主要功能:
菱型字符图形*
#include"
stdio.h"
main()
{
inti,j;
for(i=1;
i<
=7;
i++)
{for(j=1;
j<
=7-i;
j++)
printf("
"
);
for(j=1;
=i;
*"
\n"
}
=6;
}
【运行测试】
(2)、应用循环结构输出ASCII码表
ASCII码表*
#include<
stdio.h>
intmain()
charc;
inti=33,x;
while(i<
=127)
{
x=i;
c=(char)x;
i++;
printf("
%d,%c\n"
x,c);
return0;
(3)、应用循环结构验证欧拉素数公式
intn=-39,t,j,k,i;
while(n<
=40)
j=n*n-n+41;
n++;
printf("
%d\n"
j);
k=sqrt(j);
for(i=2;
k;
if(j%i==0)break;
if(i<
=k)printf("
%disnotaprimenumber.\n"
n);
elseprintf("
%disaprimenumber.\n"
return0;
(5)、问题思考及实验分析
1.分析说明当型循环结构与直到型循环结构的区别
在一般情况下,两者若处理同一循环问题时,若二者的循环部分是一样的,那么结果也一样,但是,在有些情况下,由于直到型是先执行循环体然后在执行表达式,而当型是先执行表达式,在执行循环语句,也就是导致当行语句有时多执行一次语句,也就是说,当直到型语句后面的表达式的第一次的值为真时,两种循环得到的结果相同,否则,二者结果不同。
2、分析说明break、continue语句对于不同循环语句控制流程的影响
Break出现在循环体的switch语句中,其作用是跳出switch语句,继续执行下面的语句,break语句在循环内跳出循环体提前结束循环,接着执行循环下面的语。
句。
Continue对于循环体中只是提前结束循环,接着进行下次循环,在while和dowhile语句中,continue语句使流程直接跳到循环控制条件的测试部分,然后决定循环是否继续进行再for语句中,跳过循环体中语句,而去对for语句中的“表达式3”求值,然后对“表达式2”的值来决定for循环是否执行。
实验自评
实验内容
自评结果(在对应格内打)
不熟练
一般
比较熟练
熟练
循环结构
for语句结构
while语句结构
do-while语句结构
循环结构的嵌套使用
应用循环结构解决应用问题
实验体会
编写的程序虽然很短,但是,从这些短小的语句中我仿佛看见了c语言的博大精深,循环语句只是c语言中的一小部分,但是,经过编译,while,dawhile,for语句,以及与其他语句的相互配合,可以解决很多繁琐的问题,c语言在编写过程中虽然很痛苦,尤其是编写菱形结构时,但是,经过自己的努力,最终自己看懂了这个程序并且可以从新改写程序,有一种喜悦的感觉,学习c语言,是一种必须,我们不仅要掌握那几个办公软件,还需要会一门计算机语言,对于我们来说,就需要学好c语言。