广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言中for循环与while循环怎么使用
  • 827
分享到

C语言中for循环与while循环怎么使用

2023-07-02 15:07:33 827人浏览 独家记忆
摘要

本文小编为大家详细介绍“C语言中for循环与while循环怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言中for循环与while循环怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、单层f

本文小编为大家详细介绍“C语言中for循环与while循环怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言中for循环与while循环怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

一、单层for循环

引例:C语言实现求1到10的和(用for循环实现)

#include <stdio.h>int main(){int i, sum = 0;for (i = 1; i <= 10; i++)sum = sum + i;printf("sum = %d\n", sum);return 0;}

单层for循环执行的顺序:

C语言中for循环与while循环怎么使用

第一次循环先执行语句①,执行完语句①执行语句②,如果语句②成立则执行语句④,执行完语句④执行语句③,执行完语句③标志着第一次循环结束;第二次循环先执行语句②,如果语句②成立则执行语句④,执行完语句④执行语句③,执行完语句③标志着第二次循环执行结束,随后循环中语句的执行顺序与第二次循环一致。如果在循环过程中语句②不成立,则整个循环就结束了。直到整个循环结束后才会执行语句⑤,因为,for语句与if语句所能控制的范围相同,只能控制其接下来的第一条语句,言下之意是,语句⑤并不在for循环的内部。需要注意的是,语句①仅在第一次循环中执行,在其它循环过程中不执行。换句话说,语句①只会在整个循环过程中执行一次。语句①的作用其实是给变量进行初始化,所以它仅参与了第一次循环。还有值得注意的是,初学时容易在for (①; ②; ③)后加分号,这个情况我已经在《C语言if语句中常见的问题》这篇文章中的空语句问题中详细叙述了其中的道理,并且在for语句中依然适用,有兴趣的话可以一看。

练习

C语言实现求1到10中奇数的和

#include <stdio.h>int main(){int i, sum = 0;for (i = 1; i <= 10; i = i +2)sum = sum + i;printf("sum = %d\n", sum);return 0;}

C语言实现求1+1/2+1/3+&hellip;+1/99+1/100

初学时的错误代码:

#include <stdio.h>int main(){int i;float sum = 0; // 考虑到和是小数,所以定义sum为float类型for (i = 1; i <= 100; i++)sum = sum + 1/i;printf("sum = %f\n", sum); // float类型的变量用%f输出return 0;}

错误原因:没有考虑到1/i的数据类型。在C语言中,整型除以整型得到的结果只有整数位。例如,16/3 = 5。上述程序中i是整型变量,所以1/i也是整型,故从i大于等于2时,1/i的值永远为0。

因此需要将1/i的值想办法变为浮点数才可以实现想要的功能。C语言规定,只要被除数与除数其中的一个为浮点数,则商为浮点数。故解决的办法有两种,第一种是将1/i写为1.0/i,第二种是将整型变量i强制类型转化为float类型,正确的代码如下:

#include <stdio.h>int main(){int i;float sum = 0;for (i = 1; i <= 100; i++)sum = sum + 1.0/i;// 或 sum = sum + 1/(float)(i);printf("sum = %f\n", sum);return 0;}

思考1:如果将上述代码中的sum = sum + 1/(float)(i);改为sum = sum + (float)(1/i);后能否正确输出sum的值?

思考2:能否将i直接定义为浮点型变量?

答案是不能,因为浮点型数据是以IEEE754标准来存储的,但IEEE754标准无法确保精确存储每一个浮点数,例如,6.234在存储过程中很可能存的不是6.234而是6.23399999,这是IEEE754标准的缺陷。所以即便在该程序中将i定义为浮点型变量后输出的结果是正确的,也不能确保在其他程序中依然正确,因为i不一定是准确的数字。需要注意的是,我们一般不会把循环中不断发生更新的变量定义为浮点型变量,因为浮点型数据存储过程属于非精确存储。

二、for循环与if选择的嵌套

引例:C语言实现求1到100之间所有可以被3整除的数字之和

#include <stdio.h>int main(){int i, sum = 0;for (i = 1; i <= 100; i++){if (i % 3 == 0)sum = sum + i;}printf("sum = %d\n", sum);return 0;}

思考:下面的程序输出结果是什么?

#include <stdio.h>int main(){int i, sum = 0;for (i = 1; i <= 12; i++){if (i % 3 == 0)sum = sum + i;printf("sum = %d\n", sum);}return 0;}

练习(以下题目均要求使用for循环和if选择的嵌套来完成)

编写C语言程序求1到100之间的奇数之和

#include <stdio.h>int main(){int i;int sum = 0;for (i = 1; i <= 100; i++){if (i % 2 == 1)sum += i;}printf("奇数之和为%d\n", sum);return 0;}

编写C语言程序求1到100之间的奇数的个数

#include <stdio.h>int main(){int i;int count = 0;for (i = 1; i <= 100; i++){if (i % 2 == 1)count++;}printf("个数为%d\n", count);return 0;}

编写C语言程序求1到100之间的奇数的平均值

#include <stdio.h>int main(){int i;int count = 0;int sum = 0;float average; // 考虑到平均值可能带有小数位,所以将平均值定义为float类型for (i = 1; i <= 100; i++){if (i % 2 == 1){count++;sum += i;}}average = 1.0 * sum / count; //也可以运用强制类型转换写成average = (float)(sum)/count;printf("平均数为%f\n", average);return 0;}

编写C语言程序求1到100之间的奇数之和与1到100之间的偶数之和

#include <stdio.h>int main(){int i;int sum1 = 0; // 奇数和int sum2 = 0; // 偶数和for (i = 1; i <= 100; i++){if (i % 2 == 1)sum1 += i;elsesum2 += i;}printf("奇数之和为%d,偶数之和为%d\n", sum1, sum2);return 0;}

三、多层for循环的嵌套

多层for循环执行的顺序:

C语言中for循环与while循环怎么使用

第一次循环先执行语句①,执行完语句①执行语句②,如果语句②成立则跳入内部循环执行语句④,执行完语句④执行语句⑤,如果语句⑤成立则执行语句⑦,执行完语句⑦执行语句⑥,执行完语句⑥执行语句⑤,如果如果语句⑤不成立,则标志着内部循环执行完毕,接下来跳出内部循环执行语句③,执行完语句③标志着第一次整个循环结束;第二次循环先执行语句②,如果语句②成立,则再次跳入内部循环执行语句④,以此类推;如果语句②不成立,整个循环就结束了。由于⑧不属于任何一个for循环内部的语句,所以要在整个循环执行完毕后才会执行语句⑧。

换个方式:

C语言中for循环与while循环怎么使用

因为for语句与if语句所能控制的范围相同,只能控制其接下来的第一条语句,所以语句⑦属于内部for循环,而语句⑦与内部的for循环语句构成的语句整体是一个语句,也就是上图中的绿色方框部分,这个整体语句又是外层for循环内部的第一个语句,所以,外层for循环所控制的语句就是绿色方框部分,而外层for循环完整的结构就是上图中的橙色方框部分。所以按照for循环的大体执行顺序,首先会执行语句①,执行完语句①执行语句②,如果语句②成立则会执行绿色方框部分,绿色方框部分是单层for循环,所以执行过程按照单层for循环的执行循序执行,当内部的绿色方框部分执行完毕后,则会执行语句③,语句③执行完标志着整体一次循环结束,下一次循环又从判断语句②是否成立开始,如果成立,则执行绿色方框部分;如果不成立,则整个循环结束。整个循环结束后才会执行语句⑧,因为语句⑧并不属于这两层for循环中的任何一层。

思考1:下面的for循环的执行顺序是什么样的?

C语言中for循环与while循环怎么使用

思考2:下面的for循环的执行顺序是什么样的?

C语言中for循环与while循环怎么使用

思考3:下面的for循环的执行顺序是什么样的?

C语言中for循环与while循环怎么使用

思考4:下面的程序输出结果是什么?

#include <stdio.h>int main(){int i, j;for (i = 0; i <3; i++)for (j = 2; j < 5; j++)printf("AAAA\n");printf("BBBB\n");return 0;}

思考5:下面的程序输出结果是什么?

#include <stdio.h>int main(){int i, j;for (i = 0; i <3; i++)printf("AAAA\n");for (j = 2; j < 5; j++)printf("BBBB\n");printf("CCCC\n");return 0;}

思考6:下面的程序输出结果是什么?

#include <stdio.h>int main(){int i, j;for (i = 0; i <3; i++){printf("AAAA\n");for (j = 2; j < 5; j++)printf("BBBB\n");printf("CCCC\n");}return 0;}

四、while循环

引例:C语言实现求1到10的和(用while循环实现)

#include <stdio.h>int main(){int i, sum = 0;i = 1;while (i <= 10){sum += i;i++;}printf("sum = %d\n", sum);return 0;}

对比:C语言实现求1到10的和(用for循环实现)

#include <stdio.h>int main(){int i, sum = 0;for (i = 1; i <= 10; i++)sum = sum + i;printf("sum = %d\n", sum);return 0;}

while循环与for循环的相互转换:

从上述两个程序可知,while循环和for循环可以进行互相转换,言下之意是,所有能用for循环实现的功能,就可以用while循环实现,反之同理。但是,while循环和for循环在写法上有一定的差别。

C语言中for循环与while循环怎么使用

读到这里,这篇“C语言中for循环与while循环怎么使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网其他教程频道。

--结束END--

本文标题: C语言中for循环与while循环怎么使用

本文链接: https://www.lsjlt.com/news/342989.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言中for循环与while循环怎么使用
    本文小编为大家详细介绍“C语言中for循环与while循环怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言中for循环与while循环怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、单层f...
    99+
    2023-07-02
  • 详解C语言中for循环与while循环的用法
    目录一、单层for循环二、for循环与if选择的嵌套三、多层for循环的嵌套四、while循环五、总结一、单层for循环 引例:C语言实现求1到10的和(用for循环实现) #inc...
    99+
    2022-11-13
  • C语言while循环语句怎么使用
    while循环语句在C语言中的使用方式如下:1. 基本语法:```while (条件表达式) {循环体语句;}```其中,条件表达式...
    99+
    2023-08-18
    C语言 while
  • C语言 while for do while循环体详解用法
    while循环 表达式: while(表达式) { 循环语句; } while 语句执行流程图: 例子: 打印1-10的数字 #include <stdio.h>...
    99+
    2022-11-12
  • C语言for循环嵌套for循环方法怎么应用
    这篇文章主要介绍“C语言for循环嵌套for循环方法怎么应用”,在日常操作中,相信很多人在C语言for循环嵌套for循环方法怎么应用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言for循环嵌套for循环...
    99+
    2023-06-30
  • C语言的for循环怎么使用
    本篇内容主要讲解“C语言的for循环怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言的for循环怎么使用”吧!1、循环语句for的语法for (表达式1;表达式2;表达式3)&nbs...
    99+
    2023-07-02
  • c语言for、while和do-while循环之间的区别
    for,while,do-while区别 循环结构 1、初始化变量:for循环当中定义的初始化变量,只有自己才能用;while和do-while循环,初始化变量本来就在外面,所以外...
    99+
    2022-11-12
  • C语言的​do while循环怎么应用
    本篇内容介绍了“C语言的do while循环怎么应用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!do while循环(1).do whil...
    99+
    2023-07-04
  • while和for循环怎么使用
    本篇内容介绍了“while和for循环怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、概述Python中的循环语句有 for 和 ...
    99+
    2023-06-04
  • Shell脚本中for循环、while循环及case分支语句怎么用
    本篇内容主要讲解“Shell脚本中for循环、while循环及case分支语句怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Shell脚本中for循环、while循环及case分支语句怎么...
    99+
    2023-06-28
  • 【Python】列表 List ⑦ ( 列表遍历 | 使用 while 循环遍历列表 | 使用 for 循环遍历列表 | while 循环 与 for 循环对比 )
    文章目录 一、使用 while 循环遍历列表1、while 循环遍历列表2、代码示例 - 使用 while 循环遍历列表 二、使用 for 循环遍历列表1、for 循环遍历列表2、for ...
    99+
    2023-10-25
    python list 列表 数据容器 PyCharm 原力计划
  • C语言的​for循环如何使用
    这篇“C语言的for循环如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言的for循环如何使用”文章吧。for循环...
    99+
    2023-07-04
  • C语言中选择与循环怎么用
    这篇文章主要介绍C语言中选择与循环怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.选择语句(if)我们先不讲switch,后面会补充。先来对简单地if进行了解。我们已经知道,计算机的本质是为了服务于人,我们在...
    99+
    2023-06-25
  • c语言for、while和do-while循环之间的区别有哪些
    这篇文章主要介绍c语言for、while和do-while循环之间的区别有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!for,while,do-while区别循环结构初始化变量:for循环当中定义的初始化变量,...
    99+
    2023-06-26
  • Go语言中for循环语句怎么用
    这篇文章主要介绍了Go语言中for循环语句怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。概述for循环是一个循环控制结构,可以执行指定次数的循环语法第一种for&nbs...
    99+
    2023-06-25
  • C语言for循环嵌套for循环在实践题目中应用详解
    目录做题前先学招第一题第二题第三题第四题第五题第六题做题前先学招 for循环嵌套个for循环,就是以下类型 for(...)——>" for(...
    99+
    2022-11-13
  • C语言中如何实现for循环
    这篇文章主要介绍“C语言中如何实现for循环”,在日常操作中,相信很多人在C语言中如何实现for循环问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言中如何实现for循环”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-17
  • while循环怎么使用
    本篇内容主要讲解“while循环怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“while循环怎么使用”吧!while(循环终止条件){    }案例&nbs...
    99+
    2023-06-04
  • c语言怎么用for循环给数组赋值
    在C语言中,可以使用for循环给数组赋值。以下是一个示例:```c#include #define SIZE 5int main()...
    99+
    2023-09-04
    c语言
  • 怎么在python中使用while循环语句
    这期内容当中小编将会给大家带来有关怎么在python中使用while循环语句,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作