C语言程序设计第3章C语言控制语句.ppt
文本预览下载声明
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 3.5.1 break语句 功能: 利用break语句能够强迫终止本层循环,转到后续语句执行。 * * 后续语句 … 语句 … Y N 表达式? 后续语句 … 语句 … 表达式? Y N 3.5.1 break的应用 break; while语句 break; do-while语句 后续语句 计算表达式3 计算表达式1 … 语句 … 表达式2? Y N break; for语句 * * 例如: ⑴ int x,n=0,s=0; while (n10) { scanf(%d,x); if (x0) break; s+=x; n++; } ⑵ int x,n=0,s=0; do { scanf(%d,x); if (x0) break; s+=x; n++; } while (n10); ⑶ for (n=0,s=0; n10; n++ ) { scanf(%d,x); if (x0) break; s+=x; } * * 3.5.2 continue语句及应用 功能: 中断循环体的本次执行(即跳过循环体中尚未执行的语句),立即开始执行下一次循环。 * * 后续语句 … 语句 … Y N 表达式? 后续语句 … 语句 … 表达式? Y N 3.5.2 continue语句及应用(续) continue; while语句 continue; do-while语句 后续语句 计算表达式3 计算表达式1 … 语句 … 表达式2? Y N continue; for语句 * * 例如: ⑴ int x,n=0,s=0; while (n10) { scanf(%d,x); if (x0) continue; s+=x; n++; }; ⑵ int x,n=0,s=0; do { scanf(%d,x); if (x0) continue; s+=x; n++; } while (n10); ⑶ for (n=0,s=0; n10; ) { scanf(%d,x); if (x0) continue; s+=x; n++ } * * 应用举例 【例3.17】把100~200之间能被7整除的数,以十个数为一行的形式输出,最后输出一共有多少个这样的数。 思路: 设变量n,从100变化到200; 对每个n进行判断,当n不能被7整除时,终止本次循环,否则就输出这个数; 设变量j作为输出个数的计数器,每输出一个数就令j++; 当输出了10个数时(即j%10等于0),输出’\n’ 退出循环后输出j的值。 * * 算法和程序 main( ) { int n,j=0; for(n=100;n=200;n++) { if (n%7!=0) continue; printf(%6d,n); j++; if (j%10==0) printf(\n); } printf(\n); printf(j=%d\n,j); } for (n=100; n=200; n++) n不能被7整除 T F 终止本次循环 输出n 输出10个数 T F 换行 * * 3.6 程序设计举例及案例研究 【例3-21】判断输入的某个数m是否为素数。若是素数,输出“YES”,若不是,输出“NO”。 思路:素数是指只能被1和它本身整除的数,如5、7、11、17、…等。 分别用2、3、…,m-1尝试能否整除整数m。如果m能被某个数整除,则m就不是素数。 这是一种穷举算法 设除数为j,从2循环到m-1 * * 算法和程序: 输入一个数m for (j=2; j=m-1; j++) m%j==0 T F 退出循环 jm-1 T
显示全部