精品理论电影在线_日韩视频一区二区_一本色道精品久久一区二区三区_香蕉综合视频

2011年計算機等級考試二級C語言入門教程:循環語句和循環控制

發布時間:2011-08-29 共2頁

導讀:Turbo C 2.0提供三種基本的循環語句: for語句、while語句和do-while語句。

  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求解同樣的問題,基本思路都差不多,只是在第一次計算時,注意初值。
  二、循環控制
  (一)、break語句
  break語句通常用在循環語句和開關語句中。當break用于開關語句switch中時,可使程序跳出switch而執行switch以后的語句;如果沒有break語句,則將成為一個死循環而無法退出。break在switch中的用法已在前面介紹開關語句時的例子中碰到,這里不再舉例。
  當break語句用于do-while、for、while循環語句中時,可使程序終止循環而執行循環后面的語句,通常break語句總是與if語句聯在一起。即滿足條件時便跳出循環。
  例如:
  main()
  {
  int sn=0,i;
  for(i=1;i<=100;i++)
  {
  if(i==51) break; /*如果i等于51,則跳出循環*/
  sn+=i; /*1+2+……+50*/
  }
  printf(%d\n,sn);
  }
  可以看出,最終的結果是1+2+……+50。因為在i等于51的時候,就跳出循環了。自己寫寫怎樣在while和do--while循環中增加break語句。
  注意:
  1. break語句對if-else的條件語句不起作用。
  2. 在多層循環中,一個break語句只向外跳一層。
  例如:
  main()
  {
  int i,j;
  printf(i j\n);
  for(i=0;i<2;i++)
  for(j=0;j<3;j++)
  {
  if(j==2) break;
  printf(%d %d\n,i,j);
  }
  }
  輸出結果為:
  i j
  0 0
  0 1
  1 0
  1 1
  當i==0,j==2時,執行break語句,跳出到外層的循環,i變為1。

百分百考試網 考試寶典

立即免費試用