实验结论
Part1
demo5_1.cpp
// 对比demo5_1.cpp和demo5_2.cpp,理解控制语句continue和break的功能 #include <stdio.h> int main() { int i; // 在循环语句中使用continue for(i=1; i<=5; i++) { if (i%3 == 0) // 如果i是3的倍数,则结束本次循环,开始下一次循环 continue; printf("i=%d\n",i); } return 0; }
运行结果
demo5_2.cpp
// 对比demo5_1.cpp和demo5_2.cpp,理解控制语句continue和break的功能 #include <stdio.h> int main() { int i; // 在循环语句中使用break for(i=1; i<=5; i++) { if (i%3 == 0) // 如果i是3的倍数,则结束整个循环 break; printf("i=%d\n",i); } return 0; }
运行结果
总结
continue:当遇到continue语句,程序就跳过循环体中位于该语句后的所有语句,提前结束本次循环并开始新一轮循环。
break:break语句的作用是结束本层循环,转而执行本层循环语句后的语句。
demo6_1.cpp
// 对比demo6_1.cpp和demo6_2.cpp,理解在嵌套的循环中,控制语句continue和break的功能 #include <stdio.h> const int LINE=3; // 定义符号常量LINE const int COLUME=5; // 定义符号常量COLUME int main() { int line; // 定义变量line, 用来控制行数 int col; // 定义变量col, 用来控制列数 // 输出LINE行信息 for(line=1; line<=LINE; line++) { // 每一行中,利用循环,输出各列信息 for(col=1; col<=COLUME; col++) { if(col%3 == 0) // 如果col是3的倍数,则结束本次循环,开始下一次循环 continue; printf("%5d", col); } printf("\n"); // 每输出完一行,换行 } return 0; }
运行结果
demo6_2.cpp
// 对比demo6_1.cpp和demo6_2.cpp,理解在嵌套的循环中,控制语句continue和break的功能 #include <stdio.h> const int LINE=3; // 定义符号常量LINE const int COLUME=5; // 定义符号常量COLUME int main() { int line; // 定义变量line, 用来控制行数 int col; // 定义变量col, 用来控制列数 // 输出LINE行信息 for(line=1; line<=LINE; line++) { // 每一行中,利用循环,输出各列信息 for(col=1; col<=COLUME; col++) { if(col%3 == 0) // 如果col是3的倍数,则结束内层循环体 break; printf("%5d", col); } printf("\n"); // 每输出完一行,换行 } return 0; }
运行结果
回答:在两层嵌套循环中,内层循环中不论出现continue还是break,都不会影响外层循环。它们都只用于结束内循环。
Part2
blank1.cpp
/* 编程找出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实现编程
/*尝试用for语句来实现blank1的编程*/ #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; }
运行结果
Part3 编程练习
1、编程输出101~200之间所有素数,并输出这一区间内素数个数
/*编程输出101~200之间所有素数,并输出这一区间内素数个数*/ #include<stdio.h> #include<math.h> #include<stdlib.h> int main() { int i,a,m,n,col; col=5; i=0; for(n=101;n<=200;n++) { m=sqrt(n); for(a=2;a<=m;a++) { if(n%a==0) break; } if(a>m) { i++; printf("%5d",n); if(i%5==0) printf("\n"); } } printf("\n"); printf("101~200之间共有%d个素数\n",i); return 0; }
运行结果
2、编程打印
#include<stdio.h> int main() { int i,j,n,q; for(i=1;i<=5;i++) { for(j=1;j<=5-i;j++) { printf(" "); } for(n=1;n<=2*i-1;n++) { printf("*"); } for(q=1;q<=i;q++) { printf(" "); } printf("\n"); } return 0; }
运行结果
实验总结及体会
1、学会了使用for语句(在不断的试错中)。
2、嵌套循环语句的格式需要格外注意,花括号很容易混乱。
评论
https://www.cnblogs.com/ligengchen/p/10639899.html#4226482
https://www.cnblogs.com/mjc217/p/10638971.html#4226488
https://www.cnblogs.com/wznn/p/10618475.html#4226499