热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C语言之循环语句详细介绍

大家好,本篇文章主要讲的是C语言之循环语句详细介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览

前言

C语言中的循环结构是程序中的一个基本结构。

循环结构可以使我们写很少的语句,让计算机反复执行某一过程。

C语言提供了while语句,do......while语句和for语句,可以组成各种不同形式的循环结构。

while语句

while语句又称当型循环控制语句

while(表达式) 语句

表达式式循环条件 ,语句是循环体

当表达式的值为真(非0)时,执行循环体语句,否则终止循环。其特点是先判断,再执行。

例如:计算1+2+3+...+100的值

#include
int main()
{
    int i,m;
    i=1;
    m=0;
    while(i<=100)
    {
        m=m+i;
        i++;
    }
    printf("%d",m);
}

表达式为i<=100,判断结果为真(非0),则执行循环 m=m+i;i++;

上述while语句便能轻松实现多次加法运算。

do...while语句

do

语句;

while(表达式);

其中语句是循环体,表达式是循环条件

先执行循环体语句一次,在判断表达式的值,当表达式的值为真(非0),继续循环,否则终止循环。特点先执行,再判断。

例如:计算1+2+3+...+100的值

#include
int main()
{
    int i,m;
    i=1;
    do
    {
        m=m+1;
        i++;
    }while(i<=100);
    printf("%d",m);
}

do...while语句同样可以简化运算。

for语句

for语句相比前面两个语句更加使用广泛,功能更加强大。

for(表达式1;表达式2;表达式3)

语句;

表达式1一般是赋值表达式。

表达式2是循环条件。

表达式3是赋值语句。

先执行表达式1,再执行表达式2,若为真(非0),执行循环体,否则终止循环,再执行表达式3,转回表达式2重复执行。

例如:计算1+2+3+...+100的值

#include
int main()
{
    int i,m=0;
    for(i=0;i<=100;i++)
    {
        m=m+i;
    }
    printf("%d",m);
}

相比其他,两种语言,for语言的简练,功能强大让它广为使用。

三种语言都有它们的优缺点,在使用前要思考清楚采用哪种循环语言,尤其是在使用多重循环语言时,或者使用镶嵌结构时,设定好它们各自的循环条件,否则可能出现死循环等异常情况。

结语

到此这篇关于C语言之循环语句详细介绍的文章就介绍到这了,更多相关C语言循环语句内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!


推荐阅读
  • ED Tree HDU4812 点分治+逆元
    这道题非常巧妙!!!我们进行点分治的时候,算出当前子节点的所有子树中的节点,到当前节点节点的儿子节点的距离,如下图意思就是当前节点的红色节点,我们要求出红色节点的儿子节点绿色节点, ... [详细]
  • 本文档旨在提供C语言的基础知识概述,涵盖常量、变量、数据类型、控制结构及函数定义等内容。特别强调了常量的不同类型及其在程序中的应用,以及如何正确声明和使用函数。 ... [详细]
  • 本文将深入探讨C语言中的位操作符——按位与(&)、按位或(|)和按位异或(^),通过具体示例解释这些操作符如何在位级别上对数据进行操作。 ... [详细]
  • 题面:P3178[HAOI2015]树上操作好像其他人都嫌这道题太容易了懒得讲,好吧那我讲。题解:第一个操作和第二个操作本质上是一样的&# ... [详细]
  • HDU 2537 键盘输入处理
    题目描述了一个名叫Pirates的男孩想要开发一款键盘输入软件,遇到了大小写字母判断的问题。本文提供了该问题的解决方案及实现方法。 ... [详细]
  • Day4今天继续复习搞基础课,加油!树形DP每一个节点都分为选和不选两种状态,选为f[i,1],不选为f[i,0]&# ... [详细]
  • 本文介绍了一种使用链剖分(Link-Cut Tree, LCT)来维护动态树结构的方法,特别是如何通过 LCT 来高效地管理子树的信息,如子树大小等。 ... [详细]
  • UVa 11683: 激光雕刻技术解析
    自1958年发明以来,激光技术已在众多领域得到广泛应用,包括电子设备、医疗手术工具、武器等。本文将探讨如何使用激光技术进行材料雕刻,并通过编程解决一个具体的激光雕刻问题。 ... [详细]
  • 在学习了Splay树的基本查找功能后,可能会觉得它与普通的二叉查找树没有太大的区别,仅仅是通过splay操作减少了时间开销。然而,Splay树之所以被誉为“序列之王”,主要在于其强大的区间操作能力。 ... [详细]
  • 本文探讨了如何选择一个合适的序列化版本ID(serialVersionUID),包括使用生成器还是简单的整数,以及在不同情况下应如何处理序列化版本ID。 ... [详细]
  • 如何使用Maven将依赖插件一并打包进JAR文件
    本文详细介绍了在使用Maven构建项目时,如何将所需的依赖插件一同打包进最终的JAR文件中,以避免手动部署依赖库的麻烦。 ... [详细]
  • 题目概述:Sereja 拥有一个由 n 个整数组成的数组 a1, a2, ..., an。他计划执行 m 项操作,这些操作包括更新数组中的特定元素、增加数组中所有元素的值,以及查询数组中的特定元素。 ... [详细]
  • 题目描述:Balala Power! 时间限制:4000/2000 MS (Java/Other) 内存限制:131072/131072 K (Java/Other)。题目背景及问题描述详见正文。 ... [详细]
  • 本文介绍了使用Python和C语言编写程序来计算一个给定数值的平方根的方法。通过迭代算法,我们能够精确地得到所需的结果。 ... [详细]
  • 探讨了一个包含纯虚函数的C++代码片段,分析了其中的语法错误及逻辑问题,并提出了修正方案。 ... [详细]
author-avatar
勇士8853
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有