• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      淺談中職計(jì)算機(jī)C語言教學(xué)中的三種循環(huán)結(jié)構(gòu)

      2019-06-11 07:16:42姜研艷
      科學(xué)與財(cái)富 2019年9期

      姜研艷

      摘 要:C語言簡潔緊湊,靈活方便,是一種廣泛使用的程序設(shè)計(jì)語言,它具有功能豐富、表達(dá)能力強(qiáng),使用靈活方便等特點(diǎn)。像許多計(jì)算機(jī)語言一樣,C語言有三種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。而循環(huán)結(jié)構(gòu)是重點(diǎn)也是難點(diǎn)。本文對(duì)C語言中的三種循環(huán)做了分析和比較,讓學(xué)生更容易理解和掌握C語言。

      關(guān)鍵詞:C語言;while循環(huán);do..while循環(huán);for循環(huán)

      C語言簡潔緊湊,靈活方便。成為最受歡迎的語言之一,同時(shí)也是中職計(jì)算機(jī)學(xué)校必學(xué)的一門語言課。在程序設(shè)計(jì)中對(duì)于那些需要重復(fù)執(zhí)行的操作應(yīng)該采用循環(huán)結(jié)構(gòu)來完成,循環(huán)結(jié)構(gòu)又稱重復(fù)結(jié)構(gòu)。利用循環(huán)結(jié)構(gòu)處理各類重復(fù)操作既簡單又方便。循環(huán)程序設(shè)計(jì)是C語言的重點(diǎn)也是難點(diǎn)。循環(huán)程序主要有三種類型。while循環(huán),do…while循環(huán)。for循環(huán)。因此,掌握三種類型之間的區(qū)別和聯(lián)系則顯得尤為重要。它們?nèi)叩膮^(qū)別和聯(lián)系主要體現(xiàn)在以下幾個(gè)方面:

      一、一般形式:

      1、while循環(huán):

      while(條件表達(dá)式)

      {語句序列;}

      2、do…while循環(huán)

      do

      {語句序列;}

      while(條件表達(dá)式);

      3、for循環(huán)

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

      {語句序列;}

      二、執(zhí)行過程:

      while循環(huán):

      當(dāng)條件表達(dá)式語句的返回的值為真的時(shí)候,程序就會(huì)執(zhí)行下面大括號(hào)里的語句序列中的語句,當(dāng)程序執(zhí)行完這個(gè)執(zhí)行語句序列中的語句的時(shí)候,程序就會(huì)再一次的回來執(zhí)行這個(gè)條件表達(dá)式語句,當(dāng)程序檢查這個(gè)條件表達(dá)式語句的結(jié)果還是真時(shí),程序就會(huì)再一次的執(zhí)行這個(gè)執(zhí)行語句塊中的語句,當(dāng)程序執(zhí)行完成這個(gè)執(zhí)行語句塊中的語句以后,程序就會(huì)再一次的回來判斷這個(gè)條件表達(dá)式語句,當(dāng)這個(gè)條件表達(dá)式語句返回的值還是真的時(shí)候,程序就會(huì)再一次的去執(zhí)行這個(gè)大括號(hào)中的執(zhí)行語句塊中的語句,如此往復(fù)直到這個(gè)條件表達(dá)式語句返回的結(jié)果為假的時(shí)候,程序就會(huì)停止循環(huán),而去執(zhí)行整個(gè)while循環(huán)語句以外的后面的其他的語句。

      do ..while循環(huán)

      do… while循環(huán)while后面必須要有分號(hào),不管while條件表達(dá)式語句是否為true,程序要先執(zhí)行一次語句序列中的語句,當(dāng)?shù)谝淮螆?zhí)行完執(zhí)行語句序列中的語句后,程序再去判斷這個(gè)條件表達(dá)式語句是否為true,如果為true再進(jìn)行這個(gè)while循環(huán),如果為false就跳出這個(gè)循環(huán)。

      for循環(huán)

      1、第一次循環(huán),即初始化循環(huán)。

      首先執(zhí)行表達(dá)式1(一般為初始化語句),再執(zhí)行表達(dá)式2(一般為條件判斷語句),判斷表達(dá)式1是否符合表達(dá)式2的條件,如果符合,則執(zhí)行語句序列,否則,停止執(zhí)行,最后執(zhí)行表達(dá)式3。

      2、下次的循環(huán):

      首先執(zhí)行表達(dá)式2,判斷表達(dá)式3是否符合表達(dá)式2的條件;如果符合,繼續(xù)執(zhí)行語句序列,否則停止執(zhí)行,最后執(zhí)行表達(dá)式3.如此往復(fù),直到表達(dá)式3不再滿足表達(dá)式2的條件。在for循環(huán)中“表達(dá)式1”和“表達(dá)式3”可以是一個(gè)簡單的表達(dá)式。

      總體來說,while是先判斷再執(zhí)行,do…while是先執(zhí)行再判斷,for循環(huán)的語句顯得更緊湊一些,for語句一般更適合用于循環(huán)次數(shù)比較明確的情況,而while或do…while語句則用于循環(huán)次數(shù)難以判定的情況。

      三、循環(huán)次數(shù)

      從循環(huán)的執(zhí)行過程不難看出。While循環(huán)是先判斷后執(zhí)行,一旦第一次條件為假,則它的執(zhí)行次數(shù)就為0,最少執(zhí)行0次。for循環(huán)也是一樣的。而do…while則不同。它是先執(zhí)行后判斷,所以不管條件是否為真,它都要執(zhí)行一次。所以它的執(zhí)行次數(shù)最少為1次。

      四、while和do...while的區(qū)別比較

      下面通過例題比較兩者的區(qū)別

      1、 #include ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2、 #include

      main() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? main()

      {char ch; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?{char ch;

      ch=getchar(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?ch=getchar();

      do ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?while(ch!=*)

      {putchar(ch); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? {putchar(ch);

      ch=getchar(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ch=getchar();

      }while(ch!=*); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}

      } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }

      這兩個(gè)程序如果同樣都是輸入:*AB*

      第一種do..while循環(huán)是先執(zhí)行后判斷,因此不做判斷先輸出。結(jié)果是*AB。

      第二種while循環(huán)是先判斷后執(zhí)行,因此它先做判斷,如果是真值再做輸出。結(jié)果是*AB*

      五、三種循環(huán)的共同點(diǎn)

      while, do-while, for循環(huán)語句,雖然格式不同,但它們有著共同的特點(diǎn),都實(shí)用于循環(huán)結(jié)構(gòu)程序設(shè)計(jì)。在程序設(shè)計(jì)的過程中,都具有如下三個(gè)要素:

      1、循環(huán)變量賦初值。

      2、循環(huán)條件。

      3、循環(huán)變量值的調(diào)整。

      循環(huán)體語句的正確執(zhí)行,依賴于循環(huán)的條件,循環(huán)的條件依賴循環(huán)入口時(shí)的初始化工作,一環(huán)緊扣一環(huán)。

      循環(huán)體中安排哪些語句,要從分析具體問題入手,前后呼應(yīng),合乎邏輯。并且能確保循環(huán)能夠終止。而且結(jié)論正確。

      循環(huán)體中一定要有能改變循環(huán)繼續(xù)的條件語句,使得循環(huán)趨于結(jié)束,否則循環(huán)將無休止的進(jìn)行下去,而形成“死循環(huán)”。這是我們應(yīng)該避免的。所以為使循環(huán)能夠正確進(jìn)行,一定要做好循環(huán)的準(zhǔn)備工作,在循環(huán)語句開始前,要給循環(huán)條件和循環(huán)初值賦上一定的值。

      六、實(shí)際應(yīng)用

      理論的學(xué)習(xí)需要實(shí)際的題來檢驗(yàn)。不同的題有最適合它的循環(huán)結(jié)構(gòu)。

      有這樣的兩道題。

      1、從鍵盤上輸入10個(gè)數(shù),求其和。

      分析用三類循環(huán)中的哪個(gè)呢?不難看出這道題中的循環(huán)次數(shù)比較明確,應(yīng)該最優(yōu)選用for循環(huán)。它的編程如下:

      #include

      main()

      { int i,num,sum;

      sum=0;

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

      {scanf(“%d”,&num);

      sum=sum+num;

      }

      printf(“%d”,sum);

      }

      2、從鍵盤上輸入若干個(gè)數(shù),直到遇到2為止,求它們的和。

      分析得出循環(huán)次數(shù)難以判定,排除for。應(yīng)該用while或者do…while。兩個(gè)都可以?還是其中一個(gè)呢?因?yàn)閣hile是先判定后執(zhí)行;do…while是先執(zhí)行后判定。而本題中要求遇到2就截止。如果用do…while的話,第一個(gè)數(shù)就是2,那么這個(gè)2也會(huì)被加進(jìn)去。將違背我們的題意。所以不能用do…while。while是先判定后執(zhí)行。如果第一個(gè)數(shù)是2的話,while會(huì)先判斷不合理,不會(huì)去執(zhí)行語句序列的。所以本題應(yīng)該選用while循環(huán)。

      它的編程如下:

      #include

      main()

      { int n;

      int t=0;

      scanf(“%d”,&n);

      while(n!=0)

      { t=t+n;

      scanf(“%d”,&n);

      }

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

      }

      總之,循環(huán)結(jié)構(gòu)是C語言中程序設(shè)計(jì)中的一個(gè)重要知識(shí)點(diǎn)。教師在教學(xué)過程中,應(yīng)讓學(xué)生掌握三種循環(huán)的區(qū)別和聯(lián)系。盡可能提高學(xué)生的學(xué)習(xí)積極性,點(diǎn)燃學(xué)生學(xué)習(xí)的熱情,讓學(xué)生能輸出正確的程序,輸出快樂的人生。

      參考文獻(xiàn):

      [1]陳琳.編程語言基礎(chǔ):C語言,高等教育出版社,2016,07

      [2]陳琳.C語言學(xué)習(xí)輔導(dǎo)與上機(jī)實(shí)習(xí), 高等教育出版社,2012,01

      [3]譚浩強(qiáng).C語言程序設(shè)計(jì)教程,高等教育出版社,2002

      石渠县| 邳州市| 和政县| 阆中市| 海阳市| 枣阳市| 焉耆| 弥勒县| 尼玛县| 大邑县| 沂南县| 墨脱县| 龙游县| 色达县| 松桃| 会宁县| 泗阳县| 平远县| 西乡县| 三河市| 黔西| 漳浦县| 藁城市| 高淳县| 濉溪县| 顺平县| 大石桥市| 孟州市| 西平县| 彩票| 兴宁市| 北安市| 顺昌县| 延安市| 唐河县| 新宁县| 景泰县| 邓州市| 宁都县| 宜兰县| 黔西县|