招生考试网
学历| 高考 美术高考 考研 自考 成考 专升本 中考 会考 外语| 四六级 职称英语 商务英语 公共英语 日语能力 翻译资格 JTEST
资格| 公务员 报关员 银行从业 司法 导游 教师资格 报关 财会| 会计证 经济师 会计职称 注册会计 税务师 资产评估 审计师
工程| 一建 二建 造价师 造价员 咨询师 监理师 安全师 医学| 卫生资格 执业医师 执业药师 执业护士 | 教案 论文 文档
IT类| 计算机等级 计算机软考 职称计算机 高校计算机 推荐-国家公务员 事业单位招聘 军校国防生 自主招生 艺术特长生 招飞
 3773考试网 - 计算机等级考试 - 考试辅导 - 计算机二级 - 正文

2014计算机二级C语言入门知识点:循环语句和循环函数

来源:2exam.com 2014-6-17 16:18:52

循环语句和循环函数

  Turbo C 2.0提供三种基本的循环语句: for语句、while语句和do-while语句。
  一、循环语句
  (一)、for循环 它的一般形式为:
  for(<初始化>;<条件表过式>;<增量>)
  语句;
  初始化总是一个赋值语句,它用来给循环控制变量赋初值;条件表达式是一个关系表达式,它决定什么时候退出循环;增量定义循环控制变量每循环一次后按什么方式变化。这三个部分之间用;分开。
  例如:
  for(i=1;i<=10;i++)
  语句;
  上例中先给i赋初值1,判断i是否小于等于10,若是则执行语句,之后值增加1。再重新判断,直到条件为假,即i>10时,结束循环。
  注意: 
  (1).for循环中语句可以为语句体,但要用{和}将参加循环的语句括起来。
  (2).for循环中的初始化、条件表达式和增量都是选择项,即可以缺省,但;不能缺省。省略了初始化,表示不对循环控制变量赋初值。省略了条件表达式,则不做其它处理时便成为死循环。省略了增量,则不对循环控制变量进行操作,这时可在语句体中加入修改循环控制变量的语句。
  (3).for循环可以有多层嵌套。
  例如:
  for(;;) 语句;
  for(i=1;;i+=2) 语句;
  for(j=5;;) 语句;
  这些for循环语句都是正确的。
  main() 
  {
  int i,j;
  printf(i j\n);
  for(i=0;i<2;i++)
  for(j=0;j<3;j++)
  printf(%d %d\n,i,j);
  } 
  输出结果为: 
  i j
  0 0
  0 1
  0 2
  1 0
  1 1
  1 2
  用for循环求1+2+……+100的和:
  main()
  {
  int sn=0,i;
  for(i=1;i<=100;i++)
  sn+=i; /*1+2+……+100*/
  printf(%d\n,sn);
  }
  从程序可以看出,使用循环语句可以大大简化代码。
  (二)、while循环 它的一般形式为: 
  while(条件)
  语句;
  while循环表示当条件为真时,便执行语句。直到条件为假才结束循环。并继续执行循环程序外的后续语句。
  例如:
  #include stdio.h
  main() 
  { 
  char c; 
  c='\0'; /*初始化c*/
  while(c!='\n') /*回车结束循环*/
  c=getche(); /*带回显的从键盘接收字符*/
  } 
  上例中,while循环是以检查c是否为回车符开始,因其事先被初始化为空,所以条件为真,进入循环等待键盘输入字符;一旦输入回车,则c='\n',条件为假,循环便告结束。与for循环一样,while循环总是在循环的头部检验条件,这就意味着循环可能什么也不执行就退出。 
  注意: 
  (1).在while循环体内也允许空语句。 
  例如: 
  while((c=getche())!='\n'); 
  这个循环直到键入回车为止。 
  (2).可以有多层循环嵌套。 
  (3).语句可以是语句体, 此时必须用{和}括起来。
  用while循环求1+2+……+100的和:
  main()
  {
  int sn=0,i=0;
  while(++i<=100)
  sn+=i; /*求1+2+……+100*/
  printf(%d\n,sn);
  }
  (三)、do--while循环 它的一般格式为:
  do
  {
  语句块;
  }
  while(条件);
  这个循环与while循环的不同在于:它先执行循环中的语句,然后再判断条件是否为真,如果为真则继续循环;如果为假,则终止循环。因此,do-while循环至少要执行一次循环语句。
  同样当有许多语句参加循环时,要用{和}把它们括起来。
  用do--while循环求1+2+……+100的和:
  main()
  {
  int sn=0,i=1;
  do
  sn+=i; /*求1+2+……+100*/
  while(++i<=100);
  printf(%d\n,sn);
  }
  从上面三个程序看出,使用for,while和do--while求解同样的问题,基本思路都差不多,只是在第一次计算时,注意初值。


  • 上一个文章:
  • 网站版权与免责声明
    ①由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
    ②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权及个人隐私等问题,请在两周内邮件fjksw@163.com联系.
    最新文章


    | 关于我们 | 联系我们 | 版权申明 | 网站导航 |
    琼ICP备12003406号