议C语言中循环语句

来源 :商 | 被引量 : 0次 | 上传用户:xumeg
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:在C语言循环结构设计中,除了可以用while和do-while语句实现循环外,C语言还提供了for语句可以实现循环,for语句不仅比以上两种语句实现起来灵活,而且可以用于循环次数确定的情况。总的来说完全可以代替while和do-while.
  关键词:For语句 循环结构 条件表达式
  1、for语句的表达形式
  for(表达式1;表达式2;表达式3),3个表达式的主要作用:表达式1设置初始条件,只执行一次;表达式2循环条件表达式,用来判断程序是否继续执行,在每次执行循环体前先执行此表达式,决定是否继续执行循环体;表达式3是对循环的调整,是在执行完循环体后才进行的。所以我们可以对for语句这样理解 for(循环变量赋初值;循环条件;循环变量自增或自减)例如:
  for(i=1;i<50;i++)
  sum=sum+i;
  其中i=1是给循环变量赋初值1,i<50是指定循环条件(当i的值小于50时循环继续执行)i++的作用是使循环变量i的值不断变化,以便最终满足终止循环的条件,使循环结束。
  (1)for语句表达形式中的表达式1可以省略,但表达式1后边的分号不能省略。例如:
  for(;i<50;i++) sum=sum+i; (由于省略了表达式1,也即是没给循环变量赋初值,因此,为了程序能正常运行,应该在FOR语句之前给循环变量赋初值。即:i=1; for(;i<50;i++) sum=sum+i;执行for 语句时,跳过表达式1这一步,由于在For之前加了语句i=1,因此其作用仍然不变。)
  (2)for语句表达形式中的表达式2也可以省略,但表达式2后边的分号不能省略。即不设置和检查循环结束的条件。例如:for(i=1; ;i++) sum=sum+i;此时循环无终止的进行下去,也就说表达式2一直为真.
  (3)表达式3也可以省略,但此时程序设计者应另外设法保证循环能正常结束。
  (4)表达式1和表达式3都没有,只有表达式2,即只给出循环结束条件。对于没有表达式1和表达式3的for循环语句,为了让循环正常执行,应当在for语句前给循环变量赋初值。 从此处我们可以看出for语句比while语句功能更强大,除了可以给出循环条件外,还可以赋初值,使循环变量自动增减等。
  (5)表达式1、表达式2和表达式3都可以省略。例如:for(; ;) printf(“%dn”,i);
  相当于 while(1) printf(“%dn”,i);即就是不设初值,不判断表达式2的条件(表达式2始终为真),不改变循环变量。这样程序就无终止的执行循环体语句。显然这样的程序是没有任何价值的。
  (6)表达式1可以是设置循环变量初值的赋值表达式,也可以是与循环变量无关的其他表达式。
  例如:for(sum=0;i<50;i++) sum=sum+i;总之,表达式3可以是与循环控制无关的任意表达式。但是不论如何写for语句,都必须是循环能正常执行,防止死循环。
  (7)表达式1和表达式3可以是一个简单的表达式,也可以是逗号表达式,即就是包含一个以上的简单表达式,中间用逗号隔开。
  如:for(sum=0,i=1,i<50;i++) sum=sum+i ;或 for(i=0,j=50;i  (8)表达式2一般是关系表达式(如i<50)或逻辑表达式(如m  ①for(i=0;(ch1=getchar())!=’n’;i+=ch1);在表达式2中先从终端接收一个字符赋给ch1,然后判断这个赋值表达式的值是否不等于‘n’(转移字符 换行),如果不等于’n’,就执行这个循环体,它完成的作用是不断输入字符,将他们的ASCⅡ码相加,直到输入一个“换行”符为止,程序结束执行。这里我们要注意的是:此时for语句的循环语句为空语句,把本来要在循环体内处理的内容放在表达式3中,作用是一样的,可见for语句功能的强大,可以再表达式中完成本来应在循环体内完成的操作。
  ②for(;((ch1=getchar())!=’n’;) printf(“%c”,ch1);这个for语句中只有表达式2,而无表达式1和表达式3.它的作用是每读入一个字符后立即输出该字符,直到输入一个“换行”为止。
  运行情况: Computer((输入) Computer(输出)。这里我们要注意的是:从终端键盘向计算机输入时,是在按Enter键以后将一批数据一起送到内存缓冲区去的。因此输出结果不是CCoommppuutteerr,即不是从终端输入一个字符马上输出一个字符,而是在按Enter键后数据才送入内存缓冲,然后每次从缓冲区读一个字符,再输出该字符。
  从上面的介绍我们可以看到,C语言的FOR语句使用非常灵活,变化多端。C语言的FOR语句比其他语言中的for语句灵活和强大的多。可以把循环体和一些循环控制无关的操作也作为表达式1和表达式3的出现,这样程序可以比较简洁。
  2、for语句的执行过程
  (1)先求解表达式1.
  (2)再求解表达式2,如果表达式2为真,则执行FOR语句中的循环体,然后执行(3),如果为假,则循环结束,转到第(5)步。
  (3)求解表达式3.
  (4)转回步骤(2)继续执行。
  (5)循环结束,执行for语句下面的一个语句。
  3.种循环的比较
  (1) 在处理循环语句中,while、do-while和for 都可以用来处理同一个问题,一般情况下他们3个可以互换。
  (2)在while循环和do-while循环中,只在while后面的括号内指定循环条件,因此为了使循环能正常结束,应在循环中包含使循环区域结束的语句。For循环可以在表达式3中包含使循环趋于结束的操作,甚至可以将循环体重的操作全部放到表达式3中。因此for语句的功能更强,凡是while循环能完成的,用for循环都能实现。
  (3)用while和do-while循环时,循环变量初始化的操作应在while和do-while语句之间完成。而for语句可以在表达式1中实现循环变量的初始化。
  (4)while、do-while和for循环,都可以用break语句跳出循环,用continue语句结束本次循环。
  4.种循环举例:求1+2+3+……+100,即∑100n=1n
  (作者单位:陕西国际商贸学院)
  参考文献:
  [1]《电脑知识与技术》2009年第24期。
  [2]《家教世界》2012年04期。
  [3]《C语言程序设计实例教程》涂玉芬主编 北京邮电出版社 2011年第一版。
其他文献
本文简要介绍了英语高考复习的做法和经验,明确每轮复习的任务,并提供了词汇,语法,完形填空,阅读理解,短文改错,和书面表达的教学方法,引导高考复习的思路.
新课程背景下的课堂更多的是学生的活动和参与,课堂上新想法新思路会大量涌现,如何有效的调控和处理这些生成资源,是教师必须面对和解决的问题.我认为应做到三忌三要:一忌听
时下,在石油石化物资采购行业,话题正劲的当属集中采购,放眼国内外,无论是石油巨头,还是地方油企,都不约而同地将集中采购视为一场革命。这是偶然吗?当然不是。行业成熟、成
随着时代的发展,多媒体在教学中的应用势在必行,本文主要针对数学课的内容、特点、目标等,运用多媒体如何巧妙的解决这些难点.
创作是一个民族或国家的灵魂,源源不绝地创新能力是一个民族或国家自下而上的发展基础,作为美术教育工作者,我们不仅要努力地传播美术文化,而且同样要注意在自己的教学活动中
在信息化建设过程中,工程造价行业已逐渐积累了海量的信息数据,且数据量呈高速膨胀,表明工程造价行业已进入了大数据时代.在大数据时代,工程造价信息数据尚不具备统一的标准,
课程综合化背景下的学习活动要求在开放的学习环境里,博采课程资源、整合学习资源,改变学生的学习方式,开展多样化的探究与实践活动,使学生的主体意识、创新精神和实践能力均
语文教学中的读是一个载体,在课堂中,它承载着学习语言、培养语感、促进理解、诱发思辩、引导感悟、熏陶情感、完善知识建构的使命.正如新课标中所诠释的:要让学生充分地读,
根据少年儿童的心理、生理特点,采用更加合理、有效的“多元教学法”进行授课,使得课堂气氛活泼愉快.且教学时数少,效果较好,能够充分调动学员学习的主动性、积极性,在初级游