C语言语句(2)--循环语句

简介: C语言语句(2)--循环语句

C语言语句的第二个版块——循环语句来了,友友们让我们一起来学习。

三 循环语句

循环语句包括while循环、for循环、 do-while循环。其中do-while循环用的最少。

3.1 while循环

while循环的语法:

代码展示:打印1-10

1. #include <stdio.h>
2. int main()
3. {
4.  int i = 1;
5.  while (i <= 10)
6.  {
7.    printf("%d ", i);
8.    i++;
9.  }
10.   return 0;
11. }

while循环步骤:

 判断i=1是否<=10,成立后进入while循环,打印i,i再加1赋值为2,此时i=2,判断i=2是否<=10,成立后进入while循环……直到i=11时,判断i是否<=10,不成立,出while循环,return 0,结束

3.1.1 while循环中的break和continue

break 介绍

代码展示:

1. #include <stdio.h>
2. int main()
3. {
4.  int i = 0;
5.  while (i <= 10)
6.  {
7.    i++;
8.    if (i == 5)
9.      break;
10.     printf("%d ", i);
11.   }
12.   return 0;
13. }

这个代码只能打印出1-4,当i=5的时候,进入break,break的作用是,终止循环。

总结:

break在while循环中的作用是:

 只要循环中遇到break,就停止后期的所有循环,直接终止循环。所以while中的循环用于永久终止循环。

continue介绍

代码展示:

1. #include <stdio.h>
2. int main()
3. {
4.  int i = 0;
5.  while (i < 10)
6.  {
7.    i++;
8.    if (i == 5)
9.      continue;
10.     printf("%d ", i);
11.   }
12.   return 0;
13. }

这个代码可以打印1-4 6-10,i=5的时候,进入continue,continue的作用是中止本次循环,进入下一个while循环。

总结:

while循环中continue的作用是:

 continue用于终止本次循环,也就是本次循环中continue后的代码不会执行,而是直接跳到while语句判断部分,进行下一次循环的入口判断。

小贴士

(1)getchar和putchar是针对字符的scanf和printf。int ch = getchar();putchar(ch)    相当于scanf("%s",&ch);printf("%s", ch)    结束^z

(2)数组名本来就是地址,用scanf时,不用取地址符号&

3.2 for循环

for循环是我们用的最频繁的一种循环。

3.2.1 语法

for循环语法:

for循环执行过程:表达式1——表达式2——循环语句——表达式3

代码展示:

1. #include <stdio.h>
2. int main()
3. {
4.  int i = 0;
5.  for (i = 1; i <= 10; i++)
6.  {
7.    printf("%d", i);
8.  }
9.  return 0;
10. }

打印结果:12345678910

代码执行过程:i赋值为0,进入for循环,执行表达式1,i赋值为1,执行表达式2,判断i=1是否小于等于10,成立,进入循环语句,输出1,执行表达式3,i加一赋值为2,进入表达式2,进行判断……直到i赋值为11,判断不成立,出for循环,return 0,结束。

3.2.2 for 循环中的break和continue

break

代码展示:

1. #include <stdio.h>
2. int main()
3. {
4.  int i = 0;
5.  for (i = 1; i <= 10; i++)
6.  {
7.    if (5 == i)
8.      break;
9.    printf("%d ", i);
10.   }

打印结果:1 2 3 4

当代码执行到break时,跳出for循环。

continue

代码展示:

1. #include <stdio.h>
2. int main()
3. {
4.  int i = 1;
5.  for (i = 1; i <= 10; i++)
6.  {
7.    if (5 == i)
8.      continue;
9.    printf("%d ", i);
10.   }
11.   return 0;
12. }

打印结果:1 2 3 4 6 7 8 9 10

当i=5时,continue,跳过循环部分剩下的代码,也就是printf("%d ", i),去执行表达式3,i++,让i赋值为6,然后去执行剩下的操作。

3.2.3 for语句的循环控制变量

建议for语句的循环控制变量的取值采用“前闭后开区间”写法。

代码展示:

1. #include <stdio.h>
2. int main()
3. {
4.  int i = 0;
5.  for (i = 0; i < 10; i++)
6.  {
7.    printf("hehe\n");
8.  }
9.  return 0;
10. }

运行结果:

这个代码中的10,具有一定的意义。10个hehe。

3.2.4 一些for循环的变种

代码1展示:

1. #include <stdio.h>
2. int main()
3. {
4.  for (;;)
5.  {
6.    printf("hehe\n");
7.  }
8.  return 0;
9. }

运行结果:hehe死循环

注意:(1)语句的初始化、判断、调整三个部分都可以省略。当然, 如果条件允许的话,不要省略这三个部分。                                                                                                                                             (2)中间的判断部分如果省略,意味着判断恒为真,就构成死循环了。                               代码2展示:

1. #include <stdio.h>
2. int main()
3. {
4.  int i = 0;
5.  int j = 0;
6.  for (i = 0; i < 3; i++)
7.  {
8.    for (j = 0; j < 3; j++)
9.    {
10.       printf("hehe\n");
11.     }
12.   }
13.   return 0;
14. }

打印结果:九个hehe

代码分析:(1)首先我们先分析第二个for循环,j=0时进入循环打印一个hehe,j=1时又进入一次,j=2时又进入一次,j=3时不小于3,出第二个for循环。则第二个for循环可以打印出3个hehe                                   (2)把第二个for循环看做一个整体W,可以知道第一个for循环,可以打印3次W,那么就是9个hehe.

代码3展示:

1. #include <stdio.h>
2. int main()
3. {
4.  int i = 0;
5.  int j = 0;
6.  for (; i < 3; i++)
7.  {
8.    for (; j < 3; j++)
9.    {
10.       printf("hehe\n");
11.     }
12.   }
13.   return 0;
14. }

运行结果:三个hehe

代码分析:i=0时进入循环,j=0,会打印3个hehe,循环结束后j=3,i=1和i=2进入时,j=3,无法进入第二个循环,所以就打印出三个hehe。

 代码4展示:

1. #include <stdio.h>
2. int main()
3. {
4.  int i = 0;
5.  int j = 0;
6.  for (i = 0, j = 0; j = 0; i++, j++)
7.  {
8.    printf("hehe\n");
9.  }
10.   return 0;
11. }

代码结果:(什么都没有)

代码分析:j=0,为判断语句,0为假,所以for循环不会执行。

3.3 do…while()循环

3.3.1 do while()循环

do ..while()语句语法:

代码展示:

1. #include <stdio.h>
2. int main()
3. {
4.  int i = 1;
5.  do
6.  {
7.    printf("%d ", i);
8.    i++;
9.  } while (i <= 10);
10. }

打印结果:1 2 3 4 5 6 7 8 9 10

代码分析:i=1进入do while循环,先打印1,再i再加一,赋值为2,然后i=2与10比较,成立,继续打印。

do while循环至少执行一次,使用场景有限,不经常使用。

3.3.2 do while中的break和continue

break

代码展示:

1. #include <stdio.h>
2. int main()
3. {
4.  int i = 1;
5.  do
6.  {
7.    if (5 == i)
8.      break;
9.    printf("%d ", i);
10.     i++;
11.   } while (i <= 10);
12.   return 0;
13. }

打印结果:1 2 3 4

continue

代码展示:

1. #include <stdio.h>
2. int main()
3. {
4.  int i = 1;
5.  do
6.  {
7.    if (5 == i)
8.      continue;
9.    printf("%d ", i);
10.     i++;
11.   } while (i <= 10);
12.   return 0;
13. }

打印结果:1 2 3 4 死循环

循环语句就到此结束了,希望友友们可以提出宝贵的的意见。

相关文章
|
4月前
|
C语言
初识C语言2——分支语句和循环语句
初识C语言2——分支语句和循环语句
94 5
|
1月前
|
C语言
【C语言程序设计——循环程序设计】枚举法换硬币(头歌实践教学平台习题)【合集】
本文档介绍了编程任务的详细内容,旨在运用枚举法求解硬币等额 - 循环控制语句(`for`、`while`)及跳转语句(`break`、`continue`)的使用。 - 循环嵌套语句的基本概念和应用,如双重`for`循环、`while`嵌套等。 3. **编程要求**:根据提示在指定区域内补充代码。 4. **测试说明**:平台将对编写的代码进行测试,并给出预期输出结果。 5. **通关代码**:提供完整的代码示例,帮助理解并完成任务。 6. **测试结果**:展示代码运行后的实际输出,验证正确性。 文档结构清晰,逐步引导读者掌握循环结构与嵌套的应用,最终实现硬币兑换的程序设计。
51 19
|
1月前
|
算法 C语言
【C语言程序设计——循环程序设计】求解最大公约数(头歌实践教学平台习题)【合集】
采用欧几里得算法(EuclideanAlgorithm)求解两个正整数的最大公约数。的最大公约数,然后检查最大公约数是否大于1。如果是,就返回1,表示。根据提示,在右侧编辑器Begin--End之间的区域内补充必要的代码。作为新的参数传递进去。这个递归过程会不断进行,直到。有除1以外的公约数;变为0,此时就找到了最大公约数。开始你的任务吧,祝你成功!是否为0,如果是,那么。就是最大公约数,直接返回。
77 18
|
1月前
|
Serverless C语言
【C语言程序设计——循环程序设计】利用循环求数值 x 的平方根(头歌实践教学平台习题)【合集】
根据提示在右侧编辑器Begin--End之间的区域内补充必要的代码,求解出数值x的平方根;运用迭代公式,编写一个循环程序,求解出数值x的平方根。注意:不能直接用平方根公式/函数求解本题!开始你的任务吧,祝你成功!​ 相关知识 求平方根的迭代公式 绝对值函数fabs() 循环语句 一、求平方根的迭代公式 1.原理 在C语言中,求一个数的平方根可以使用牛顿迭代法。对于方程(为要求平方根的数),设是的第n次近似值,牛顿迭代公式为。 其基本思想是从一个初始近似值开始,通过不断迭代这个公式,使得越来越接近。
57 18
|
1月前
|
C语言
【C语言程序设计——循环程序设计】统计海军鸣放礼炮声数量(头歌实践教学平台习题)【合集】
有A、B、C三艘军舰同时开始鸣放礼炮各21响。已知A舰每隔5秒1次,B舰每隔6秒放1次,C舰每隔7秒放1次。编程计算观众总共听到几次礼炮声。根据提示,在右侧编辑器Begin--End之间的区域内补充必要的代码。开始你的任务吧,祝你成功!
52 13
|
1月前
|
存储 C语言
【C语言程序设计——循环程序设计】利用数列的累加和求 sinx(头歌实践教学平台习题)【合集】
项的累加和,一般会使用循环结构,在每次循环中计算出当前项的值(可能基于通项公式或者递推关系),然后累加到一个用于存储累加和的变量中。在C语言中推导数列中的某一项,通常需要依据数列给定的通项公式或者前后项之间的递推关系来实现。例如,对于一个简单的等差数列,其通项公式为。的级数,其每一项之间存在特定的递推关系(后项的分子是其前项的分子乘上。,计算sinx的值,直到最后一项的绝对值小于。为项数),就可以通过代码来计算出指定项的值。对于更复杂的数列,像题目中涉及的用于近似计算。开始你的任务吧,祝你成功!
43 6
|
1月前
|
C语言
【C语言程序设计——循环程序设计】鸡兔同笼问题(头歌实践教学平台习题)【合集】
本教程介绍了循环控制和跳转语句的使用,包括 `for`、`while` 和 `do-while` 循环,以及 `break` 和 `continue` 语句。通过示例代码详细讲解了这些语句的应用场景,并展示了如何使用循环嵌套解决复杂问题,如计算最大公因数和模拟游戏关卡选择。最后,通过鸡兔同笼问题演示了穷举法编程的实际应用。文中还提供了编程要求、测试说明及通关代码,帮助读者掌握相关知识并完成任务。 任务描述:根据给定条件,编写程序计算鸡和兔的数量。鸡有1个头2只脚,兔子有1个头4只脚。
56 5
|
7月前
|
C语言
【C语言】循环语句
C语言中循环语句的相关知识点
64 2
【C语言】循环语句
|
5月前
|
安全 C语言
C语言循环的使用注意点
在C语言中,合理使用循环对于编写高效、安全的代码至关重要。以下是几点建议:确保循环条件正确以避免无限循环;每次迭代时正确更新循环变量;恰当使用`break`和`continue`控制执行流程;注意嵌套循环中的变量作用域;简化循环体内逻辑;根据需求选择合适的循环类型;注意数据类型以避免溢出;保持良好的缩进和注释习惯;减少重复计算以提升性能;确保循环终止条件明确。遵循这些建议,可以提高代码质量和可维护性。
276 88
|
4月前
|
C语言
【c语言】循环语句
循环结构是C语言中用于简化重复操作的重要工具,主要包括while循环、do-while循环和for循环。while循环是最基本的形式,通过不断检查条件来决定是否继续执行循环体。do-while循环则先执行循环体,再检查条件,至少执行一次。for循环逻辑更复杂,但使用频率最高,适合初始化、条件判断和更新变量的集中管理。此外,循环中还可以使用break和continue语句来控制循环的提前终止或跳过当前迭代。最后,循环可以嵌套使用,解决更复杂的问题,如查找特定范围内的素数。
69 6