C语言for循环

语言作为程序设计的入门语言,对于计算机专业学生的重要意义不言而喻。而循环语句是C语言学习中的一个重点与难点。本文根据学习经验,结合全国计算机等级考试三级网络技术机试真题,浅谈C语言循环语句的学习。
 
 循环结构是结构化程序设计的基本结构之一。它和顺序结构、选择结构共同作为各种复杂程序的基本构造单元。在程序设计中许多问题需要用到循环语句,如处理
学校学生成绩;求若干个数的和;求一个数的阶乘等等。循环语句是实现程序设计中许多有规律、需要多次重复执行某些操作的最为有效的方法。循环结构是程序设
计中的一个重点和难点。在函数、数组及指针等部分的学习上,常涉及循环语句。根据几年的C语言学习经验,笔者深感循环语句学习的难度。主要原因:一是C语
言循环语句种类较多,使用灵活,容易出错;二是C语言是我们所学的首门程序设计语言,没有其他语言,如PASCAL等作铺垫,掌握循环语句确实有一定的难 度

。应该怎样学习才能轻松掌握、灵活运用循环语句,这值得我们研究探讨。笔者给合自己的学习实践,谈谈C语言中循环语句的学习。一、常用的几种
循环语句的学习(一)用goto语句和if语句构成循环结构。结构化程序设计方法主张限制使用goto语句,因为滥用goto语句将使程序流程无规律、可
读性差。这里我们简单讨论一下,goto语句一般有两种用途:(1)与if语句一起构成循环;(2)从循环体中跳转到循环体外,但因为C语言中有break语句和

continue语句,goto语句
一般只是在需要从多层循环的内层循环跳到外层循环而且能大大提高效率时才用。例
如我们用if语句和goto语句构成循环求1到100的和,程序如下:main(%)%{%int%i,%sum=0;i=l;loop:if(i&
lt;=l00)%{%sum=sum+i;i++;goto%loop;}printf(“%d”,sum);}%%%%%%(二)while语句和
do—while语句while语句和
do—while语句的重点是循环体。很多同学初学循环语句时,常常搞不清楚循环体包括哪些语句,不知哪
些语句应该放在循环体内。读程序时,因对循环体认识不清,而误解程序的作用;编写程序时,因循环体语句设置不准确,造成程序的逻辑错误。循环体是指在程序
中要重复执行的语句。当循环体是多条语句时,要用花括号括起来,以复合语句形式出现,否则程序会出错或引起逻辑错误。While语句用来实现“当型”循环
结构,当其表达式为非0值(“真
”)时执行while语句的循环体。对于while语句,如果其后无花括号,即说明其循环体只有一条语句,范围
只到其后的第一个分号处。如下例:main(){%int%i=l,sum=0;while(i&
lt;=l00)%%%sum=sum+i;i++;%%%printf(“sum=%d”,sum);}%%%%%%%该程序的目的原本是求1到100
的累加和。但例中因while语句后无花括号,则其循环体只是sum=sum+i一条语句。程序会出现无限循环。将程序改为main(%)
{%int%i=1,sum=0;while%(i<=l00)%%%{%sum=sum+i;i++;}printf%
(“sum=%d”,sum);}%%%%%%%%这时while语句的循环体即为sum=sum+i和i++两条语句。编程的目的实现了,程序也能正常
结束。从上例也可看出,循环体内一定要有使循环趋向结束的语句(本例中为i++),否则程序会陷入无限循环。编程时,解题中需要重复执行的那部分,写成语
句,即为循环体。
  do—while语句用来实现“直到型”循环结构,它的执行顺序是先执行一次循环体,然后判别表达式,当表达式为非
0(“真”)值时,返回重新执行给循环体,如此反复直到表达式的值为0,此时循环结束。对于do—while循环语句,位于do与while间的语句即为
循环体。如下例:main(){int%i,sum=0;i=1;%do%%{sum%=sum%+i;i++;}%while%(i&
lt;=l00);printf("%d”,sum);}O%%%%%%通过上面两个例子我们可以看到,对于同一个问题,既可以用while语句处理,也
可以用do—while语句处理,它们之间可以相互转换。在一般情况下,只要二者的循环体部分一样,那么它们的结果也是一样的。但是当while语句后面
的表达式一开始就为假(0值)时,两种循环的结果是不同的。这是因为对while语句来说,表达式为假时一次也不执行循环体,但是do—while语句却
要执行一次循环体。二、循环条件的确定循环条件的确定也是同学们应用循环语句中的一个难点。循环条件是循环中很关键的一部分。循环条件的设置不正确常导致
程序陷入死循环或循环不执行等问题。在循环结构中,每次循环都要根据题目中的某个条件做出继续循环,还是结束循环的判断,这个判断条件即为循环条件。如求
l到100的累加和,如果要累加的量用num表示,则每次循环都要判断num是否小于或等于100,若是则继续累加,否则终止循环。这时的循环条件即为
num<=100。再如用π/4=1-1/3+1/5-1/7…公式求π的近似值.直到某一项的绝对值小于10-6为止。如设置程序中用t表示每次
的累加项。每次循环累加时.都要判断t的绝对值是不是大于或等于10-6,若是则累加当前的项,否则终止循环,循环条件即为
fabs(t)>=%10-6。三、多重循环的学习多重循环即多重循环结构。也称循环嵌套层。是指一个循环结构的内部又包含一个完整的循环结构。许
多实用程序中都包含有多重循环。学习这部分时,多重循环的执行过程、内外循环体语句的位置安排等都是学生易出错的知识点。

时间: 2024-10-23 18:42:37

C语言for循环的相关文章

Java语言的循环控制结构

Java语言的循环控制结构 循环控制结构:是在一定条件下,反复执行某段程序的流程结构,被反复执行的程序称为循环体.循环控制结构是程序中非常重要和基本的一种结构,它是由循环语句来实现的. Java 的循环语句共有三种: while 语句. do-while 语句和 for 语句. 1.while 语句 while 语句的一般语法格式如下: while( 条件表达式 )               { 循环体}: 其中条件表达式的返回值为布尔型,循环体可以是单个语句,也可以是复合语句块. while

【下载分】C语言for循环语句PK自我活动

想了解自己C语言for语句的掌握程度吗?敢和自己PK较量一番吗?參加"C语言for循环语句PK自我活动",仅仅要成绩70分以上.就可赢得CSDN下载分. 12道题目题库动态读取,每人5次PK自我的机会.单选和多选题两种题型.及格easy高分难. 活动时间: 2014.08.18-2014.09.18 奖励方式: 凡每次答卷得分在: - 70-79分者赠送2个下载分. - 80-89分者赠送3个下载分. - 90-99分者赠送4个下载分: - 100分者获得5个下载分: 如今就去測试 -

js和PHP等脚本语言for循环和if语句里面定义变量的作用域

在js和PHP等脚本语言中for循环中的定义变量,会先把var l 提到for循环外面,(只会定义一次l),所以for循环外面可以输出l var a=0; if(a==0) { var i=1; } alert(i); for(var j=0;j 在c#等语言中 for(int i=0;ijs和PHP等脚本语言for循环和if语句里面定义变量的作用域

用C语言实现循环左移和循环右移

有天重建一段代码时,遇到了循环右移指令,不知道用C语言怎么实现,后来得到小伟指点,感谢.. me 15:56:38004BD2C9 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]004BD2CC D1CA     ROR EDX,1004BD2CE 8955 F8 MOV DWORD PTR SS:[EBP-8],EDX me 15:57:16这样的汇编,怎么用C语言写出来呢?ROR循环右移 小伟 15:58:51等等,翻笔记中. 小伟 15:59:06#define

Python语言中循环引用(import)失败的解决方案

最近在开发智能家居项目hestia-rpi项目中,由于代码结构层级划分不合理,导致了循环引用(import)module失败的问题,错误如下: 1 2 3 4 5 6 7 8 9 10 Traceback (most recent call last):   File "./main.py", line 8, in &amp;lt;module&amp;gt;     from hestiarpi.library.server import server   File

黑马程序员 C语言:循环语句

什么是循环? 当条件满足的时候,重复执行某一段代码 条件不满足的时候,跳出循环 --->执行循环的后面的语句 循环的三个要素: 循环控制条件:循环结束的条件 循环体:执行循环做的事情 能够保证让循环正常结束的(自增.自减.真.假) C语言中的三种循环 while循环(当条件满足的时候,执行循环体) 使用:while(条件表达式) ; while(条件表达式) sum+=1; while(条件表达式){ 循环体 } 注意: while(1)  死循环 while(条件表达式) int num=1;

【学习ios之路:C语言】循环方面试题

1.打印出如下所示图形  : * *  * * * * 代码如下: for (int i = 0; i < 3; i++) { for (int j = 2; j > i; j--) { printf(" "); } for (int k = 0; k < i + 1; k++) { printf(" *"); } printf("\n"); } 2. 打印出如下图形: * *   * *  *  * *   * * 代码如下:

【Go语言】【9】GO语言的循环语句

一.循环语句 循环语句即for语句,您可能说:"不对,它不仅仅是for语句,还有while或者do-while",真的很遗憾,GO语言真的只有for,它认为提供一种就可以了,提供多了怕给程序员带来麻烦 :) 下面我们使用for循环计算1+2+3+4+--+100的和,和其它语言一样,我们使用循环100次的办法: 定义一个变量,让它从1开始循环100次,每次都判断它是否小于101,若是变量就加1 代码如下: // 声明变量sum并初始化为0 sum := 0 // 定义变量i,循环100

c语言(循环、嵌套)

//  DAY-4王学文 //c语言基础第二讲(小辉) //循环 嵌套 #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { //for循环 /*for (1; 2; 3){ 4 } */ //1.循环变量初始化 //2.循环条件 //3.循环增量 //4.循环体 //循环顺序 //第一次:1 2 4 3,以后的循环就是2 4 3 //打印5次Hello World //    for(int i