前言
博主:Super大雄 (萌新博主一枚)
C语言专栏:0基础学C语言专栏
LeetCode专栏:LeetCode专栏
本期是关于C语言循环结构与break continue,如有错误迎您提出您的看法。
🌷给小伙伴们推荐个学习、刷题的网站?
🍓🍓各种面试题应有尽有,刷题刷到你手软!
🥂🥂🥂各种互联网学习资料,各个大厂面试真题从 零基础开始学习,帮你轻松应对各类面试题目,快来充实一下自己吧!
目录
生活总最不缺的就是循环了,地球绕着太阳转、一周7天、一天24小时、一小时60分钟这就是循环。在C语言中也存着循环。如果让你使用C语言答应出100条“我喜欢C语言”,你会选择什么样的方法,我想你一定不想打出100条print(“我喜欢C语言\n”);太累了,又无脑。所以我们学的循环结构就是用来解决这个问题的,循环语句有while、do-while、for。
while()循环语句
格式
While(条件){
语句;
}
执行条件:先判断条件,当条件为真是执行循环语句,直到条件为假结束循环。
int i = 1;
while (i<=10)
{
printf("%d",i);
i++;
}
结果:12345678910
循环三要素:循环初值、循环条件、循环增量(步长值)
do-while语句
格式:do 语句
While(条件);
执行过程:先执行语句,在判断条件,当条件为真时继续执行循环语句,直到条件为假结束。
int i = 1;
do
printf("%d", i);
while (i>5);
结果:1
int i = 1;
do
printf("%d",i++);
while (i<5);
结果:1234 i++使用的是后值用法
Do-while和while循环语句的区别
Do-while至少执行一次循环,while语句可能一次也不执行。
Do-while循环语句的结束标志是;
for()循环语句
格式
For(条件一:初值;条件二:条件;条件三:增量){
语句;
}
for ( int i = 0; i <= 100; i++)
{
printf("%d\n",i);
}
结果: 打印出0-100的值
计算1-100的累加和
int sum = 0;
for ( int i = 1; i <= 100; i++)
{
sum += i;
}
printf("1-100的累加和为%d",sum);
结果: 1-100的累加和为5050
For循环的特点:多用于指定初始值和已知终止条件的循环、循环次数可控
进入for循环先执行循环一的语句(在for循环中只执行一次),然后进行判断条件,如果成立则进入循环,然后下一次执行条件三——条件二是否成立然后依次这样的,直到条件不成立。
Break和continue
Break语句
Break语句:跳出终止当前的循环。
没有break的语句
for (int i = 1;i <= 5;i++) {
printf("%d\n",i);
}
结果:
1
2
3
4
5
有break的语句
在for循环中
for (int i = 1;i <= 5;i++) {
printf("%d\n",i);
break;
}
结果:
1
程序只执行了一次就跳出了循环;
for (int i = 1;i <= 5;i++) {
if (i == 3) {
break;
}
printf("%d\n",i);
}
结果:
1
2
程序只执行到判断条件成立直接跳出for循环;
在while循环中
int i = 1;
while (1) {//非0都为真,所以while的条件永远为真
if (i > 5) { i>5 退出while循环
break;
}
printf("%d\n",i++);
}
结果:
1
2
3
4
5
在switch循环中
我们可以利用break计算出每个月的天数,因为在switch中没有break就一直往下执行,直到遇到break停止。
int i ;
scanf("%d",&i);
switch (i)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: printf("31");break;
case 2:
case 4:
case 6:
case 9:
case 11:printf("30");break;
default:
printf("28或29");
break;
}
continue语句
continue:结束本次循环进行下一次循环
在for循环中
for (int i = 0;i <= 5;i++) {
if (i == 4)continue;
printf("%d",i);
}
结果:01235
在while循环中
int i = 0;
while (i++<5)
{
if (i == 4)continue;
printf("%d",i);
}
结果:1235
continue:不在选择语句中使用(switch语句),只在循环语句中使用。
循环嵌套
什么是嵌套:在一个循环体语句中又包含另一个循环语句,打个比方你现在正在看电视而电视屏幕中的人也在看电视。
例1:
for (int i = 0; i < 2; i++){
for (int j = 0; j < 1; j++)
{
printf("%d,%d\n", i, j);
}
}
结果:
0,0
1,0
分析:我们可以看到第一次输出0,0即先执行外层for循环i=0,然后进入内层for循环i=0,输出0,0然后内层for循环j+1 等于1,1<1条件不成立执行外层for循环,i=1;然后内层for循环j=0 然后输出1,0 然后内层for循环等于1不符合条件退出外层for循环i=2不符合条件退出循环。
例2:
for (int i = 0; i < 1; i++){
for (int j = 0; j < 5; j++)
{
if (i == 3) {
break;
}
printf("j=%d\n", j);
}
printf("i=%d\n", i);
}
结果:
j=0
j=1
j=2
j=3
j=4
i=0
break;语句是跳出距离它最近的for循环的。
🌷给小伙伴们推荐个学习、刷题的网站?
🍓🍓各种面试题应有尽有,刷题刷到你手软!
🥂🥂🥂各种互联网学习资料,各个大厂面试真题从 零基础开始学习,帮你轻松应对各类面试题目,快来充实一下自己吧!