第06章C语言(非计算机专业).ppt
文本预览下载声明
第六章; 循环语句的执行流程
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------------
显示全部