C语言编程中复杂的循环结构,你被循环晕了吗?

当一段代码需要执行多次时,您可能会遇到这种情况。通常,语句按顺序执行:首先执行函数中的第一个语句,然后执行第二个语句,依此类推。

编程语言提供各种控制结构,允许更复杂的执行路径。

循环语句允许我们多次执行语句或语句组。下面给出的是大多数编程语言中循环语句的一般形式

C编程语言提供以下类型的循环来处理循环要求。

1. while循环

2. For循环

3. Do...while循环

4. 嵌套循环

而在C语言编程循环,只要给定的条件为真,重复执行一个目标语句。

语法

C编程语言中while循环的语法是 -

while(condition) {

statement(s);

}

这里,语句可以是单个语句或语句块。所述条件可以是任何表达,和真正的是任何非零值。当条件为真时,循环迭代。

当条件变为假时,程序控制传递到紧接循环之后的行。

在这里,要注意的关键点是while循环可能根本不执行。当测试条件并且结果为假时,将跳过循环体并且将执行while循环之后的第一个语句。

#include

int main {

/*localvariable definition */

int a = 10;

/* while loop execution */

while( a

printf("value of a: %d ", a);

a++;

}

return 0;}

C编程语言中for循环的语法是 -

for ( init; condition;increment) {

statement(s);

}

以下是'for'循环中的控制流程

l 所述初始化步骤首先被执行,并且只有一次。此步骤允许您声明和初始化任何循环控制变量。只要出现分号,就不需要在此处输入声明。小编给大家推荐一个学习氛围超好的地方,C/C++交流企鹅裙:【 六二七,零一二,四六四 】适合在校大学生,小白,想转行,想通过这个找工作的加入。裙里有大量学习资料,有大神解答交流问题,每晚都有免费的直播课程

l 接下来,评估条件。如果为真,则执行循环体。如果为false,则循环体不执行,控制流在'for'循环之后跳转到下一个语句。

l 在执行'for'循环的主体之后,控制流会跳回到增量语句。此语句允许您更新任何循环控制变量。只要在条件之后出现分号,此语句就可以留空。

l 现在再次评估该条件。如果为真,则循环执行并且过程自身重复(循环体,然后递增步骤,然后再次调节)。条件变为false后,'for'循环终止。

#include

int main {

int a;

/* for loop execution */

for( a = 10; a

{

printf("value of a: %d ", a);

}

return 0;

}

C编程语言中do ... while循环的语法是 -

do {

statement(s);

} while( condition );

请注意,条件表达式出现在循环的末尾,因此循环中的语句在测试条件之前执行一次。

如果条件为真,则控制流跳回来执行,循环中的语句再次执行。重复此过程直到给定条件变为假。

#include

int main {

/*localvariable definition */

int a = 10;

/* do loop execution */

do {

printf("value of a: %d ", a);

a = a + 1;

}while( a

return 0;

}

循环控制语句

循环控制语句将执行从其正常序列更改。当执行离开作用域时,将销毁在该作用域中创建的所有自动对象。

C支持以下控制语句(自行学习,不做展示)

1. break;

2. continue

3. goto

无限循环

如果条件永远不会变为假,则循环变为无限循环。该用于循环传统上用于此目的。由于不需要构成'for'循环的三个表达式,因此可以通过将条件表达式留空来创建无限循环。

#include

int main {

for( ; ; ) {

printf("This loop will run forever. ");

}

return 0;}

当条件表达式不存在时,假定为真。您可能有一个初始化和增量表达式,但C程序员更常使用for(;;)构造来表示无限循环。(其他死循环不做讲解,自行补充)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180807A18TMD00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券