第四章循环结构程序设计1.ppt
文本预览下载声明
* 打印九九表 的优化版 执行效果 * 打印九九表 的优化版 流程的转移控制 break语句 continue语句 * 5 break语句和continue语句 break语句: (1) 语句形式: break; (2)作用: 结束break所在的 switch语句。 结束当前循环,跳出break所在的循环结构。 * 例:求300以内能被17整除的最大的数。 #include stdio.h void TestBreak() {int x,k; for(x=300;x=1;x--) if(x%17= =0) break; printf(x=%d\n,x); } 找到满足条件的最大数,结束循环 * continue 语句: (1)语句形式: continue; (2)语句作用: 强制结束本次循环------并不跳出循环体, 而是继续执行下一次循环的条件判断。 * 求300以内能被17整除的所有整数 #include stdio.h void TestContinue() {int x,k; for(x=1;x=300;x++) { if(x%17!=0) continue; printf(%d\t,x); } } 此数不能被17整除,开始下一次循环 * 例 求输入的十个整数中正数的个数及其平均值 #include stdio.h void main( ) { int i,num=0,a; float sum=0; for(i=0;i10;i++) { scanf(%d,a); if(a=0) continue; num++; sum+=a; } printf(“%d 个正整数的和是 :%6.0f\n,num,sum); printf(“其平均值为:%6.2f\n,sum/num); } 输入一个整数,判断它是否是素数 #include math.h TestPrimeNumber() { int m, i, k; printf(Please enter a number:); scanf(%d, m); k = sqrt(m); for (i=2; i=k; i++) { if (m % i == 0) break; } if (i k) printf(Yes!\n); else printf(No!\n); printf(Program is over!\n); } Please enter a number: 6 Program is over! No! #include math.h TestPrimeNumber2() { int m, i, k, flag = 1; /*标志变量flag初值置为1*/ printf(Please enter a number:); scanf(%d,m); k = sqrt(m); for (i=2; i=k flag; i++) { if (m % i == 0) flag = 0; } if (flag) printf(Yes!\n); else printf(No!\n); printf(Program is over!\n); } 方法2 补 充: 单个字符的输入函数getch(),getche() c=getche( ); c=getch( ); 功能: 从键盘上读入一个字符,但输入后无需回车。 【例】 #include stdio.h #include conio.h void TestGetch() { char i=’y’; while (i==’y’||i==’Y’){ printf(“您好!是否继续?(y/n)\n”); i=getch(); } /*见注*/ printf(“再见!”); } 注: 不能用getchar(),否则会把回车符作为第二次读入值 头文件 getche( )和getch( )包含在conio.h中 getch( )还有一个功能,即不把读入的字符回显到屏幕上,常用于密码输入或菜单选择。 * 课堂练习 1、写出程
显示全部