C语言10🔥:for 循环

简介: C语言10🔥:for 循环

一、for 循环的基本结构

for(初始动作;判断循环是否继续的条件;循环每轮都要做的事)


{


  语句……


}

上面这个也可以简化成:

for (初始化;条件;每轮的动作)


{


  语句……


}

二、for 循环的概念

for = 对于

我们可以把 for 的意思看成是 :对于

我们先来看看以下代码:

例如:
for(count = 10; count > 0; count--)
{
  printf("%d",count);
}
for(初始动作;条件;每轮的动作)
{
    ……
}

for(count = 10; count > 0; count--)

可以解读成:对于,一开始的count = 10,当count > 0的时候,重复做循环体的内容,每一轮循环在做完循环体内语句后,使得count--

for 循环的执行流程:

也就是说 for 循环:像是一个计数循环:设定一个计数器(如count),初始化它(如count=10),然后在计数器到达某值之前(count>0),重复执行循环体,而每执行一轮循环,计数器值以一定的步进 来进行调整,比如加一或者减一。因为 for 也是循环,所以在用 for 时,我们需要考虑好如何让条件不满足。否则程序就会一直循环下去。

三、for 循环 与 while循环

for 中的每一个条件都是可以省略的,for(;条件;) == while(条件)

3.1 for 循环 与 while循环的关系

请看下面代码:

for( int i = 1;i <= n;i++ )
{
    fact *= i;   
}
-------------------------------------------
int i = 1;
while(i <= n)
{
    fact *=i;
    i++;
}

上面这两部分的代码,表达的意思和程序执行的结果都是相同的。只是用代码表示的不同而已(一个程序可以用多种方法来实现,就像写数学解答题一样,有多种解题思路与方法,我们要多去尝试,从中选出最高效的那种方法就行。并没有什么是绝对的标准与答案)

也就是说 for 循环:for(;条件;) == while(条件)

3.2 循环次数

for( i = 0; i < n; i++)

这样循环的次数是n,而循环次数结束以后,i 的值是n。

循环的控制变量 i,是选择从0开始还是从1开始,是判断 i<n还是判断i <=n,对循环次数,循环结束后变量的值都是有影响的

3.3 for 循环与 while 与 do while

什么时候用 for 循环 ?什么时候用while ?什么时候用 do while?

学了这么多的循环,想必大家一定有这个疑问吧

接下来是重点哦,拿起你的笔还有你的小本本,记好咯

敲黑板啦(咚!咚!咚!)

  • 如果有固定次数,就用 for
  • 如果必须执行一次,就用 do while
  • 其他情况都可以用 while

3.4 一点C语言的小套路

做求和的程序时,记录结果的变量应该初始化为0,而做求积的变量时,记录结果的变量应该初始化为1

如果循环控制变量 i 只在循环里被使用了,在循环外面它没有任何用处。那么,我们可以把变量 i 的定义写到for语句里面去

四、for 循环的基本用法

光说不练是肯定学不会的接下来让我们在实战中来学习与掌握 for 循环

(一定要动动你们的小手一起敲哦,就算是看懂了也要自己实践一下哦。编程就是在实践中学习,用的多了自然也就会了。)

4.1 计算阶乘

要求:写出一个程序,让用户输入n,然后计算输出n!

思路:显然读用户的输入需要一个int的 变量n ,然后计算的结果需要用一个变量保存,也可以是int的 fact,在计算中需要有一个变量不断地从1递增到n,那可以是int的 i

代码示例:

#include <stdio.h>
int main()
{
  int n;
  
  printf("请输入要计算的数:");
  //用n来保存用户输入的数
  scanf("%d",&n);
  
  printf("\n");
  
  //计算的结果用fact来保存
  int fact = 1;
  
    //计算阶乘
  int i = 1;
  for( i = 1;i <= n; i++)
  {
      fact *= i;
  }
  
  printf("%d!=%d\n",n,fact);  
}

运行结果:

* 编辑*

4.2 判断输入的数是否是素数

素数:只能被1和自身整除的数,不包括1


要求:判断输入的数是否是素数

代码示例:

#include <stdio.h>
int main()
{
    //输入一个数x
  int x;
  printf("请输入一个数:");
  scanf("%d",&x);
  printf("\n"); 
  
  int i;
  int isprime=1;    // 先让x是素数
    // 判断输入的是不是素数
    //素数是除了1只能被1和自身整除的数,所以从程序2开始
  for (i=2;i<x;i++)
    {
    if (x%i==0)
        {
      isprime=0;
      break;
    }
  }
  
  if (isprime==1)
    {
    printf("%d是素数\n",x);
  }else 
    {
    printf("%d不是素数\n",x);
  }
  return 0;
}

运行结果:

* 编辑*

4.3 输出100以内的素数

要求:如何让程序输出100以内的素数呢?

(一定要自己先动脑筋想一想哦,我的只是其中一个方法,或许你想到的方法会比我方法的更高效,代码量比我用的更少哦。有更好的方法欢迎大家积极在评论区投稿或者私信我哦)


代码示例:

#include <stdio.h>
int main()
{
    //定义一个变量x,让x保存我们输入的值
    int x;
    //我们需要有一个循环,从 1 到 100 
    //素数是除了1只能被1和自身整除的数,所以从程序2开始
    for(x=2; x<=100; x++)
    {
      int i;
      int isPrime = 1;     // x是素数
        
        //判断输入的数是不是素数
      for ( i=2; i<x; i++ )
        {
          if ( x % i == 0 )
            {
              isPrime = 0;
              break;
          }
      }
      //当它是素数的时候就输出出来,不是素数就不要输出任何东西
      if ( isPrime == 1 )
        {
          printf("%d ", x);
      }
    }
    return 0;
}

运行结果:

* 编辑*

小结:

  1. for = 对于
  2. for (初始化;条件;每轮的动作)
    {
       语句……
    }
  3. for中的每一个条件都是可以省略的,for(;条件;) == while(条件)
  • 如果有固定次数,就用 for
  • 如果必须执行一次,就用 do while
  • 其他情况都可以用 while


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