文档详情

第06章C语言(非计算机专业).ppt

发布:2017-07-30约6.17千字共54页下载文档
文本预览下载声明
第六章; 循环语句的执行流程 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------------
显示全部
相似文档