亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

C語言入門之循環結構

2019-11-17 05:24:10
字體:
來源:轉載
供稿:網友
   循環結構是程序中一種很重要的結構。其特點是, 在給定條件成立時,反復執行某程序段,直到條件不成立為止。 給定的條件稱為循環條件,反復執行的程序段稱為循環體。 C語言提供了多種循環語句,可以組成各種不同形式的循環結構。    while語句    while語句的一般形式為: while(表達式)語句; 其中表達式是循環條件,語句為循環體。    while語句的語義是:計算表達式的值,當值為真(非0)時, 執行循環體語句。其執行過程可用圖3—4表示。 統計從鍵盤輸入一行字符的個數。 #include
void main(){
int n=0;
while(getchar()!='/n') n++;
printf("%d",n);
} int n=0;
printf("input a string:/n");
while(getchar()!='/n')
n++;
printf("%d",n);    本例程序中的循環條件為getchar()!='/n',其意義是, 只要從鍵盤輸入的字符不是回車就繼續循環。循環體n++完成對輸入字符個數計數。從而程序實現了對輸入一行字符的字符個數計數。    使用while語句應注重以下幾點:    1.while語句中的表達式一般是關系表達或邏輯表達式,只要表達式的值為真(非0)即可繼續循環。 void main(){
  int a=0,n;
  printf("/n input n: ");
  scanf("%d",&n);
  while (n--)
  printf("%d ",a++*2);
} int a=0,n;
printf("/n input n: ");
scanf("%d",&n);
while (n--)
printf("%d ",a++*2);    本例程序將執行n次循環,每執行一次,n值減1。循環體輸出表達式a++*2的值。該表達式等效于(a*2;a++)    2.循環體如包括有一個以上的語句,則必須用{}括起來, 組成復合語句。    3.應注重循環條件的選擇以避免死循環。 void main(){
  int a,n=0;
  while(a=5)
   printf("%d ",n++);
} int a,n=0;
while(a=5)
printf("%d ",n++);    本例中while語句的循環條件為賦值表達式a=5, 因此該表達式的值永遠為真,而循環體中又沒有其它中止循環的手段, 因此該循環將無休止地進行下去,形成死循環。4.答應while語句的循環體又是while語句,從而形成雙重循環。    do-while語句    do-while語句的一般形式為: do
  語句;
while(表達式);    其中語句是循環體,表達式是循環條件。    do-while語句的語義是:    先執行循環體語句一次, 再判別表達式的值,若為真(非0)則繼續循環,否則終止循環。    do-while語句和while語句的區別在于do-while是先執行后判定,因此do-while至少要執行一次循環體。而while是先判定后執行,假如條件不滿足,則一次循環體語句也不執行。    while語句和do-while語句一般都可以相互改寫。 void main(){
  int a=0,n;
  printf("/n input n: ");
  scanf("%d",&n);
  do printf("%d ",a++*2);
  while (--n);
}
int a=0,n;
printf("/n input n: ");
scanf("%d",&n);
do printf("%d ",a++*2);
while (--n);    在本例中,循環條件改為--n,否則將多執行一次循環。這是由于先執行后判定而造成的。    對于do-while語句還應注重以下幾點:    1.在if語句,while語句中, 表達式后面都不能加分號, 而在 do-while語句的表達式后面則必須加分號。    2.do-while語句也可以組成多重循環,而且也可以和while語句相互嵌套。    3.在do和while之間的循環體由多個語句組成時,也必須用{}括起來組成一個復合語句。    4.do-while和while語句相互替換時,要注重修改循環控制條件。    for語句    for語句是C語言所提供的功能更強,使用更廣泛的一種循環語句。其一般形式為: for(表達式1;表達式2;表達3)    語句:    表達式1 通常用來給循環變量賦初值,一般是賦值表達式。也答應在for語句外給循環變量賦初值,此時可以省略該表達式。    表達式2 通常是循環條件,一般為關系表達式或邏輯表達式。    表達式3 通??捎脕硇薷难h變量的值,一般是賦值語句。    這三個表達式都可以是逗號表達式, 即每個表達式都可由多個表達式組成。三個表達式都是任選項,都可以省略。    一般形式中的“語句”即為循環體語句。for語句的語義是:    1.首先計算表達式1的值。    2.再計算表達式2的值,若值為真(非0)則執行循環體一次, 否則跳出循環。    3.然后再計算表達式3的值,轉回第2步重復執行。在整個for循環過程中,表達式1只計算一次,表達式2和表達式,3則可能計算多次。循環體可能多次執行,也可能一次都不執行。for 語句的執行過程如圖所示。
void main(){
int n,s=0;
for(n=1;n<=100;n++)
s=s+n;
printf("s=%d/n",s);
}    用for語句計算s=1+2+3+...+99+100 int n,s=0;
for(n=1;n<=100;n++)
s=s+n;
printf("s=%d/n",s);    本例for語句中的表達式3為n++,實際上也是一種賦值語句,相當于n=n+1,以改變循環變量的值。 void main(){
int a=0,n;
printf("/n input n: ");
scanf("%d",&n);
for(;n>0;a++,n--)
printf("%d ",a*2);
}     用for語句修改例題。從0開始,輸出n個連續的偶數。 int a=0,n;
printf("/n input n: ");
scanf("%d",&n);
for(;n>0;a++,n--)
printf("%d ",a*2);    本例的for語句中,表達式1已省去,循環變量的初值在for語句之前由scanf語句取得,表達式3是一個逗號表達式,由a++,n-- 兩個表達式組成。每循環一次a自增1,n自減1。a的變化使輸出的偶數遞增,n的變化控制循次數。    在使用for語句中要注重以下幾點    1.for語句中的各表達式都可省略,但分號間隔符不能少。如:for(;表達式;表達式)省去了表達式1。for(表達式;;表達式)省去了表達式2。   for(表達式;表達式;)省去了表達式3。for(;;)省去了全部表達式。    2.在循環變量已賦初值時,可省去表達式1,如例3.27即屬于這種情形。如省去表達式2或表達式3則將造成無限循環, 這時應在循環體內設法結束循環。例題即屬于此情況。 void main(){
int a=0,n;
printf("/n input n: ");
scanf("%d",&n);
for(;n>0;)
{ a++;n--;
  printf("%d ",a*2);
}
} int a=0,n;
printf("/n input n: ");
scanf("%d",&n);
for(;n>0;)
{ a++;n--;
printf("%d ",a*2);
}
   本例中省略了表達式1和表達式3,由循環體內的n--語句進行循環變量n的遞減,以控制循環次數。 void main(){
int a=0,n;
printf("/n input n: ");
scanf("%d",&n);
for(;;){
a++;n--;
printf("%d ",a*2);
if(n==0)break;
}
}
int a=0,n;
printf("/n input n: ");
scanf("%d",&n);
for(;;){
a++;n--;
printf("%d ",a*2);
if(n==0)break;
}    本例中for語句的表達式全部省去。由循環體中的語句實現循環變量的遞減和循環條件的判定。當n值為0時,由break語句中止循環,轉去執行for以后的程序。在此情況下,for語句已等效于while( 1)語句。如在循環體中沒有相應的控制手段,則造成死循環。    3.循環體可以是空語句。 #include"stdio.h"
void main(){
  int n=0;
  printf("input a string:/n");
  for(;getchar()!='/n';n++);
   printf("%d",n);
}    本例中,省去了for語句的表達式1,表達式3也不是用來修改循環變量,而是用作輸入字符的計數。這樣, 就把本應在循環體中完成的計數放在表達式中完成了。因此循環體是空語句。應注重的是,空語句后的分號不可少,如缺少此分號,則把后面的printf 語句當成循環體來執行。反過來說,如循環體不為空語句時, 決不能在表達式的括號后加分號, 這樣又會認為循環體是空語句而不能反復執行。這些都是編程中常見的錯誤,要十分注重。    4.for語句也可與while,do-while語句相互嵌套,構成多重循環。以下形成都合法的嵌套。 (1)for(){…
   while()
    {…}
   …
     }
(2)do{
    …
   for()
    {…}
   …
   }while();
(3)while(){
       …
       for()
        {…}
       …
      }
(4)for(){
     …
     for(){
     …
      }
     }
void main(){
int i,j,k;
for(i=1;i<=3;i++)
{
  for(j=1;j<=3-i+5;j++)
   printf(" ");
   for(k=1;k<=2*i-1+5;k++)
   {
    if(k<=5) printf(" ");
    else printf("*");
   }
   printf("/n");
  }
}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91精品国产91久久久久久久久| 色偷偷91综合久久噜噜| 97久久久免费福利网址| 国产福利精品视频| 97视频在线观看视频免费视频| 亚洲美腿欧美激情另类| 日韩欧美大尺度| 亚洲福利视频网| 色噜噜狠狠狠综合曰曰曰88av| 亚洲3p在线观看| 日韩在线视频免费观看| 久久久在线视频| 国产91网红主播在线观看| 日本一欧美一欧美一亚洲视频| 亚洲欧美第一页| 欧美第一黄网免费网站| 色综合亚洲精品激情狠狠| 成人在线一区二区| 欧美成人午夜视频| 欧美日韩视频免费播放| 国内精品中文字幕| 成人精品一区二区三区电影黑人| 久热在线中文字幕色999舞| 国产精品久久久久久久av电影| 在线成人一区二区| 欧美视频精品一区| 麻豆乱码国产一区二区三区| 成人午夜激情免费视频| 精品调教chinesegay| 国产精品午夜一区二区欲梦| 亚洲欧洲午夜一线一品| 久久精品国产久精国产一老狼| 国产精品永久在线| 亚洲精品综合久久中文字幕| 91国在线精品国内播放| 中文字幕日本欧美| 伊是香蕉大人久久| 久久综合亚洲社区| 久久久久久久久久久av| 97超碰色婷婷| 国产ts人妖一区二区三区| 日韩性生活视频| 欧美激情精品在线| 91精品免费久久久久久久久| 色婷婷亚洲mv天堂mv在影片| 亚洲电影在线看| 国产精品视频区1| 久久免费精品视频| 亚洲精品国偷自产在线99热| 国产精品美女在线| 国产亚洲欧洲在线| 国产精品福利无圣光在线一区| 3344国产精品免费看| 高清欧美性猛交| 国产一区欧美二区三区| 国产精品成人一区二区| 一区二区三区四区视频| 久久人人爽人人爽人人片av高清| 精品国产91久久久| 正在播放欧美一区| 欧美最猛黑人xxxx黑人猛叫黄| 欧美天天综合色影久久精品| 久久影院资源网| 成人精品一区二区三区电影免费| 成人在线观看视频网站| 欧美激情视频免费观看| 久久久亚洲影院你懂的| 亚洲在线第一页| 久久免费国产精品1| 亚洲最新中文字幕| 亚洲伊人成综合成人网| 色中色综合影院手机版在线观看| 国产suv精品一区二区三区88区| 国产精品入口尤物| 欧美色另类天堂2015| 国产精品www色诱视频| 精品少妇v888av| 久久国产加勒比精品无码| 精品视频在线导航| 久久噜噜噜精品国产亚洲综合| 欧美黑人性生活视频| 国产+成+人+亚洲欧洲| 亚洲欧美另类中文字幕| 精品国产乱码久久久久久虫虫漫画| 38少妇精品导航| 久久精品国产免费观看| 日韩av电影在线播放| 久久久久久久久久久成人| 中日韩美女免费视频网站在线观看| 欧美色播在线播放| 欧美性猛交xxxx富婆| 亚洲视频免费一区| 在线精品视频视频中文字幕| 亚洲精品福利视频| 视频直播国产精品| 国产精品激情av在线播放| 亚洲综合视频1区| 中文字幕久热精品视频在线| 久久久这里只有精品视频| 91wwwcom在线观看| 久久综合国产精品台湾中文娱乐网| 国产精品三级美女白浆呻吟| 精品国产精品三级精品av网址| 日本中文字幕不卡免费| 国产精品国产三级国产专播精品人| 日韩久久免费视频| 日韩中文字幕在线观看| 欧美亚洲激情视频| 亚洲免费精彩视频| 清纯唯美亚洲综合| 国产精品视频大全| 欧美另类第一页| 亚洲精品黄网在线观看| 久久人人爽人人爽人人片av高清| 精品久久中文字幕久久av| 狠狠躁18三区二区一区| 久久久久久中文| 亚洲成人a**站| 麻豆国产va免费精品高清在线| 国产日韩欧美成人| 成人97在线观看视频| 国内外成人免费激情在线视频| 亚洲国产精久久久久久| 这里只有精品在线观看| 国产精品r级在线| 色婷婷综合久久久久中文字幕1| 日韩电影中文字幕在线观看| 亚洲丝袜在线视频| 亚洲国产另类 国产精品国产免费| 亚洲第一区第一页| 在线播放日韩av| 国产精品扒开腿做爽爽爽视频| 91麻豆国产精品| 欧美日韩亚洲成人| 午夜精品久久久久久久白皮肤| 日本伊人精品一区二区三区介绍| 国产精品久久久一区| 高清日韩电视剧大全免费播放在线观看| 亚洲电影天堂av| 国产女同一区二区| 日韩一级黄色av| 亚洲女人天堂网| 日韩一中文字幕| 欧美电影在线观看完整版| 欧美成人精品在线| 国内免费久久久久久久久久久| 国产精品久久激情| 欧日韩不卡在线视频| 欧美成人午夜剧场免费观看| 国产在线精品播放| 97久久精品国产| 日本午夜在线亚洲.国产| 欧美剧在线观看| 欧美日韩性视频在线| 国产成人精品日本亚洲| 97在线观看免费高清| 亚洲欧美日韩高清| 久久久成人的性感天堂| 亚洲精品国产精品久久清纯直播| 亚洲人精品午夜在线观看| 欧美成aaa人片在线观看蜜臀| 狠狠做深爱婷婷久久综合一区| 日韩欧美亚洲综合| 欧美日韩中文字幕|