学习C语言——学习笔记(3:循环语句)

循环语句

  循环语句有三种:while、for、do while,在实际生活中会遇到同一件事情要重复做很多次,于是出现循环语句来对应此场景。

while循环

while循环语法结构

while(表达式)
     循环语句;

  用以下流程图介绍while循环语句的执行过程:
学习C语言——学习笔记(3:循环语句)
  举例说明:在屏幕上打印1-10的数字,使用while循环,代码如下:

#include <stdio.h>
int main()
{
     int i = 1;
	 while(i<=10)
	 {
		 printf("%d ", i);
		 i = i+1;
	 }
	 return 0; 
 }

  再例如在生活中重复做某件事情时,遇到突发情况需要终止时,使用关键词break应对这种情况,break的作用是直接终止循环,还有另外一种情况,遇到一点小事,需要临时处理一下,然后继续工作,此时使用关键词continue,continue是用于终止本次循环,本次循环continue后面的代码不会再执行,直接跳转到while的判断部分,进行下一次循环,以下是while语句中break和continue的代码示例:

//break 代码实例
#include <stdio.h>
int main()
{
	 int i = 1;
	 while(i<=10)
	 {
		 if(i == 5)
		 {
		 	break;
		 }
		 printf("%d ", i);
		 i = i+1;
	 }
	 return 0;
}

思考一下此代码输出的结果是什么?

//continue 代码实例
#include <stdio.h>
int main()
{
    char ch = '\0';
 	while ((ch = getchar()) != EOF)
	 {
	     if (ch < ‘0’ || ch > ‘9’)
	        continue;
	     putchar(ch);
	 }
	 return 0; 
}

以上代码打印字符’0’至’9’。

for循环

  for循环相比于while循环,其表现出的逻辑更加清晰,实际运用中for循环的使用频率也更高,以下介绍for循环的语法结构与流程图。

for循环语法结构

for(表达式1; 表达式2; 表达式3)
    循环语句;
表达式1
表达式1为初始化部分,用于初始化循环变量的。
表达式2
表达式2为条件判断部分,用于判断循环时候终止。
表达式3
表达式3为调整部分,用于循环条件的调整。

for循环流程图
学习C语言——学习笔记(3:循环语句)
以下为for循环案例:

#include <stdio.h>
int main()
{
	for(i=1; i<=10; i++)
	 {
	 	printf("hehe\n");
	 }
	 return 0;
}

  对于break与continue在for循环中的运用与while相比有些许不同,代码如下所示:
//代码1

#include <stdio.h>
int main()
{
	 int i = 0;
	 for(i=1; i<=10; i++)
	 {
		 if(i == 5)
			 break;
		 printf("%d ",i);
	 }
	 return 0; 
 }
//代码2
#include <stdio.h>
int main()
{
 int i = 0;
 for(i=1; i<=10; i++)
 {
	 if(i == 5)
	  continue;
	 printf("%d ",i);
 }
 return 0;
}

具体区别读者可以自行将代码运行输出进行对比。

for循环的代码建议如下:*
(1). 不可在for 循环体内修改循环变量,防止 for 循环失去控制。
(2). 建议for语句的循环控制变量的取值采用“前闭后开区间”写法。

do…while()循环

do语句的语法结构

do
 循环语句;
while(表达式);

do…while()循环循环的流程图
学习C语言——学习笔记(3:循环语句)
do语句的特点:
  循环至少执行一次,使用的场景有限,不经常使用,以下为示例代码:

#include <stdio.h>
int main()
{
     int i = 10;
	 do
	 {
		 printf("%d\n", i);
	 }while(i<10);
 	 return 0; 
 }

总结

  本次介绍了三种循环方式,需熟练掌握,在以后的学习中会经常遇到,最后留给读者几道使用循环可以解决的练习题,后续会分享相关解题代码。

  1. 计算 n的阶乘。
  2. 计算 1!+2!+3!+……+10!
  3. 在一个有序数组中查找具体的某个数字n。(讲解二分查找)
  4. 编写代码,演示多个字符从两端移动,向中间汇聚。
  5. 编写代码实现,模拟用户登录情景,并且只能登录三次。(只允许输入三次密码,如果密码正确则 提示登录成,如果三次均输入错误,则退出程序。
上一篇:Kafka实战-实时日志统计流程


下一篇:Java控制流程学习笔记