久久精品99久久_亚洲一区二区综合_狠狠色伊人亚洲综合成人_亚洲综合爱爱久久网

您好,歡迎進入深圳市穎特新科技有限公司官方網站!

您現在的位置:首頁 新聞資訊 >> 新聞頭條 >> C語言循環結構
新聞資訊
NEWS INFORMATION

C語言循環結構

關鍵字:C語言教程 發布時間:2019-05-22

該章內容:本章我們學習三大結構之一:循環結構。通常采用循環結構來解決有規律性的重復性工作,如求學生的總成績;統計車站某月的人流量。在程序設計中對那些需要重復執行的操作我們采用循環結構來完成,幾乎所有實用的程序都包含循環。c語言中有三種循環語句來構成循環結構:while語句,do-while語句和for語句。本章是考試的重點章節。

學習方法:先了解循環結構相關的基礎知識,熟悉三種循環結構的特點,先讀懂循環的程序,再慢慢學習編寫程序。最終一定要學會用循環來解決規律性的重復性工作的問題。

第一節   while語句及其構成的循環結構

知識點:while語句的執行過程;循環體中語句書寫的位置對程序的影響;

重要程度:★★★★

程序一:

while(y++);      (循環體為空,while只管后面一個語句,管多個用大括號!!!)

printf(“%d”,y);

----------------------------------------

程序二:

while(y++)       (循環體為printf(“%d”,y);)

printf(“%d”,y);

當以上兩個程序的y初始化為-2的時候,兩個程序運算的結果是不同的,請注意原因就是:程序二中的while(y++)后面有沒有分號。(這幾年考試的熱點

注意:while只管后面一個語句,管多個要用大括號!!(考試熱點)

                    

圖1  while循環流程圖

例1:以下程序的輸出結果是________(for、while這些循環都只管后面一個分號

main( )

{      int x=2;

       while(x- -);

            printf("%d",x);

}

分析:本題需要特別注意的是while(x--)后面緊跟一個分號,它表示while循環的循環體部分是一個空語句,而不是printf語句。

(1)程序首先將x的值初始化為2。進入while循環后,表達式x--的值為2,為真,執行空循環體,此時x的值為1。第一輪循環結束。

(2)進入第二輪循環,x--的值為1,表達式仍然為真,繼續執行空循環體,此時x的值為0。第二輪循環結束。

(3)進入第三輪循環,x--的值為0,表達式仍然為假,跳出循環,執行printf語句,此時x的值為-1。答案為-1。

第二節   do-while語句及其構成的循環結構

知識點:do-while語句的執行過程;do-while和while的相似和不同之處;

重要程度:★★★★

do-while語句的一般形式如下:

do

循環體

while (表達式);

 

 

 

                                                           圖3  do-while語句流程圖

注意:

(1)do-while循環語句的循環體至少執行一次

(2)在while(表達式)后的“;”不可以少。它表示do-while語句的結束。

(3)do-while語句與while語句可以相互轉換。

例1:有如下程序

main( )

{  int x=23;

do

{  printf("%d",x--);}

while(!x);

}

該程序的執行結果是 ( )。

A) 321   B) 23   C) 不輸出任何內容   D) 陷入死循環

分析:本例就是告訴大家do-while循環至少執行一次循環體。

首先執行循環體,將表達式x--的值輸出,其值為23。接著判斷!x為假,因此跳出do-while循環。最后得到輸出結果為23,答案選擇B。不要先去判斷表達式!x的真假,這樣容易選到C。

例2:有以下程序(注:字符a的ASCIl碼值為97)
#include
main()
{char*s={"abe");
do
{printf(”%d”,*s%10);++s;)
while(*s);
)
程序運行后的輸出結果是(    )。B
A)abc   
B)789   
C)7890   
D)979899
第三節   for語句及其構成的循環結構(重點章節)

知識點:for語句的執行過程;for語句中三個表達式使用方法;for 、while、 do-while之間的聯系和區別;

重要程度:★★★★★

for(表達式1;表達式2;表達式3)

循環體語句

三個表達式要背誦的:

表達式1:作用是初始化循環的變量;(執行一次)

表達式2:循環條件的判斷;(可執行多次)

表達式3:作用是循環變量增值或減少。(可執行多次)

 

其執行過程如下:

(1)     求解表達式1。

(2)     求解表達式2,若其值為“真”非0,則執行

for語句控制的循環體語句,然后執行步驟(3)。

若為“假”0,則結束循環,轉到第(5)步。

(3)     求解表達式3

(4)     返回第(2)步繼續執行。

(5)     循環結束,執行for語句后面的語句。

                                                圖4  for循環流程圖

例1:如有以下程序

main()

{

   int i , sum=0;

   for(i=1;i<6;i++) sum+=i;

   printf("%d\n",sum);

}

執行后sum的值是( )

A)15        B)14     C) 不確定     D)0

分析:本例用一個for循環實現了1到5的累加。首先i為1,sum為0,i<6為真,執行sum+=i;使sum的值變為1,然后執行i++,使i的值變為2,i<6仍然為真,繼續執行循環體sum+=i;,使sum的值變為3,再執行i++,使i的值變為3。如此反復,直到i為6,i<6為假,跳出循環,執行printf語句輸出sum的值。答案選A。本例有兩種變形,請讀者自己分析結果。希望讀者深刻理解,循環體語句可以是一條語句,也可以是一條復合語句,甚至是條空語句。

變形1:main()                                變形2:main()

{                                            {

      inti , sum=0;                                   int i , sum=0;

      for(i=1;i<6;i++);                                             for(i=1;i<6;i++)

      sum+=i;                                      {sum+=i;

printf("%d\n",sum);                                     printf("%d\n",sum);}

}                                            }

 

關于for語句我們這里有幾點說明:

(1)for語句可以完全代替while語句:

表達式1;

while(表達式2)

{

循環體語句

表達式3;

}

(2)for后面小括號中的表達式1和表達式3都可以缺省,表達式1可以移到for語句之前,表達式3可以移到for循環體的尾部,但分號一定不能省。如:

                   i=1;

for(;i<=100;)

{     

sum=sum+i;

i++;

}

同理表達式1和表達式3既可以是單個的表達式,也可以是由多個表達式構成,中間用逗號“,”隔開。如:for(sum=0,i=1;i<=100;i++,i++)。

(3)表達式2可以缺省,此時相當于表達式2的值永遠為真,循環將無限執行下去,一般就會形成死循環。這樣就會出現三個表達式都缺省的情況。如 for(;;),等同于while(1)。

(4)看懂:for(sum=0,i=1;i<=100,sum=sum+i; i++)這個長得很特殊的循環的程序。

例2:以下程序的輸出結果是( )。

main()

{ int a=0,i;

  for(i=1;i<5;i++)

  {

    switch(i)

    {   case0:

      case 3:a+=2;

      case 1:

      case 2:a+=3;

      default:a+=5;

    }

  }

  printf("%d\n",a);

}

A) 31     B)13      C) 10      D) 20

分析:本例是for語句和switch語句的結合應用。首先i為1,i<5為真,執行循環體,循環體是一條switch語句,轉到case 1它不做任何操作,特別注意它后面的case也要執行,因此執行a+=3;和a+=5;,此時a為8了。接著執行i++,i變為2,i<5為真,繼續執行循環體switch語句,執行case2和后面的default,此時a變為16。如此反復,直到i為5,i<5為假,跳出循環。最后結果為31。答案選A。

例3:有以下程序
#include <stdio.h>
double f(double x);
main()
{double a=0;int i;
for(i=0;i<30;i+=10)a+=f((double)i);
printf("%5.0f\n",a);
}
double f(double x)
(return x*x+1;)
程序運行后的輸出結果是(    )。
A)503   
B)401   
C)500   
D)1404

第四節   循環的嵌套

知識點:嵌套循環的執行的過程; (學會做題目,掌握循環的方法)

重要程度:★★★★

例1

有以下程序

main( )

{    

int i,j,sum=0;

for(i=1;i<5;i++)

for(j=1;j<4;j++)

sum++;

printf("%d",sum);

}

程序的輸出結果是_______

分析:本題考察點在嵌套的for循環中,內層和外層循環的執行過程。內層循環結構的循環體是sum變量的自加,外層循環的循環體是內層的for循環結構。首先i的值為1,進入循環體(內層for循環結構),j的值為1,sum的值變為1;內層循環繼續執行,j為2,sum再次自加為2;j自加為3,sum也為3;j自加為4的時候,j<4為假,因此跳出內層循環。外層循環的循環體執行完畢一次,下面計算i++。

i的值變為2,進入循環體,重復上述過程,sum一共增加3,值為6。跳出內層循環。外層循環的循環體執行完畢。再次計算i++。

i的值變為3,重復以上過程,sum的值增加3。i的值變為4,sum繼續增加3。當i的值變為5的時候,i<5為假,跳出外層循環。輸出sum的值。由于外層循環每執行一次,sum要自加3次,所以一共sum自加12次。最后sum的值為12。各個變量的變化情況見圖5所示。

                                   i             1               2                   3                   4

                                   j             1 2  3         1  2  3         1  2  3         1 2  3

                                   sum        1 2  3         4  5  6         7  8  9         10 11 12

圖5  例6中各變量的變化情況

考試核心:

1、 近幾年是考試的重點,復習時候,把習題冊上最近三年的嵌套循環完成就可以了。

2、 嵌套循環是上機考試天空題目的重點。

3、 一定要知道嵌套循環的實質,和運算的整個流程。

   sum = 0;

for(i=1;i<=10;i++){

for(j=2;j<=5;j++) sum++;

       這個程序中,sum就一共執行了10(外層循環次數)乘以4(嵌套的二次循環)等于40次。

 

第五節  break語句和continue語句在循環體中的運用

知識點:break和continue的區別; break和continue的使用范圍;

重要程度:★★★★★

1、break語句

break; 英文的意思是打破的意思。所以看到break,我們馬上要知道它是終止了循環這個過程。

例1:以下程序運行后的輸出結果是

main()

{      int x=15;

      while(x>10)

       {     x++;

             if(x%3) {x++;break;}   //誤區,break是打破一層循環,不是一層括號!!

        x++;

      }

       printf(“%d\n”,x);

}

A)15                       B)16                       C)17                       D)18

分析:本例是break語句在循環體中的運用。x的初值為15,滿足while循環條件,執行循環體。x++使x的值變為16。進入if語句,計算16%3的值為1,if后的表達式為真,故執行復合語句,x自加為17,接著執行break語句,跳出整個while循環。顯然后面的x++并不執行。因此x的值為17,答案選C。

注意: break語句只能出現在switch語句體和循環結構中。

2、continue語句

continue;英文的意思是繼續的意思.。其作用是結束本輪循環,跳過本輪循環體中余下尚未執行的語句,接著下一輪繼續進行循環。

注意:continue語句和break語句的區別:continue語句只結束本輪循環,而不是終止整個循環。而break語句則是結束整個循環

main( )

{      int x=1;

      while(x<3)

       {     x++;

             if(x%2) continue;

        x++;

      }

       printf(“%d\n”,x);

}

 

 

 

main( )

{      int x=1;

      while(x<3)

       {     x++;

             if(x%2) break;

        x++;

      }

       printf(“%d\n”,x);

}

 

 

   

    以上兩個程序看上去是只有break和countine的差別,但是運算起來差別很大。第一個程序運算的結果為2,第二個程序運算的結果為3。

例2:把100~500之間的能3整除的數輸出。(深刻理解)

main( )

{     int n;

for(n=100;n<=500;n++)

{     if(n%3!=0) continue;

printf("%3d",n);

}

}

分析:當n不能被3整除時,表達式n%3!=0為真,執行continue語句,跳過printf語句,直接執行n++,然后再對n<=500進行判斷,決定是否執行循環體。當n能被3整除時,表達式n%3!=0為假,跳過continue語句,執行printf語句將該數輸出。

考試核心:

1、含有break和continue的程序運算考察,習題冊上有多個經典考題的代表。

2、break和continue的概念區別是考試愛出題的地方。

3、自己寫一下,輸出1-100之間被三整除的數,并且每行輸出三個數字的程序。

main( )

{     int n=1,count=0;

for(n=1;n<=100;n++)

{     if(n%3==0){printf("%3d",n);count++;}

    if(count%3==0)printf(“\n”);

}}

聯系方式0755-82591179

郵箱:ivy@yingtexin.net

地址:深圳市南山區桃源街道平山社區平山一路2號南山云谷創業園二期11棟410-411

久久精品99久久_亚洲一区二区综合_狠狠色伊人亚洲综合成人_亚洲综合爱爱久久网
www.九色.com| 污网站免费在线| 强伦女教师2:伦理在线观看| 欧美 日韩 国产 激情| 蜜臀av午夜一区二区三区 | 国产麻豆电影在线观看| 国产野外作爱视频播放| 成人免费在线观看视频网站| 久热精品在线播放| 91 视频免费观看| 秋霞在线一区二区| 日本大片免费看| 凹凸国产熟女精品视频| 99久久激情视频| 欧美日韩精品区别| 国产爆乳无码一区二区麻豆| 欧美国产亚洲一区| 天堂网在线免费观看| 日本高清免费观看| 1024精品视频| 91丝袜超薄交口足| 欧美在线一区视频| 国产原创精品在线| 国产免费裸体视频| 免费国产成人av| 青青在线免费视频| 免费激情视频在线观看| 2021狠狠干| www.日本xxxx| 先锋影音男人资源| 欧美极品欧美精品欧美图片| 日韩av自拍偷拍| 黄www在线观看| 国产91porn| 欧美一级xxxx| 国产精品97在线| 欧美另类videosbestsex日本| 免费裸体美女网站| www.日本在线视频| 天天看片天天操| av免费中文字幕| 妞干网在线观看视频| 天堂在线一区二区三区| 欧美伦理片在线看| 天堂…中文在线最新版在线| 日韩av手机版| 女性隐私黄www网站视频| 四虎4hu永久免费入口| 国产免费中文字幕| 亚洲老女人av| 男女视频一区二区三区| 天堂…中文在线最新版在线| 91看片淫黄大片91| 99亚洲精品视频| 中文字幕第17页| 中文字幕第38页| 91制片厂毛片| 一区二区三区免费播放| 免费无码av片在线观看| 免费一级特黄特色毛片久久看| 国产精品jizz在线观看老狼| 免费不卡av网站| 国产精品无码乱伦| 亚洲男人天堂2021| 在线观看中文av| 国产精品99久久久久久大便| 欧美亚洲视频一区| 国产欧美综合一区| 日本男女交配视频| 欧美色图色综合| 男人操女人免费| 国产精品视频黄色| 亚洲无在线观看| 特大黑人娇小亚洲女mp4| 国产乱子伦精品视频| 欧美美女黄色网| 国产真人做爰毛片视频直播| 97av视频在线观看| 五月天婷婷亚洲| 国产欧美123| 国产91在线视频观看| 国产一级特黄a大片免费| 女人高潮一级片| 日本人妻伦在线中文字幕| 人妻av中文系列| 国产色视频在线播放| 中国老女人av| 免费无码av片在线观看| 天美一区二区三区| 奇米777四色影视在线看| 国产淫片免费看| 婷婷视频在线播放| 欧美日韩在线中文| 97精品国产97久久久久久粉红| av在线观看地址| 天堂av2020| 成人av一级片| 992tv快乐视频| 麻豆三级在线观看| 欧美在线一区视频| 久久精品一卡二卡| 黄色国产精品视频| 日韩精品一区二区三区电影| 亚洲狼人综合干| www.av蜜桃| 香蕉视频免费版| 手机在线成人免费视频| 国内自拍中文字幕| 国产在线观看中文字幕| 亚洲中文字幕无码中文字| 国内自拍中文字幕| 天天操,天天操| 久久网站免费视频| av日韩在线看| 99亚洲国产精品| www.日本久久| 在线播放黄色av| 五月天丁香花婷婷| 9久久婷婷国产综合精品性色| 国产天堂视频在线观看| 桥本有菜av在线| 91丨九色丨蝌蚪| 不卡中文字幕在线观看| 中文字幕中文在线| 性欧美1819| 亚洲va在线va天堂va偷拍| 免费看污黄网站| 亚洲男人天堂色| 久热精品在线观看视频| 91福利国产成人精品播放| 久久久免费视频网站| 免费av网址在线| xxxx一级片| 亚洲精品免费一区亚洲精品免费精品一区 | 蜜臀视频一区二区三区| 北条麻妃在线视频| 99热这里只有精品在线播放| 性chinese极品按摩| gogogo高清免费观看在线视频| 日韩av片网站| 91免费网站视频| 日韩精品视频在线观看视频| 成人一对一视频| 日本熟妇人妻中出| 成人综合久久网| 久久亚洲a v| 国产a级一级片| 午夜视频在线网站| 草草草视频在线观看| 免费在线观看亚洲视频| 欧美在线观看视频网站| 色91精品久久久久久久久| 青娱乐精品在线| 国产真人做爰毛片视频直播| 国产欧美高清在线| 午夜天堂在线视频| 免费看的黄色大片| 99热一区二区| 国产原创中文在线观看 | 久热精品在线播放| 高清无码一区二区在线观看吞精| 青娱乐自拍偷拍| 午夜大片在线观看| 国产91对白刺激露脸在线观看| 久久黄色片网站| 国内精品在线观看视频| www.成人黄色| 北条麻妃在线视频| 亚洲色成人www永久在线观看| 波多结衣在线观看| www.射射射| 丰满人妻一区二区三区53号 | 久久无码高潮喷水| 一本二本三本亚洲码| 日本免费一级视频| 日本香蕉视频在线观看| 国产美女视频免费看| 无码人妻h动漫| 91精品国产91久久久久麻豆 主演| 色啦啦av综合| 在线免费观看视频黄| 人妻有码中文字幕| 久久99久久99精品| 看一级黄色录像| 三级黄色片免费观看| 手机视频在线观看| 国产精品天天av精麻传媒| 成年人视频观看| www.com毛片| 欧洲av无码放荡人妇网站| 欧美成人高潮一二区在线看| h无码动漫在线观看| www.欧美黄色| 伊人再见免费在线观看高清版 | 一区二区三区四区毛片| 香蕉视频999| 免费在线观看污污视频| 日日干日日操日日射| 网站在线你懂的| 黄色影视在线观看|