关于C语言的for循环

简介: 关于C语言的for循环

1.for循环的使用方法


for(  初始化 ;判断   ;调整  )


step1:初始化  进行变量的初始化。在for循环的第一个分号前面,对变量赋初值


step2:  判断   判断是否符合循环执行的条件


step3:  执行   执行循环体里的语句


step4:  调整   对变量的值进行调整


如果判断部分省略了,就表示判断部分恒为真


建议:一般不要轻易省略判断部分,防止出现死循环;不要轻易在for循环里修改循环变量;建议使用"前闭后开"区间来控制循环变量,可以直接看出来循环次数。例如下面的代码


int i = 0;

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

{

}

可以轻易地看出循环次数等于(10-0)=10次


2.循环的终止及'继续’


break在循环里面使用后直接可以跳出当前循环


continue在for循环里使用,可以直接跳过continue后面的代码,直接跳到调整部分.


3.for循环的经典代码


(1)计算 1!+2!+3!+4!+......


这个题目的思路是先设计出计算一个数阶乘的算法,在用循控制多个每次递增一的数执行前面的算法,最后再相加求和即可

#include<stdio.h>
int main()
{
  int n = 0;
  scanf("%d", &n);
  int i = 0, j = 0;
  int ret = 1;//用于记录每次算出的阶乘值
  int sum = 0;
  for (i = 1; i <= n; i++)//阶乘应该从 1 开始算,并且控制要计算的阶乘和的个数
  {
    ret = 1;
    for (j = 1; j <= i; j++)
    {
      ret *= j;
    }
    sum += ret;
  }
  printf("%d", sum);
  return 0;
}

这段代码符合大部分人的设想,但是每次都要将阶乘重新计算,稍微有点麻烦。也许还有更简单的方法,看下面这个代码的思想

#include<stdio.h>
int main()
{
  int n = 0;
  scanf("%d", &n);
  int i = 0;
  int ret = 1;//用于记录每次算出的阶乘值
  int sum = 0;
  for (i = 1; i <= n; i++)//阶乘应该从 1 开始算,并且控制要计算的阶乘和的个数
  {
    ret *= i;//依次计算 1  2  3.......的阶乘
    sum += ret;//每计算出一个阶乘都能直接加起来,不浪费
  }
  printf("%d", sum);
  return 0;
}

每次计算出的阶乘值都不浪费,直接加起来,效率快了很多

(2)编写代码,演示多个字符从两端移动,向中间汇聚

这个代码看起来是比较科幻的一个代码,能让写代码的程序员感受到程序的美

比如我是C罗粉丝,我先看到C罗的英文名从中间向两边移动,可以写出如下代码

int main()
{
  char str1[] = "Cristiano Ronaldo";
  char str2[] = "*****************";//刚开始用户看到的画面
  //如果要实现从两边向中间移动,就需要将str1中的字符一个个替换str2中的字符,就要使用到for循环
  int i = 0;
  int sz = strlen(str2) - 1;
  printf("%s\n", str1);
  for (i = 0; i <= sz / 2; i++)
  {
    str2[i] = str1[i];
    str2[sz - i] = str1[sz - i];
    printf("%s\n", str2);
  }
  return 0; 
}

效果是这样的,虽然演示出了从两边向中间,但是没有感受到‘动态的感觉’,我们可以使用库函数Sleep 函数和系统命令system函数一起作用来控制这个输出


Sleep函数可以让程序休眠一会(以毫秒为单位)Sleep(1000);表示程序休息一秒钟,由此实现出“停顿的感觉”,而system函数是执行系统命令。system(''cls'');表示清空屏幕上的内容,两个结合起来可以达到‘动态的效果’

#include<windows.h>
int main()
{
  char str1[] = "Cristiano Ronaldo";
  char str2[] = "*****************";//刚开始用户看到的画面
  //如果要实现从两边向中间移动,就需要将str1中的字符一个个替换str2中的字符,就要使用到for循环
  int i = 0;
  int sz = strlen(str2) - 1;
  for (i = 0; i <= sz / 2; i++)
  {
    str2[i] = str1[i];
    str2[sz - i] = str1[sz - i];
    printf("%s\n", str2);
    Sleep(1000);
    system("cls");
  }
  printf("%s\n",str1);
  return 0;
}

动态的效果不好在这里示范,大家可以自己复制代码,将C罗改成自己想要的任何字符进行测试。每次走心的学习,都能让我们获得成长,成长虽然渺小,但是积累起来的效果就很大了,加油!

相关文章
|
3月前
|
C语言
初识C语言2——分支语句和循环语句
初识C语言2——分支语句和循环语句
81 5
|
6月前
|
C语言
【C语言】循环语句
C语言中循环语句的相关知识点
57 2
【C语言】循环语句
|
4月前
|
安全 C语言
C语言循环的使用注意点
在C语言中,合理使用循环对于编写高效、安全的代码至关重要。以下是几点建议:确保循环条件正确以避免无限循环;每次迭代时正确更新循环变量;恰当使用`break`和`continue`控制执行流程;注意嵌套循环中的变量作用域;简化循环体内逻辑;根据需求选择合适的循环类型;注意数据类型以避免溢出;保持良好的缩进和注释习惯;减少重复计算以提升性能;确保循环终止条件明确。遵循这些建议,可以提高代码质量和可维护性。
250 88
|
3月前
|
C语言
【c语言】循环语句
循环结构是C语言中用于简化重复操作的重要工具,主要包括while循环、do-while循环和for循环。while循环是最基本的形式,通过不断检查条件来决定是否继续执行循环体。do-while循环则先执行循环体,再检查条件,至少执行一次。for循环逻辑更复杂,但使用频率最高,适合初始化、条件判断和更新变量的集中管理。此外,循环中还可以使用break和continue语句来控制循环的提前终止或跳过当前迭代。最后,循环可以嵌套使用,解决更复杂的问题,如查找特定范围内的素数。
56 6
|
3月前
|
Serverless C语言
C语言控制语句:分支、循环和转向
C语言控制语句:分支、循环和转向
|
3月前
|
算法 编译器 C语言
【C语言】实现猜数字游戏(分支语句与循环语句的运用)
【C语言】实现猜数字游戏(分支语句与循环语句的运用)
|
3月前
|
C语言
教你快速理解学习C语言的循环与分支
教你快速理解学习C语言的循环与分支
21 0
|
4月前
|
C语言
【C语言基础考研向】08判断语句与循环语句
本文介绍了C语言中的关键编程概念:首先解析了关系表达式与逻辑表达式的优先级及计算过程;接着详细说明了`if-else`语句的使用方法及其多分支和嵌套应用;然后讲解了`while`循环与`for`循环的语法和注意事项;最后介绍了`continue`和`break`语句在控制循环中的作用和示例代码。
|
3月前
|
小程序 C语言
初识C语言:走近循环
初识C语言:走近循环
|
3月前
|
编译器 C语言 C++
【C语言】循环语句(语句使用建议)
【C语言】循环语句(语句使用建议)
103 0