摘 要: C语言是一种广泛使用的高级程序设计语言,文章对C语言中三种循环结构语句进行了分析和比较,使学生更容易理解和掌握。

关键词: C语言 for循环 while循环 do-while循环

一、引言

C语言是一种广泛使用的程序设计语言,它具有功能丰富、表达能力强、使用灵活方便、目标程序效率高等特点。像许多计算机语言一样,C语言有三种基本结构:顺序结构、选择结构、循环结构。在这三种基本结构中,循环结构是最难理解的。

C语言中循环结构分为三种语句for,while,do-while。这三种语句都可以完成循环结构的功能,但在语法、程序流程等方面存在异同点。本文对这三种语句进行了分析和比较。

一般来讲,循环结构程序设计要考虑两个方面的问题:①循环条件:循环条件是循环结构设计的关键,它决定循环体重复执行的次数。循环条件常常由关系表达式或逻辑表达式表示;②循环体:需要重复执行的工作。它可以是一组顺序结构的语句,也可以是一组具有选择结构的语句,甚至还可以是一组具有循环结构的语句。

循环结构程序设计就是要正确描述循环条件,并分析问题的规律性,利用C语言提供的循环控制语句发挥具体的功能。

二、while循环和do-while循环的比较

从while循环的流程图(图1)和do-while循环的流程图(图2)可以看出while语句用于构成“当型”循环结构,do-while语句用于构成“直到型”循环。

2.循环的执行过程

while循环的执行过程为:首先计算条件表达式(循环条件)的值,若结果为“真”(非零),则执行循环体语句;然后再次计算表达式的值,重复上述过程,直到表达式的值为“假”(零)时结束循环,流程控制转到循环结构的下一语句。

do-while循环的执行过程为:首先执行一次循环体语句,然后计算条件表达式(循环条件)的值。若结果为“真”(非零),则再次执行循环体,再计算表达式的值,如此重复下去,直到表达式的值为“假”(零)时,循环结束,流程控制转到循环结构的下一语句。

3.两种循环的相同点

循环体内一定要有改变循环继续条件的语句,使得循环趋向于结束,否则循环将无休止地进行下去,即形成“死循环”。

为使循环正确运行,还要做好循环前的准备工作,在循环语句开始前要给循环控制变量和相关的变量赋初值。

4.两种循环的不同点

while循环结构的特点是“先判断,后执行”,如果条件表达式的值一开始就为“假”,则循环体一次也不执行;do-while循环结构的特点是“先执行,后判断”,如果条件表达式的值一开始就为“假”,则循环体仍要执行一次。

三、for循环和while循环的比较

for语句是C语言提供的另一种应用灵活、功能强大的构成“当型”循环结构的循环语句。

1.循环格式

for(;;)

2.功能

首先进行表达式1的运算,然后计算表达式2的值,若结果为真(非零),则执行循环体语句,最后进行表达式3的运算。然后回头再次计算表达式2的值,若结果为“真”(非零),再执行循环体语句,最后进行表达式3的运算,然后再回头,如此循环重复下去,直到计算表达式2的结果为“假”(零)时,循环结束,流程控制转到循环结构的下一语句,其流程如图3所示。

表达式1和表达式3通常是赋值表达式,一般用来实现对循环控制变量初始化和循环控制变量增(减)值。表达式2常常是关系表达式或逻辑表达式,但可以是其他类型的表达式,它表示循环继续的条件,只要其值为非零,就可执行循环体,否则退出循环。

3.for循环和while循环的比较

for循环结构和while循环结构一样,也具有“先判断,后执行”的特点。for循环结构相当于如下形式的while结构:

四、三种循环结构的比较

实际应用中用到的大多数循环通常分为两类:次数确定的循环和次数不确定的循环。

次数确定的循环,又称计数型循环,通常采用计数的方式控制循环。循环控制变量用来控制循环的次数,循环控制变量要有:初始值、每次变化的增量及控制循环是否终止的终值和测试条件。这类循环通常采用for循环结构实现,当然也可以采用while和do-while循环结构。

次数不确定的循环,又称条件型循环,通常采用标记值的方式控制循环。标记值表示继续循环的条件。标记值必须不同于正常的数据项,以免发生混淆。这类循环通常采用while循环结构和do-while循环结构实现,当然也可以采用for循环结构实现。

三种循环结构是可以相互转换的,for循环比while循环和do-while循环更为简洁而高效,因而应用得更为广泛。

五、结语

C语言循环结构是用C语言编程的基石,通过比较学习,学生可以提高学习效率,为以后编写出紧凑、高效程序打下坚实基础。

参考文献:

[1]朱荣娟.浅析C语言循环结构教学思路.高中生学习师者,2013.12.

[2]袁国伟.C语言循环结构中for语句与while语句辨析.科技信息,200612.

[3]谭浩强.C语言程序设计教程.高等教育出版社,2002.

c语言循环结构常用语句,浅析C语言三种循环结构语句相关推荐

  1. c语言编程星阵直角三角形,C语言星阵图形使用FOR,WHILE,DO-WHILE 三种循环结构实现.doc...

    * * * * * * * * * * * * * * * * * * * * * * * * * 以上星阵图形使用C语言FOR,WHILE,DO-WHILE 三种循环结构实现. [程序星阵1]for ...

  2. java循环嵌套语句示范_java的三种循环结构与循环嵌套

    循环结构: 语法,及执行顺序 语法: while(boolean类型){ //功能语句 } 执行顺序: 1断小括号中的值是否为true,如果为true,执行功能语句 2行完功能语句,继续判断小括号中的 ...

  3. oracle 游标循环 while,Oracle的游标使用方法 三种循环

    例: 游标 LOOP循环游标 SET SERVERIUTPUT ON DECLARE R_emp EMP%ROWTYPE; CURSOR c_emp IS SELECT * FROM emp; BEG ...

  4. c语言三种循环语句,C语言三种循环语句的功能等价性

    C语言程序中的.bile,dowhile,for三种循环语句在实现不同形式的循环功能上各具特色及优点,从而使C语言程序的循环功能准确简洁地实现了实际问题中不同形式及过程的循环要求,本文从一般逻辑关系上 ...

  5. python语言的三种基本结构_Python语言基础分支语句、循环语句.PPT

    * * 循环结构回顾 for循环 for 循环作为编程语言中最强力的特征之一 Python可以使用for语句循环遍历整个序列的值 for循环所做的概括为一句话: 于- 其中的每一个元素,做-事情 * ...

  6. JAVA中几种循环结构的表示_本文通过实例讲解给大家介绍Java中for、while、do while三种循环语句的区别,具体详情如下所示:第一种:for循环 循环结构for语句的格式...

    本文通过实例讲解给大家介绍Java中for.while.do while三种循环语句的区别,具体详情如下所示: 第一种:for循环 循环结构for语句的格式: for(初始化表达式;条件表达式;循环后 ...

  7. 沈阳师范大学大一上册C语言PTA题目集以及答案(第三章 循环结构程序设计 编程题篇)

    沈阳师范大学大一上册C语言PTA题目集以及答案(第三章 循环结构程序设计 编程题篇) 7-1 求阶乘序列前N项和 (15分) 本题要求编写程序,计算序列 1!+2!+3!+⋯ 的前N项之和. 输入格式 ...

  8. c 语言程序的三种基本结构,C 语言程序的三种基本结构是____ A、顺序结构,选择结构,循环结构 B、递归结构,循环结构,转移结构...

    C 语言程序的三种基本结构是____ A.顺序结构,选择结构,循环结构 B.递归结构,循环结构,转移结构 更多相关问题 [填空题]移动电商,全称 ,是以 为载体的电商模式. [单选题]有关离子选择性电 ...

  9. 《C语言及程序设计》实践项目——三种循环语句

    返回:贺老师课程教学链接 [项目1:利用循环求和] 求1000以内所有偶数的和 要求:请编出3个程序来,分别用三种循环语句完成,注意体会各种循环语句的执行过程及语法特点. [参考解答] [项目2:求阶 ...

最新文章

  1. oracle循环插入数据用于测试
  2. MQTT服务器搭建--Mosquitto用户名密码配置
  3. pytorch checkpoint_pytorch的两种部署方式 web部署与c++部署
  4. Python小游戏(俄罗斯方块)
  5. 计算机科学的鼻祖,现代计算机科学的鼻祖,编程界的上帝
  6. 微信改号?我用 Python 发现了六大隐藏秘密......
  7. 理解 webpack 热更新
  8. python操作mysql事务提交_python关于Mysql操作
  9. Python数据分析-二手车数据用于机器学习二手车价格预测
  10. 案例:数据提取/数据获取/爬虫—工具篇—影刀
  11. html中style写啥,style标签的作用
  12. GanttChart
  13. 【数据存储】signed,unsigned到底怎么区分?如何计算?
  14. JqGrid 表格基本使用(一)
  15. IMU内参标定以及初始化(9轴IMU,比6轴多三个姿态角信息)
  16. fuzzy c-means 与 k-means实验对比
  17. 路由器重温——WAN接入/互联-DCC配置管理1
  18. 衢州职业技术学院分数线平均计算机,衢州职业技术学院录取分数线2021是多少分(附历年录取分数线)...
  19. 哪个邮箱可以邮件群发?vip邮箱群发邮件软件哪个好?
  20. 【STM8L】STM8L之内部16M晶振

热门文章

  1. windows10 Ubuntu子系统忘记密码,亲测有效
  2. swagger-ui.html路径,SwaggerUI-自定义URL基本路径
  3. selenium模拟登陆百度云盘
  4. java中的反斜杠报错,老生常谈java路径中的反斜杠和斜杠的区别
  5. Gitlab的下载、安装以及在IDEA中的集成使用
  6. 从家电网到物联网,创维发展迈入第二阶段
  7. pyc文件转为py文件
  8. 文件管理类 第一期 | 整洁,从桌面开始
  9. goaccess分析日志
  10. Windows实时运动控制软核(四):LOCAL高速接口测试之VB.NET