C语言程序设计(第二版)任正云 第5章循环结构

C语言程序设计(第二版)任正云 第5章循环结构

ID:40238652

大小:834.50 KB

页数:35页

时间:2019-07-28

C语言程序设计(第二版)任正云 第5章循环结构_第1页
C语言程序设计(第二版)任正云 第5章循环结构_第2页
C语言程序设计(第二版)任正云 第5章循环结构_第3页
C语言程序设计(第二版)任正云 第5章循环结构_第4页
C语言程序设计(第二版)任正云 第5章循环结构_第5页
资源描述:

《C语言程序设计(第二版)任正云 第5章循环结构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、循环结构又称重复结构,是按照一定的条件重复执行某段语句的程序控制结构。(1)goto语句和if语句构成的循环结构。(2)while语句构成的循环结构。(3)do-while语句构成的循环结构。(4)for语句构成的循环结构。第5章循环结构程序设计15.1while语句while语句用来构造“当型”循环,多用于解决循环次数事先不确定的问题。while语句的一般形式为:while(表达式){循环体}功能:先判断表达式的值的真假,若为真(非零)时;就执行循环体,否则退出循环结构。循环体表达式真假2【例5.1】编程实现1+2+3+…+100。i=1当i<=100sum=sum+ii=i+

2、1i<=100假真sum=sum+ii=i+1i=1#include"stdio.h"main(){inti,sum=0;i=1;while(i<=100){sum+=i;i++;}printf("%d",sum);}程序运行结果为:50503需要注意的是:(1)while语句中的表达式一般是关系表达式或逻辑表达式,但也可以是实数值表达式或字符表达式,只要其值为真(非0)即可继续执行循环体。(2)循环体语句可以为任意类型。循环体如果包含一个以上的语句,应该用花括号括起来,以复合语句的形式出现。如果不用花括号,则while语句的范围只到while后面第一个分号处。例如本例中wh

3、ile语句若无花括号,则while语句范围只到“sum+=i;”。(3)在循环体中应该有使循环趋向于结束的语句,以避免出现死循环。如本例中循环结束的条件是“i>100”,因此,在循环体语句中应该有使i增值以最终导致i>100的语句“i++;”,如果无此语句,则i的值始终不变,循环将永不结束。(4)允许while语句的循环体中包含另一个while语句,从而形成循环的嵌套。4【例5.2】看一个简单的印数程序。#include"stdio.h"main(){intnumber=0;while(number<=1){number++;printf("%d",number);}}运行结

4、果为:12【例5.3】第二个印数程序。#include"stdio.h"main(){intnumber=0;while(number++<=1)printf("*%d",number);printf("**%d",number);}运行结果为:*1*2**3表达式执行的次数条件表达式number值 (没有自增时)执行的printf函数是循环体内还是循环体外输出的number的值(已经自增)10内121内232外35【例5.4】输入一行字符,按字母、数字和其它分成三类,分别统计各类字符的数目(换行符''不在统计范围内)。字母的条件:c>='a'&&c<='z'

5、

6、c>

7、='A'&&c<='Z'成立,则c为一个字符。数字的条件:c>=‘0’&&c<=‘9’成立,则c为一个数字。算法:⑴将各计数器变量置初值为0。⑵提示用户输入一行字符。⑶读入一个字符。⑷检查c是否为换行符‘’,如果不是,则检查c符合哪种字符条件,并将相应计数器变量的值加1,然后转步骤⑶(循环);如果c是''字符,则结束循环,转步骤⑸。⑸输出计数结果。#include"stdio.h"voidmain(){charc;intalpha,digit,other;alpha=digit=other=0;printf("inputcharactersendofnewline:"

8、);while(c=getchar()!='')if(c>='a'&&c<='z'

9、

10、c>='A'&&c<='Z')alpha++;elseif(c>='0'&&c<='9')digit++;elseother++;printf("alpha=%ddigit=%dother=%d",alpha,digit,other);}运行结果如下:cast=3,house=5,sumis8.↙alpha=14digit=3other=76【例5.5】输入一正文,统计正文包含的行数,字数和字符数。分析:正文的一行是以''为结束标志的一串字符,一个字是以''为结束标志的一串字

11、符。而字符数则是对每个输入的字符(不包含EOF)进行计数.算法:⑴将标志state置初值0,表示字符不在字中;各计数器变量均置初值为0。⑵读一个字符c,如果c不是EOF,则-1字符数加1。-2若c是''则行数加1。-3如果c是空格字符‘’、换行字符‘’或制表字符‘t’,则将标志置为0,表示c字符不在字中;否则(c为非空白符),如果标志为0(表示c是字的第一个字符)则将字数加1,并修改标志为1(表示当前字符c是一个字中的字符)。-4转步骤⑵循环.如果c是EOF,则循环结束

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

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

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