- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章; 循环语句的执行流程
while 语句
do-while 语句
for 语句;循环的概念;§6.1 循环的基本概念; 首先判断循环控制表达式是否为“真”,若为“真”,则反复执行循环体;若为“假”,则结束循环。; 首先执行循环体,然后再判断循环控制表达式,若为“真”,则反复执行循环体,直到循环控制表达式为“假”时结束循环。;§6.2 while语句;不成立;main ( )
{ int count,num,total;
count=0; total=0; /*total:存放累加和*/
while ( count10 ) /* 循环控制条件 */
{ count ++; /* 循环体 */
printf (Enter the No.%d=, count);
scanf (%d, num);
total += num; } /* 计算累加和 */
printf(Total=%d\n, total);
};main ( )
{
int n=0;
while ( n3 )
printf (”n is %d\n”,n);
n++ ;
printf(”That\’s all.\n”);
};无法正常终止的程序,称为“死循环”。
结论:while语句循环体中,一???要有能够对循环控制条件产生影响的语句。避免出现“死循环”现象。; index=1;
while ( index 5 )
printf(”Good morning!\n”);
分析:程序段将无限次打印字符串。因为循环中没有任何语句可以改变循环控制变量index的初值1。; index=1;
while( - - index 5 )
printf(”Good morning!\n”);
分析:仍有问题,程序改变了index,但方向错了。在index达到系统能够处理的最大负数时,将会产生下溢而终止程序。
结论:循环体中必须有能够使循环正常停止的条件。; 分析:由于不知道要输入的字符数量,只知停止条件是输入字母a,则只能将循环控制条件设为ch!=a。
#include stdio.h
main( )
{ char ch= ;
while ( ch!=a)
putchar( ch = getch( ) );
}; 改写:
#include stdio.h
main( )
{ char ch;
while((ch = getch( )) !=a)
putchar(ch);
}; 分析:\n 作为行结束标记
#define EOF -1 \\定义文件结束标记
main ( )
{ int c,nl=0,nc=0; \\ nl行计数器nc字符计数器
while((c = getchar( ))!= EOF )
{ ++ nc; \\进行字符计数
if ( c == \n )
++ nl; }\\如果找到\n,则行计数 printf(chars=%d,lines=%d\n,nc,nl);
};例:求1到100的之和
main ( )
{ int total=0, i=1;
while ( i = 100 )
{ total = total + i;
i ++;
}
printf(”Total=%d\n, total);
};循环嵌套:在循环体中,又包含有循环语句,构成循环嵌套。
例:输出下三角形乘法九九表。
1 2 3 4 5 6 7 8 9
---------------------------------------
1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81
假设:行号为i (1=i=9),列号为j (1=j=i)
则:第 i 行中一共要输出 i 个乘积; main ( )
{ int i=1, j;
while(i=9) printf(%4d,i++);
printf (\n------------
文档评论(0)