实验三 循环控制.doc_第1页
实验三 循环控制.doc_第2页
实验三 循环控制.doc_第3页
实验三 循环控制.doc_第4页
实验三 循环控制.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验三 循环控制实验课程名:高级语言程序设计(C)专业班级: 学号: 姓名: 实验时间: 实验地点: 指导教师:一、实验目的和要求1. 了解C语言表示逻辑量的方法。2. 学会正确使用逻辑运算符和逻辑表达式3. 熟练掌握if 语句和 switch语句。4. 结合程序掌握一些简单的算法。5. 学习调试程序。二、实验内容1.1、任务名称: 程序c40101.c求1+100,填空,实现该功能源代码:#include void main()int s,i;s=0;for(i=0;i=100;i+)s=s+i;printf(1+.+100=%dn,s);运行结果:(需要截图)运行结果分析:可以去掉,将s=0移到for语句的表达式一即可 1.2、任务名称源代码:#include void main()int s,i;i=1,s=0;while(i=100)s=s+i;i+;printf(s=1+.+100=%dn,s);运行结果:(需要截图)运行结果分析:while语句与for语句的互换2.1、任务名称: 比较下列两个程序. 分别运行这两题,若输入7,这两个程序的结果分别是多少?若输入12,这两个程序的结果又分别是多少?比较为什么会有这样的区别?源代码:#include void main() int i,n,sum=0;scanf(%d,&i);n=i;while(i=10) sum+=i;i+;printf(%d+.+10=%dn,n,sum); 运行结果:(需要截图)2.2、源代码:#include void main() int i,n,sum=0;scanf(%d,&i);n=i;do sum+=i;i+; while(i10时,对while循环来说,一次也不执行循环体,而对dowhile循环语句来说则至少要执行一次循环体。3、任务名称: 预习c40103.c程序,若输入12345,分析输出结果是多少?上机验证源代码:#include void main( ) long data; scanf(%ld,&data); while(data) printf(%ld,data%10); data=data/10; 运行结果:(需要截图)运行结果分析:求余运算符的使用4、任务名称: 程序c40104.c实现求Fibonacci数列的前n个数。(验证、调试)运行程序,写出运行结果;采用单步跟踪技术运行该程序,观察一下变量的变化。源代码:#include void main( ) long int f1, f2; int i,n; printf(Input n:); scanf(%d,&n); f1=f2=1;for(i=1;in;i+) printf(%ldt%ldn,f1,f2); f1=f1+f2;f2=f2+f1; 运行结果:(需要截图)运行结果分析:f1、f2这两个变量数据可能很大所以要定义为long int 型5、任务名称: 预习c40105.c,写出预习结果并上机验证。(验证)源代码:#include void main( ) int i,j,x;for(i=0,x=0;i2;i+) x+;for(j=0;j3;j+) if(j%2) continue;x+;x+; printf(x=%dn, x); 运行结果:(需要截图)运行结果分析 :嵌套for循环的执行过程及continue语句的作用以及运用。6、任务名称: 程序c40201.c输入一批考试分数,用-1作为结束标志,若输入大于100分,则提示重新输入,然后计算最高分、最低分与平均分。请调试、检查程序中的错误,并改正之。源代码:#include void main() int mark; int n=0,sum=0 ; int max=0,min=100; for(;) scanf(%d,&mark); if(mark100) printf(Mark100 , Please reinputn); continue; if(mark=-1) break; n+; sum=sum + mark ; if(mark max) max=mark ; if(mark100) printf(Mark100 , Please reinputn); continue;7、任务名称: .编程:输入20个190的整数,分类统计130、3160、6190的数各有多少个? 编程点拨:(1) count1计130的个数,count2计3160的个数,count3计6190的个数。(2) 用for循环20次实现该程序的功能:输入一个整数x,判断该数所在的范围,若x是130,则count1加1;若x是3160,则count2加1;若x是6190,则count3加1。 (3) 最后,输出统计的结果。源代码#include void main( ) int count1=0,count2=0,count3=0;int i,x;printf(Enter the 20 integer from 1 to 90:n);for(i=0;i=1&x=31&x=60)count2+;else count3+;printf(统计结果:130:%d 3160:%d 6190:%dn,count1,count2,count3);:运行结果:(需要截图)运行结果分析:用for循环20次实现该程序的功能:输入一个整数x,判断该数所在的范围,若x是130,则count1加1;若x是3160,则count2加1;若x是6190,则count3加1 8、任务名称: 编程:素数是除了1和其本身以外,不能被其他自然数整除的自然数。从键盘输入一个数,判断该数是不是素数?源代码:#include void main() int i, x;printf(Enter one natural integer: );scanf(%d,&x);for(i=2;i=x-1;i+) if(x%i=0)break;if(ix)printf(%d is a not prime number.n,x);else printf(%d is a prime number.n,x);运行结果:(需要截图)运行结果分析:用for循环2x-1,用2x-1的每一个数去除x,若有一个数整除x,则说明x不是素数;否则,x就是素数。 9、任务名称: 编程:显示所有的水仙花数。谓水仙花数,是指一个3位数,其各位数字立方和等于该数字本身。源代码:#include int main() int i,j,k,n; printf(parcissus numbers are ); for (n=100;n999;n+) i=n/100; j=n/10-i*10; k=n%10; if (n=i*i*i + j*j*j + k*k*k) printf(%d ,n); printf(n); return 0; 运行结果:(需要截图)运行结果分析:利用一个循环,对100999范围内的每个3位数逐位分离后进行判断*10、任务名称输出下列图形。源代码:#include int main()int i,j,k;for(i=0;i=4;i+)for(j=0;j=3-i;j+)printf( );for(k=0;k=2*i;k+)printf(*);printf(n);运行结果:(需要截图)运行结果分析:每一行的星号与行号有关,即2*i+1,其中i是行号;每一行的输出位置比上一行少一个空格三、结论(写本次实验的收获)1. 了解C语言表示逻辑量的方法。2. 学会正确使用逻辑运算符和逻辑表达式3. 熟练掌握if 语句和 switch语句。4. 结合程序掌握一些简单的算法。5. 学习调试程序。说明:1、 每次实验报告后,以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论