C语言循环结构和循环复合语句


作者主页:

lovewold_的博客_CSDN博客

文章主要内容:

        基本循环结构;continue和break作用与区别;

emo一下:

       人生就是一如既往的重复相同的事情,要想在生活中不断的发掘新东西无疑是困难的,只有当一如既往的重复一遍遍才能清晰认识到我们身处循环之中。C语言循环结构和循环复合语句_第1张图片

文章目录

目录

文章目录

前言

一、while循环

二、do()while循环

三、for循环

四、while、for嵌套使用

continue

break

break和continue区别:

总结



前言

        循环结构是C语言中最为基础的,如何正确的使用循环,使用循环能做什么,什么时候我们来使用循环。读完本文希望您从零到一拥有它。

同时,程序的执行不是单一不变的,逻辑的运行需要分支以及循环相互协调,那么如何实现略微复杂的逻辑呢?


C语言循环结构

循环:

  • 顺序执行语句序列
  • 在满足某个条件之前反复执行一个语句序列

一、while循环

逻辑流程图:

C语言循环结构和循环复合语句_第2张图片

语法格式:

while(条件判定式)
{
    逻辑代码块;
}
  •  while是入口循环,即在进行循环前判定括号内的条件是否为真,真即可执行下列语句,假则不执行。
  • 当构造一个循环时,需要给出限制条件在达到要求后跳出指令,否则循环不终止,进入死循环

实列:

打印6句hello。
#include

int main()

{

int n = 1;
while (n <= 6)
 {

  printf("hello\n");
  n++;
 }

return 0;
}

这个例子中:

        n<=6是循环条件,当n大于6时,循环停止。

       

        n作为循环的计数器,起到控制循环起止和循环次数的作用

这也是预想控制循环次数多循环,可以称作记数循环:

计数循环:它们循环执行预先确定的次数。

  • 必须初始化一个计数器
  • 计数器与某个有限的值进行比较
  • 每次执行循环,计数器的值都要递增或递减以逃离条件。

二、do()while循环

逻辑流程图:

C语言循环结构和循环复合语句_第3张图片

语法格式:

do
{
逻辑代码块:
}while(条件判定式);

实例:

打印1-10

#include

int main()
{
	int i = 1;
	do
	{
		printf("%d ", i);

		i++;
	} while (i<=10);

	return 0;
}

  • 共同点:do while语句和while语句总体上的功能是一样的,都是通过while()内条件判定来决定是否结束。
  • 区别:代码执行顺序不一样,do while强调先执行后判断,代码至少得执行一次;while强调先判定后执行,代码可能一次也不会执行。

总的来说两者功能大差不差,区别在于执行判断先后顺序,do while目前日常使用较少,现阶段留心一下这点即可。

C语言循环结构和循环复合语句_第4张图片

 注意:

        初学者特别注意while后的(;)符号不要遗忘

三、for循环

逻辑流程图:

C语言循环结构和循环复合语句_第5张图片

 语法结构:

for(变量初始化;条件判定式;变量更新)
{
逻辑代码块;
}
  • 括号内变量初始化只执行一遍,往后不执行。
  • 条件判定为真循环进行,为假跳出循环。
  • 更新值后继续执行判断。
  • 变量初始化可以使用逗号使多个变量初始化和多个变量更新表达式

循环复合语句

四、while、for嵌套使用

  • 以多重循环体组成,单次外部循环内进行多次内循环。
  • 循环可能需要一定的跳出条件—break
  • 循环可能需要一些跳过特殊情况条件—continue
  • 循环的执行始终需要中间计数器做循环控制,否则死循环

打印用“#”表示的3*3矩阵

#include
int main()
{
	int i = 1;
	int j = 1;
	while (i <= 3)//外部循环打印三行内容
	{
		j = 1;//初始化进入下次循环
		while (j <= 3)//内部循环打印三列内容
		{
			printf("#");
			j++;//控制变量自增
		}
		
		printf("\n");//换行
		i++;//控制变量自增加
	}
	return 0;
}

对于一个内部循环和外部循环,需要注意的是始终需要中间量控制,因此进入循环前和出循环前需要对变量进行初始化和更新。

continue:

              可以理解为continue是跳过当次循环中剩下的语句,执行下一次循环。

打印  ###  3*3矩阵

         #   

         ###

  • 利用continue处理中间的特殊情况
#include
int main()
{
	int i = 1;
	int j = 1;
	while (i <= 3)
	{
		
		while (j <= 3)
		{
			
			if (i == 2 && j == 2)
			{
				j++;
				continue;
			}
			printf("# ");
			j++;
			
		}
		j = 1;
		printf("\n");
		i++;
	}
	return 0;
}

注意:绕过后是否对控制变量进行了更新,如果没有就会陷入死循环

break:

  跳出整个循环体,不再进行循环

实例:

#include
int main()
{
	int arr[10] = {1,2,3,4,5,6,7,8,9,10};
	//0~9
	//打印数组的内容
	int i = 0;
	for (i = 0; i < 10; i++)
	{
        if(i==5)//当下标为5的时候,跳出循环
        {
            break;
        }
		printf("%d ", arr[i]);
	}

	return 0;
}
C语言循环结构和循环复合语句_第6张图片

break和continue区别:

                前者跳出整个循环,后者跳出单个循环下面语句执行下列循环

可以通过上述相识的例子来理解一下

     更换break成continue:

#include
int main()
{
	int arr[10] = {1,2,3,4,5,6,7,8,9,10};
	//0~9
	//打印数组的内容
	int i = 0;
	for (i = 0; i < 10; i++)
	{
        if(i==5)//当下标为5的时候,跳出循环
        {
            continue;
        }
		printf("%d ", arr[i]);
	}

	return 0;
}

很显然跳过了下标为6的数组打印语句

C语言循环结构和循环复合语句_第7张图片

C语言循环结构和循环复合语句_第8张图片


总结

        以上就是今天要讲的内容,本文仅仅简单介绍了循环基本用法,希望对大家有帮助,此外下篇文章主要讲述一下冒泡排序和二分查找的基本算法思维。

你可能感兴趣的:(C语言猎杀时刻,c语言,开发语言)