实验结论:
Part 1 当为contine时:
#include <stdio.h> int main() { int i; for(i=1; i<=5; i++) { if (i%3 == 0) continue; printf("i=%d\n",i); } return 0; }
当为break时:
#include <stdio.h> int main() { int i; for(i=1; i<=5; i++) { if (i%3 == 0) break; printf("i=%d\n",i); } return 0; }
contine 的意思是结束本次循环,开始下次循环。
break 的意思是结束整个循环。
#include <stdio.h> const int LINE=3; const int COLUME=5; int main() { int line; int col; for(line=1; line<=LINE; line++) { for(col=1; col<=COLUME; col++) { if(col%3 == 0) continue; printf("%5d", col); } printf("\n"); // 每输出完一行,换行 } return 0; }
#include <stdio.h> const int LINE=3; const int COLUME=5; int main() { int line; int col; for(line=1; line<=LINE; line++) { for(col=1; col<=COLUME; col++) { if(col%3 == 0) break; printf("%5d", col); } printf("\n"); } return 0; }
经过对比很容易看出结论:
在两层嵌套循环中,内层循环中如果出现continue,只是结束内层循环的本次循环,开始内层循环的下次循环,并不会影响外层循环。
在两层嵌套循环中,内层循环中如果出现break,它指的是结束内层循环的整个循环,并不会影响到外层循环。
Part 2 补充程序
/* 编程找出5个整数的最大数和最小数 《C语言程序设计教程学习指导》p122实验内容(3) */ #include <stdio.h> int main() { int number, max, min, n; n=1; printf("输入第%d个数: ", n); scanf("%d", &number); max = number; min = number; while(n<5) { n++; printf("输入第%d个数: ", n); scanf("%d", &number); if(number>max) max = number; else if(number<min) min = number; } printf("最大数为: %d\n", max); printf("最小数为: %d\n", min); return 0; }
当使用for语句时:
/* 编程找出5个整数的最大数和最小数 《C语言程序设计教程学习指导》p122实验内容(3) */ #include <stdio.h> int main() { int number, max, min, n; n=1; printf("输入第%d个数: ", n); scanf("%d", &number); max = number; min = number; for(n=2;n<=5;n++) { printf("输入第%d个数: ", n); scanf("%d", &number); if(number>max) max = number; else if(number<min) min = number; } printf("最大数为: %d\n", max); printf("最小数为: %d\n", min); return 0; }
当使用do...while语句时
/* 编程找出5个整数的最大数和最小数 《C语言程序设计教程学习指导》p122实验内容(3) */ #include <stdio.h> int main() { int number, max, min, n; n=1; printf("输入第%d个数: ", n); scanf("%d", &number); max = number; min = number; do{ n++; printf("输入第%d个数: ", n); scanf("%d", &number); if(number>max) max = number; else if(number<min) min = number; }while(n<5); printf("最大数为: %d\n", max); printf("最小数为: %d\n", min); return 0; }
Part 3 编程练习
1 输出101~200之间所有素数,并输出这一区间内素数个数。
#include<stdio.h> int main(){ int i=0,count=0,j=0; for(i=100;i<=200;++i){ for(j=2;j<i;++j){ if(i%j==0) break;} if(i==j){ count++; printf("%5d",i); if(count%5==0){ printf("\n");} } }printf("\n"); printf("100~200之间素数个数为:%d",count); return 0; }
2 编程打印出如下符号
#include<stdio.h> int main(){ int line,i,n; scanf("%d",&n); printf("\n"); for(line=1;line<=n;line++){ for(i=1;i<=n-line;++i){ printf(" ");} for(i=1;i<=2*line-1;++i) { printf("*");} printf("\n"); } return 0; }
这个程序我做了些许修改(你输入几个数,它就输出几行,可以试试看,当然这个数不能太大)。
实验总结与体会
我觉得最有收获的是:自己差不多能编写出程序来了,尤其是最后一个,输入几,它就输出几行,感觉很有成就感。
在这之中也再次熟悉了前面所学的循环,也掌握了嵌套循环。
原文:https://www.cnblogs.com/xinzhi999/p/10702623.html