C语言学习
目录
前言
本文介绍循环语句
- while
- for
- do while
一、while 循环
同一件事需要完成很多次,while 语句就可以实现这一功能。
1. while循环语法结构
while (表达式)
{
循环语句;
}
2. while语句执行流程
3.运用while语句编程
输入4个数字,输出最大数。
#include <stdio.h>
int main()
{
int i = 1;
int max = 0;
int num = 0;
scanf("%d", &max);
while (i < 4)
{
scanf("%d",&num);
if (max < num)
{
max = num;
}
i++;
}
printf("%d\n", max);
return 0;
}
方法二:
#include <stdio.h>
int main()
{
int arr[4] = { 0 };
int i = 0;
while (i < 4)
{
scanf("%d", &arr[i]);
i++;
}
int max = arr[0];
i = 1;
while (i < 4)
{
if (max < arr[i])
max = arr[i];
i++;
}
printf("%d\n", max);
return 0;
}
4.while语句中的 break 和 continue
首先打印出1-10的数字,使用while循环
代码示例:
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
printf("%d ", i);
i++;
}
return 0;
}
运行结果:
1 2 3 4 5 6 7 8 9 10
在代码中加入break会有什么运行结果?
代码示例:
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
if (5 == i)
break;
printf("%d ", i);
i++;
}
return 0;
}
运行结果:
1 2 3 4
在循环中,只要遇到break就停止后期的所有循环,直接终止循环。
所以在while循环中,当 i = 5 时,执行 if 中的 break ,终止 while 循环。
在代码中加入continue呢?
代码示例:
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
if (5 == i)
continue;
printf("%d ", i);
i++;
}
return 0;
运行结果:
1 2 3 4
continue 是用于终止本次循环的,也就是本次循环中 continue 后边的代码不会再执行,而是直接跳转到 while 语句的判断部分。进行下一次循环的入口判断。
所以在while循环中,当 i = 5 时,执行 if 中的 continue ,跳过下面的 printf 函数,i++ ;跳转到 while 语句的判断部分,此时 i 的值还是5,继续执行 if 中的 continue ,跳过下面的 printf 函数,i++ ;跳转到 while 语句的判断部分......如此进入死循环状态。
二、for 循环
1.for 循环语法结构
for (表达式1; 表达式2; 表达式3)
循环语句;
2.for 循环执行流程
expr1:初始化部分
expr2:条件判断部分
expr3:调整部分
3.for 循环与 while 循环对比
打印出1-10的数字,用 for 循环:
代码示例:
#include <stdio.h>
int main()
{
int i = 1;
for (i = 1; i <= 10; i++)
{
printf("%d ", i);
}
return 0;
}
运行结果:
1 2 3 4 5 6 7 8 9 10
对比一下:
while 循环中依然存在 for 循环的三个表达式,但 for 循环修改,查找循环条件更方便,更集中!
4.for 循环中的 break 和 continue
在上述代码,用 for 循环打印出1-10的数字中加入break会有什么运行结果?
代码示例:
#include <stdio.h>
int main()
{
int i = 1;
for (i = 1; i <= 10; i++)
{
if (5 == i)
break;
printf("%d ", i);
}
return 0;
}
运行结果:
1 2 3 4
在 for 循环中,当 i = 5 时,执行 if 中的 break ,终止 for 循环。
在代码中加入continue呢?
代码示例:
#include <stdio.h>
int main()
{
int i = 1;
for (i = 1; i <= 10; i++)
{
if (5 == i)
continue;
printf("%d ", i);
}
return 0;
}
运行结果:
1 2 3 4 6 7 8 9 10
在 for 循环中,当 i = 5 时,执行 if 中的 continue ,跳过下面的 printf 函数 ;跳转到 for 语句的调整部分:i++;此时 i = 6,然后进入 for 的条件判断部分,i <= 10;符合条件,可以进入,此时 i 的值为6;不进入 if 中的 continue ,继续执行 printf 函数。
三、do while 循环
1. do while 循环语法结构
do
循环语句;
while (表达式);
2. do while 循环执行流程
3. do while 循环中的 break 和 continue
首先打印出1-10的数字,使用 do while 循环
代码示例:
#include <stdio.h>
int main()
{
int i = 1;
do
{
printf("%d ", i);
i++;
} while (i <= 10);
return 0;
}
运行结果:
1 2 3 4 5 6 7 8 9 10
在代码中加入break会有什么运行结果?
代码示例:
#include <stdio.h>
int main()
{
int i = 1;
do
{
if (5 == i)
break;
printf("%d ", i);
i++;
} while (i <= 10);
return 0;
}
运行结果:
1 2 3 4
在 do while 循环中,当 i = 5 时,执行 if 中的 break ,终止 do while 循环。
在代码中加入continue呢?
代码示例:
#include <stdio.h>
int main()
{
int i = 1;
do
{
if (5 == i)
continue;
printf("%d ", i);
i++;
} while (i <= 10);
return 0;
}
运行结果:
1 2 3 4
在 do while 循环中,当 i = 5 时,执行 if 中的 continue ,跳过下面的 printf 函数,i++ ;跳转到 while 语句的判断部分,此时 i 的值还是5,继续执行 if 中的 continue ,跳过下面的 printf 函数,i++ ;跳转到 while 语句的判断部分......如此进入死循环状态。
总结
以上就是今天要讲的内容,本文简单介绍了C语言中三种循环的使用。