榆树范文网

循环结构程序设计实验总结(5篇)

99

循环结构程序设计实验总结 第1篇

#includeiostream

using namespace std;

int main(){

char c;

int s=0,z=0,k=0,q=0;

while((c=getchar())!='\n'){

int x=int(c);

if(x=48x=57)s++;

else if((x=65x=90)||(x=***x=122))z++;

else if(x=32)k++;

else q++;

}

cout_you h***e input _s_ numbers_endl;

cout_you h***e input _z_ letters_endl;

cout_you h***e input _k_ spaces_endl;

cout_you h***e input _q_ some else chars_endl;

return 0;

循环结构程序设计实验总结 第2篇

实验一 C语言程序初步

[实验目的和要求]

1、 熟悉C语言运行环境。

2、 掌握C语言程序的书写格式和C语言程序的结构。

3、 掌握C语言上机步骤,了解运行一个C程序的方法。

4、 本实验可在学习完教材第一章后进行。

[实验内容和步骤]

1、输入一个简单的C语言程序:输入矩形的两条边,求矩形的面积。

[分析与讨论]

1、记下在调试过程中所发现的错误、系统给出的出错信息和对策。分析讨论对策成功或失败的原因。

2、总结C程序的结构和书写规则。

实验二 数据类型、运算符和表达式

[实验目的]

1.熟练表达式的表示方法

2.了解表达式的运行结果

3.了解C语言中数据类型的意义

[实验内容和步骤]

1.用printf函数来输入表达式运行结果

2. 程序试图计算由键盘输入的任意两个整数的平均值:

[问题讨论]

1.“=”和“==”有什么区别?

2.“”和“”、“|”和“||”有什么区别?

3. 如何正确地选用数据类型?

实验三 选择结构

[实验目的]

1、了解条件与程序流程的关系

2、了解用不同的数据使程序的流程覆盖不同的语句、分支和路径。

[实验内容和步骤]

1、题目

有如下程序段:

{……

if (a1b= =0) x=x/a;

if(a==2||x1) x=x+1;

为了更容易明白程序的逻辑结构,要求用流程图来加以描述。

要求增加一些输入语句和输出语句,以便使上述程序能在不同的a,b和x值下运行,并且能观察程序流程经过(覆盖)了哪些语句、哪些分支及哪些路径。

[分析讨论]

(1) 用哪一组数据就可使程序中的每个处理语句都执行一次?为了找出程序中各条处理语句中的错误,应该使用什么样的数据对程序进行测试?请上机验证自己的结论。

(2) 用哪两组数据就可以使程序段中的每个分支都运行一次?这种情形与上面的讨论有何不同?如果为了找出程序中积压分支中的错误,应该使用什么样的数据对程序进行测试?请上机验证自己的结论。

(3)用哪两组数据就可以把判定框中的每个条件运算都进行一次?如果为了测试出判定条件中的错误,应使用哪些数据对程序进行测试?请上机验证自己的结论。

(4)用哪四组数据才可以把各种条件的组合都检测一遍? 如果为了测试各种条件的组合的情形,应该使用什么样的测试数据?请上机验证自己的结论。

(5)用哪四组数据才可以把起始到终止的各条路径都覆盖一次?如果为了测试出程序在不同路径下的错误,应该使用什么样的测试数据?请上机验证自己的结论。

实验四 循环结构(1)

[目的和要求]

1、掌握在程序设计条件型循环结构时,如何正确地设定循环条件,以及如何控制循环的次数。

2、了解条件型循环结构的基本测试方法。

[实验内容与步骤]

1、下面是一个计算e的近似值(使误差小于给定的δ)的程序。

main()

{double e=;

int i=1;

printf(“\n please input enter a error:”);

scanf(“%lf”,detax);

y=1/x;

while(y=detax)

x=x*I;

y=1/x;

e=e+y;

++i;

printf(“%”,e);

[分析讨论]

(1)、阅读上面的程序,写出程序所依据的计算公式。

(2)、当输入的detax各是什么值时,能分别使程序按下面的要求运行:

.不进入循环;

.只循环一次;

.只循环两次;

.进入死循环(程序将永远循环下去)。

为了能知道程序循环了多少次,应该在程序中增加一条什么样的语句?

(3)、原程序中while语句中的y=detax,分别换成ydetax,y=detax,ydetax,y=detax,观察程序运行将会有什么变化。

***如不知道机器内的程序中的各语句实际上是什么,分别输入什么样的detax来测试出while语句的循环条件写错了。

(4)、把原程序中while语句之前的y=1/x语句去掉,观察程序的运行将会发生什么样的变化。

***如不知道机器内的程序实际上是怎么写的,输入什么样的detax就能测试出少了上述这条语句。

(5)、若把原程序中的++i换成i++,观察程序的运行发生了什么变化?

***如不知道这条语句到底是怎么写的,输入什么样的detax就能测试出这条语句写错了.

(6)、把原程序中的while结构改写成do—while结构,再分别按上述的(2)、(3)两步进行实验。

实验五 循环结构(2)

[ 目的和要求]

1、 掌握如何正确地控制计数型循环结构的次数

2、 了解对计数型循环结构进行测试的基本方法

3、 了解在嵌套循环结构中,提高程序效率的方法

4、 本实验应在学习了教材第进行

[实验内容与步骤]

实验题目:下面是一个循环结构 的C程序。

main()

int i ,j;

long sum=0;

for(i=1,i=20,i++)

for(j=1;j=3;j++)

sum=sum+(i+1)*(i+1)*(j+2)

printf(“sum is :%d\n”,sum);

[ 分析讨论]

(1) 将上述程序中的和分别做什么样修改,能使程序按如下要求运行:

.不循环;

.外循环1次,不进入内循环;

.外循环,内循环各1次;

.外循环1次,内循环2次;

.外循环 2次, 内循环1次;

.外循环19次,内循环3次;

.外循环20次,内循环2次;

.外循环21次,内循环3次。

(2) 试修改程序,以便能知道控制表达式

i=1;j=20;i++

j=1;j3;j+=

各执行了多少次?

(3)内循环与外循环的控制表达式进行对换,观察程序的执行结果有无变化,并且观

察对换后的外循环与内循环控制表达式执行的总次数有无变化?

(4)将(3)中程序写为

main()

int i,j,k;

long sum=0;

for (j=)

k=j+2;

for(i=1;i=20;i++)

sum=sum+(i+1)*(i+1)**k;

}

printf(“sum is :%d\n”,sum);

观察程序的执行结果有无变化?

(5)将(3)中程序改写为

main()

int I,j,m,n;

long sum=0;

for(j=1;j=3;j++)

{

m=j+2;

for(I=1;j=20;I++)

n=I+1;

sum=sum+m*m*k;

}

}

printf(“sum is :%d\n”,sum);

观察程序的执行结果有无变化?

(1)

实验六 函数(1)

[实验目的]

1.理解和掌握多模块的程序设计与调试的方法。

2.掌握函数的定义和调用的方法。

3.学会使用递归方法进行程序设计。

[实验内容和步骤]

1. 编写一个函数,判断一个数是不是素数。在主函数中输入一个整数,输出是否是素数的信息。

实验步骤与要求:

(1) 编写一个函数prime(n),返回给定整数n是否为素数。

(2) 编写一个主函数,输入一个整数,调用(1)中的函数,判断此整数是否为素数,并输出结果。

循环结构程序设计实验总结 第3篇

c语言实验心得:

1、只有频繁用到或对运算速度要求很高的变量才放到data区内,如for循环中的计数值。

2、其他不频繁调用到和对运算速度要求不高的变量都放到xdata区。

3、常量放到code区,如字库、修正系数。

4、逻辑标志变量可以定义到bdata中。

在51系列芯片中有16个字节位寻址区bdata,其中可以定义8*16=xxx个逻辑变量。这样可以大大降低内存占用空间。定义方法是: bdata bit LedState;但位类型不能用在数组和结构体中。

5、data区内最好放局部变量。

因为局部变量的空间是可以覆盖的(某个函数的局部变量空间在退出该函数是就释放,由别的函数的局部变量覆盖),可以提高内存利用率。当然静态局部变量除外,其内存使用方式与全局变量相同;

6、确保程序中没有未调用的函数。

在Keil xxx遇到未调用函数,编译器就将其认为可能是中断函数。函数里用的局部变量的空间是不释放,也就是同全局变量一样处理。这一点Keil做得很愚蠢,但也没办法。

7、如果想节省data空间就必须用large模式。

将xxx内存位置的变量全放到xdata区。当然最好对所有变量都要指定内存类型。

8、使用指针时,要指定指针指向的内存类型。

在C51中xxx指向内存类型的通用指针占用3个字节;而指定指向data区的指针只占1个字节;指定指向xdata区的指针占2个字节。如指针p是指向data区,则应定义为: char data *p;。还可指定指针本身的存放内存类型,如:char data * xdata p;。其含义是指针p指向data区变量,而其本身存放在xdata区。

以前没搞过C51,大学时代跟单片机老师的时候也是捣鼓下汇编,现在重新搞单片机,因为手头资料不多,找到一些C51的程序,发现里面有这些关键字,不甚明了,没办法只好找了下,发现如下描述:

从数据存储类型来说,8051系列有片内、片外程序存储器,片内、片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code、data、xdata、idata以及根据51系列特点而设定的pdata类型,使用不同的存储器,将使程序执行效率不同,在编写C51程序时,最好指定变量的存储类型,这样将有利于提高程序执行效率(此问题将在后面专门讲述)。与ANSI-C稍有不同,它只分SAMLL、COMPACT、LARGE模式,各种不同的模式对应不同的实际硬件系统,也将有不同的编译结果。

在51系列中data,idata,xdata,pdata的区别

data:固定指前面0x00-0x7f的xxx个RAM,可以用acc直接读写的,速度最快,生成的代码也最小。

idata:固定指前面0x00-0xff的256个RAM,其中前xxx和data的xxx完全相同,只是因为访问的方式不同。idata是用类似C中的指针方式访问的。汇编中的语句为:mox ACC,@Rx.(不重要的补充:c中idata做指针式的访问效果很好)

xdata:外部扩展RAM,一般指外部0x0000-0xffff空间,用DPTR访问。

pdata:外部扩展RAM的低256个字节,地址出现在A0-A7的上时读写,用movx ACC,@Rx读写。这个比较特殊,而且C51好象有对此BUG,建议少用。但也有他的优点,具体用法属于中级问题,这里不提。

三、有关单片机ALE引脚的问题

_单片机不访问外部锁存器时ALE端有正脉冲信号输出,此频率约为时钟振荡频率的1/6.每当访问

外部数据存储器是,在两个机器周期中ALE只出现一次,即丢失一个ALE脉冲._这句话是不是有毛

病.我觉得按这种说法,应该丢失3个ALE脉冲才对,我一直想不通是怎么回事,希望大虾们帮帮我.

小弟感激涕零.

其他所有指令每6个机器周期发出一个ALE,而MOVX指令占用12个机器周期只发出一个ALE

四、如何将一个INT型数据转换成2个CHAR型数据?

经keil优化后,char1=int1/256,char2=int1%256或char1=int18,char2=int10x00ff效率是一样的。

五、在KEIL C51上仿真完了,怎样生成HEX文件去烧写??

右键点项目中Target 1,选第二个,在OUTPUT中选中CREAT HEX

六、typedef 和 #define 有何不同??

typedef 和 #define 有何不同》》》 如

typedef unsigned char UCHAR ;

#define unsigned char UCHAR ;

typedef命名一个新的数据类型,但实际上这个新的数据类型是已经存在的,只不过是定义了

一个新的名字.

#define只是一个标号的定义.

你举的例子两者没有区别,但是#define还可以这样用

#define MAX 100

#define FUN(x) 100-(x)

#define LABEL

等等,这些情况下是不能用typedef定义的

七、请问如何设定KELC51的仿真工作频(时钟)

循环结构程序设计实验总结 第4篇

你可以这样写:

下面是我的实训心得:

一、明确学习目的

学习编程对大多数IT业人员来说都是非常有用的。学编程,做一名编程人员,从个人角度讲,可以解决在软件使用中所遇到的问题,改进现有软件,可以为自己找到一份理想的工作添加重要得砝码,有利于在求职道路上谋得一个好的职位;从国家的角度,可以为中国的软件产业做出应有的贡献,一名优秀的程序员永远是被争夺的对象。学习编程还能锻炼思维,使我们的逻辑思维更加严密;能够不断享受到创新的乐趣,将一直有机会走在高科技的前沿,因为程序设计本身是一种创造性的工作。知识经济时代给我们带来了无限的机会,要想真正掌握计算机技术,并在IT行业里干出一番事业来,有所作为,具有一定的编程能力是一个基本条件和要求。

二、打好基础

学编程要具备一定的基础,总结之有以下几方面:

1、数学基础 从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,出学者有高中水平就差不多了。

2、逻辑思维能力的培养学程序设计要有一定的逻辑思维能力,“逻思力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。因此在学习编程过程中,我们不必等到什么都完全明白了才去动手实践,只要明白了大概,就要敢于自己动手去体验。谁都有第一次。有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己的,高手都是这样成材的。

三、注意理解一些重要概念

一本程序设计的书看到的无非就是变量、函数、条件语句、循环语句等概念,但要真正能进行编程应用,需要深入理解这些概念,在理解的基础上应用,不要只简单地学习语法、结构,而要吃透针这些语法、结构的应用例子,做到举一反三,触类旁通。

四、掌握编程思想

学习一门语言或开发工具,语法结构、功能调用是次要的,最主要是学习它的思想。关键是学一种思想,有了思想,那么我们就可以触类旁通。

五、多实践、多交流

掌握编程思想必须在编程实际工作中去实践和体会。编程起步阶段要经常自己动手设计程序,具体设计时不要拘泥于固定的思维方式,遇到问题要多想几种解决的方案。这就要多交流,各人的思维方式不同、角度各异,各有高招,通过交流可不断吸收别人的长处,丰富编程实践,帮助自己提高水平。亲自动手进行程序设计是创造性思维应用的体现,也是培养逻辑思维的好方法。

六、养成良好的编程习惯

编程入门不难,但入门后不断学习是十分重要的,相对来说较为漫长。在此期间要注意养成一些良好的编程习惯。编程风格的好坏很大程度影响程序质量。良好的编程风格可以使程序结构清晰合理,且使程序代码便于维护。如代码的缩进编排、变量命令规则的一致性、代码的注释等。

循环结构程序设计实验总结 第5篇

课程是计算机科学与技术本科专业的专业骨干课。你知道vb程序设计实验心得是什么吗?接下来就是我为大家整理的关于vb程序设计实验心得,供大家阅读!

vb程序设计实验心得篇【1】

为期两周的实训即将结束,通过这次的实训使我们学到了很多,同时也让我们意识到我们要学的更多。本次实训的项目是 雏鹰 学生成绩管理系统,以小组的形式进行分工合作,我组共9个人,任务是用户模块的程序设计。从程序的需求分析、可行性分析、设计到编写、调试、修改、完善、到最后的实训 报告 ,每个人都付出了时间和精力去做好自己的任务并努力地去完善它。

实训的第一天接到任务时我们都觉得有点难度,很有挑战性,毕竟学生成绩管理系统是一个比较系统、完善、功能相对较齐全的管理系统,即使是用户模块也可以完成各种操作,如对用户的查询、添加.删除以及修改等。因此程序编写也十分复杂,工作量较大,编写一定要认真。一个小小的失误都可能使程序出现大的漏洞。而我们只是学了点简单的vb程序编写,没有尝试过这种相对来说比较系统完善的系统。所以在做项目的时候我们倍感压力、更加的团结协作,可即使如此我们还是出现了错误,我们的程序在编写上存在一些漏洞,导致调试时不能正常运行,后经过老师的指导、我们的调整,终于可以完美的运行,这里也耽误了我们很多宝贵的时间,直接导致了我们在项目调试上速度不够快。

本人很荣幸地担任组长一职,和另一位组长一起进行本小组成员的任务分配以及协调等。我组要做的用户模块分为用户管理和修改密码两块内容。用户管理中又包括用户的查询、添加、修改以及删除功能,它是只有具有管理员权限的情况下才能进入操作、而普通用户就只能修改自己的登录密码。在实训过程中我们也认识了一些新的老师,他们对我们亲切认真负责,很有耐心地对我们进行讲解并指导我们解决遇到的难题。老师们交会了我们很多简单实用的技巧。也让我们意识到了要想全面完整地完成一个模块,首先要进行程序的设计,全面分析会用到的东西以及考虑可能会出现的情况,理清思绪、写出大致的要点后再上机编写程序以及操作。否则像一开始的我们马上上机编写、想到什么就补什么,不仅浪费时间也乱了之前写好的一些程序。系统分析越准确,设计的系统越精确,可以大大减少后期的修改、维护工作。当然做好做对一个项目固然重要,同时美观程度也是必不可少的,无论是从参观者的角度还是自己看的角度都很重要。

总的来说,这次实训还是比较成功的。最后出来的系统,大家都很有成就感,这是我们一步步设计、一步步完善、辛苦付出后得到的成果。小组合作、帮助队友,无论是团队合作这方面还是个人动手这方面,我们都得到了很好的锻炼。当然实训不仅使我们学到了知识,也帮助我们缩小了实践和理论的差距,通过这次实训让我们更深一步的对vb这门课程的知识有更进一步的渴望,同时对自己的专业,对自己的能力,对自己所学的有正确的认识,并且能在以后的学习工作中不断提高和完善自己。

vb程序设计实验心得篇【2】

要求学生在学习该课程中,应用每个相对独立的、完整的单元知识解决一个实际项目,设计编写一个小作品;学完整个课程后,完成一个综合性比较强的编程项目,使学生对整个课程内容进行全面的 总结 、梳理,以项目完成为手段,全面锻炼学生分析问题和解决问题的能力。

一.目的

1.为使学生掌握编程、面向对象程序设计思想和组建编程的知识实际技能,除了系统地讲授必要的知识,上机练习,做作业外,还应该对学生作较全面的编程技能和分析问题解决问题的能力训练,即作课程设计,以达到如下目的:具体应用和巩固本课程及有关先修课的基础理论和专业知识,了解面向对象程序设计思想,掌握应用编程和组建编程程序设计方法,培养学生初步的项目设计能力。

2.独立地根据一定的项目要求,查阅资料,写出项目开发目标,分析开发过程中所用到的课程知识,提出解决方案,编码并上机调试完成系统,培养学生分析问题和解决问题的能力。课程设计是教学过程中的一个重要环节,必须认真对待。

二.要求

在课程设计中要求学生注意培养认真负责,踏实细致的工作作风和保质保量,按时完成任务的习惯。在设计过程中必须做到:

1.在某个教学单元结束后,完成一个教师布置的、或学生自己拟定的、知识覆盖整个章节的,有一定综合性和难度的项目,要求学生描述出要达到的目标、围绕目标,收集资料和素材,复习所需的课程知识,描述问题解决方案、编写程序上机调试,直到项目的完成。最后的成果要有完成的作品和相应的文档。

2.在课程结束后,完成一个大的编程项目,其要求与课程单元的项目差不多,只是综合性更强、难度更大、知识覆盖面更广,工作量更大,以全面促进学生复习和梳理学科教学内容,提升学生分析问题、解决问题和文档的书写和编制。

三、***取的 措施

为了保证课程设计能够按照预定的目标和***进行,我们还***取了以下措施来加强对学生监督和管理。

1.首先讲清楚课程设计的意义,让学生能够自觉积极主动地进行课程设计,发挥学生的主观能动性;

2.在课程设计过程中,教师随时巡视和监督,了解把握和控制课程设计的进展;

3.将学生的作品集中展示、评价、打分,可以让学生在展示的过程中获得成就感、自豪感,学生之间可以相互学习、取长补短,同时在此过程中可以明确标准,自觉地按照标准来调整自己地学习;

4.将课程设计作为学期成绩的一部分记载,大约占10%,必须完成课程设计后才能参加考试,课程设计不过关,即使考得再好,也不能过。

四、取得的效果