实验11 循环结构程序设计(二)

实验11 循环结构程序设计(二)

ID:37658208

大小:47.50 KB

页数:7页

时间:2019-05-27

实验11 循环结构程序设计(二)_第1页
实验11 循环结构程序设计(二)_第2页
实验11 循环结构程序设计(二)_第3页
实验11 循环结构程序设计(二)_第4页
实验11 循环结构程序设计(二)_第5页
资源描述:

《实验11 循环结构程序设计(二)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验十一循环结构程序设计(二)Ø实验要点在循环语句执行的过程中,注意要实现循环必须要保证的五个条件:循环初值、循环终值,循环体、循环增量和进行循环的条件。循环体重可以是单语句,也可以是多个语句,甚至可以是空语句。若循环体包含多个语句(语句是以分号结束的),这多个语句必须用大括号括起来,构成复合语句。for语句的使用比较灵活,for语句的格式为:for(表达式1;表达式2;表达式3)循环体语句for循环结构的执行过程:首先进行表达式1的运算,然后计算表达式2的值,若结果为真(非零),则执行循环体语

2、句,最后进行表达式3的运算。再次计算表达式2的值,若结果为“真”(非零),再执行循环体语句,最后再进行表达式3的运算。如此循环重复下去,直到计算表达式2的结果为“假”(零)时,循环结束,流程控制转到循环结构的下一语句。除了掌握for语句的格式外,还必须注意以下几点:1)用for循环结构也具有“先判断,后执行”的特点。for循环结构相当如下形式的while结构:表达式1;while(表达式2){循环体;表达式3;}2)从语法上看,for的三个成分都是表达式,它们之间都以分号“;”隔开。3)表达式1

3、和表达式3常常是赋值表达式或函数调用,有时也可以是逗号表达式,一般用来实现对循环控制变量初始化和循环控制变量增(减)值。表达式2常常是关系表达式或逻辑表达式,但也可以是其它类型的表达式,它是用来表示循环继续的条件,只要其值为非零,就可执行循环体,否则推出循环。例如:for(i=1,sum=0;i<=100;i++,i++)sum+=i;关键字for的三个表达式允许部分或全部省略,但其中的两个分号不能省略,否则,系统将报错。4)当省略表达式1时,在进入for循环之前应该有给循环控制变量赋初始值的语

4、句;5)当省略表达式3时,应该在循环体内有修改循环控制变量的值的语句,以保证循环能够正常结束。例如:for(i=1,s=1;i<=n;){s=s*i;i++;/*i++是控制循环变量值的语句*/}1)当表达式2或三个表达式全部省略时,应该在循环体内设置相应的语句来结束循环,否则程序始终认为判断条件成立,循环将无终止地执行下去,即形成了所谓的死循环。2)如果循环体语句为一语句组,则必须用一对花括号“{}”括起来。3)由于for循环结构书写形式灵活多样,如果在三个表达式中过多的加入与循环控制无关的内

5、容,容易降低可读性。因此,通常使用一种简单明了的for循环结构形式:for(循环控制变量赋初值;循环条件;循环控制变量增(减)值)循环体语句9)循环体可以是空语句。循环语句可以嵌套,使用嵌套循环结构时,外层的循环结构一定要完全包含在内层循环,即循环只能嵌套,不能交叉。一、实验名称:循环结构程序设计二二、实验目的:1、能够熟练运用for语句编写程序。2、在1的基础上,掌握for的循环嵌套。3、灵活运用三种循环程序结构及其辅助语句。三、实验内容:(一)程序分析1,源程序1#include

6、.h>main(){intnum=0;while(num++<=2)printf("%d",num);}2,源程序2#includemain(){inti;for(i=1;i<5;++i)if(i%2)printf("*");elsecontinue;printf("#");printf("$");}要求:①)输入并调试源程序②)将源程序1中的while(num++<=2)改为while(++num<=2)将源程序2中的continue语句去掉。③)写出程序运行结果源程序1

7、运行结果修改后的结果源程序2运行结果修改后的结果分析原因3,程序填空:计算并输出数列:1,3,5,…2n-1,…的前几项之和,其中n的值由键盘输入。要求分别用三种循环语句实现。方法一:用for语句实现#includemain(){longs,n,k,i;scanf(“”,&n);k=2*n-1 ;;for(i=1 ;i<=k ;i+=2 )s+=i ;printf(“1+3+……+%ld=%ld”,k,s) ;}方法二:用while语句实现#include

8、main(){longs,n,i=1;scanf(“%ld”,&n);while(){s+=i ;printf(“1+3+……+%ld=%ld”,2*n-1,s) ;}方法三:用do…while语句实现#includemain(){longs=0,n,i=;scanf(“%ld”,&n);do{s+=i ;i++;}while()printf(“1+3+……+%ld=%ld”,2*n-1,s) ;}要求:将程序填写完整,并对源程序进行调试运行。4、从低位开始取出长整型变

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。