<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • C語言程序的結構

    時間:2024-10-17 03:39:58 計算機等級 我要投稿
    • 相關推薦

    C語言程序的結構

      C語言的運算符包含的范圍很廣泛,共有34種運算符。C語言把括號、賦值、強制類型轉換等都作為運算符處理。下面是小編整理的關于C語言程序的結構,希望大家認真閱讀!

      (1)順序結構

      順序結構的程序設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執(zhí)行順序是自上而下,依次執(zhí)行。

      例如:a = 3,b = 5,現交換a,b的值,這個問題就好像交換兩個杯子水,這當然要用到第三個杯子,假如第三個杯子是c,那么正確的程序為:

      c = a;

      a = b;

      b = c;

      執(zhí)行結果是a = 5,b = c = 3如果改變其順序,寫成:

      a = b;

      c = a;

      b =c;

      則執(zhí)行結果就變成a = b = c = 5,不能達到預期的目的,初學者最容易犯這種錯誤。順序結構可以獨立使用構成一個簡單的完整程序,常見的輸入、計算,輸出三步曲的程序就是順序結構,例如計算圓的面積,其程序的語句順序就是輸入圓的半徑r,計算s = 3.14159*r*r,輸出圓的面積s。

      不過大多數情況下順序結構都是作為程序的一部分,與其它結構一起構成一個復雜的程序,例如分支結構中的復合語句、循環(huán)結構中的循環(huán)體等。

      (2) 分支結構

      順序結構的程序雖然能解決計算、輸出等問題,但不能做判斷再選擇。對于要先做判斷再選擇的問題就要使用分支結構。分支結構的執(zhí)行是依據一定的條件選擇執(zhí)行路徑,而不是嚴格按照語句出現的物理順序。分支結構的程序設計方法的關鍵在于構造合適的分支條件和分析程序流程,根據不同的程序流程選擇適當的分支語句。

      分支結構適合于帶有邏輯或關系比較等條件判斷的計算,設計這類程序時往往都要先繪制其程序流程圖,然后根據程序流程寫出源程序,這樣做把程序設計分析與語言分開,使得問題簡單化,易于理解。程序流程圖是根據解題分析所繪制的程序執(zhí)行流程圖。

      學習分支結構不要被分支嵌套所迷惑,只要正確繪制出流程圖,弄清各分支所要執(zhí)行的功能,嵌套結構也就不難了。嵌套只不過是分支中又包括分支語句而已,不是新知識,只要對雙分支的理解清楚,分支嵌套是不難的。下面我介紹幾種基本的分支結構。

     、賗f(條件){分支體}

      這種分支結構中的分支體可以是一條語句,此時“{}”可以省略,也可以是多條語句即復合語句。它有兩條分支路徑可選,一是當條件為真,執(zhí)行分支體,否則跳過分支體,這時分支體就不會執(zhí)行。如:要計算x的絕對值,根據絕對值定義,我們知道,當x>=0時,其絕對值不變,而x<0時其絕對值是為x的反號,因此程序段為:if(x<0)x=-x;

     、

      if(條件)

      {分支1}

      else

      {分支2}

      這是典型的分支結構,如果條件成立,執(zhí)行分支1,否則執(zhí)行分支2,分支1和分支2都可以是1條或若干條語句構成。

      如:求ax^2+bx+c=0的根

      分析:因為當b^2-4ac>=0時,方程有兩個實根,否則(b^2-4ac<0)有兩個共軛復根。其程序段如下:

      main()

      {

      int a,b,c,d,x,y;

      printf("Please put the number of a,b&c from the quadratic equation of one variable one by one\n");

      scanf("%d%d%d",&a,&b,&c);

      d=b*b-4*a*c;

      if(d<0)

      {

      printf("NO Root!Wrong!\n");

      }

      else

      {

      y=-b-sqrt(d)/2*a;

      x=-b+sqrt(d)/2*a;

      printf("The 1st equation root=%d\nThe 2nd equation root=%d",y,x);

      }

      }

      ③IF嵌套分支語句:

      其語句格式為:

      if(條件1) {分支1}

      else if(條件2) {分支2}

      else if(條件3) {分支3}

      ……

      else if(條件n) {分支n}

      else {分支n+1}

      FOR嵌套,其語句格式為:

      for(初值A;范圍A;步長A)

      {

      for(初值B;范圍B;步長B)

      {

      循環(huán)體

      }

      }

      FOR嵌套例子:九九乘法表

      main()

      {

      int a,b,c;

      for(a=1;a<=9;a++)

      {

      for(b=1;b<=a;b++)

      {

      c=b*a;

      printf("%dx%d=%d ",b,a,c);

      }

      printf("\n");

      }

      }

      嵌套分支語句雖可解決多個入口和出口的問題,但超過3重嵌套后,語句結構變得非常復雜,對于程序的閱讀和理解都極為不便,建議嵌套在3重以內,超過3重可以用下面的語句。

     、躶witch開關語句

      該語句也是多分支選擇語句,到底執(zhí)行哪一塊,取決于開關設置,也就是表達式的值與常量表達式相匹配的那一路,它不同if…else語句,它的所有分支都是并列的,程序執(zhí)行時,由第一分支開始查找,如果相匹配,執(zhí)行其后的塊,接著執(zhí)行第2分支,第3分支……的塊,直到遇到break語句;如果不匹配,查找下一個分支是否匹配。這個語句在應用時要特別注意開關條件的合理設置以及break語句的合理應用。

      (3)循環(huán)結構:

      循環(huán)結構可以減少源程序重復書寫的工作量,用來描述重復執(zhí)行某段算法的問題,這是程序設計中最能發(fā)揮計算機特長的程序結構,C語言中提供四種循環(huán),即goto循環(huán)、while循環(huán)、do?Cwhile循環(huán)和for循環(huán)。四種循環(huán)可以用來處理同一問題,一般情況下它們可以互相代替換,但一般不提倡用goto循環(huán),因為強制改變程序的順序經常會給程序的運行帶來不可預料的錯誤,在學習中我們主要學習while、do…while、for三種循環(huán)。

      常用的三種循環(huán)結構學習的重點在于弄清它們相同與不同之處,以便在不同場合下使用,這就要清楚三種循環(huán)的格式和執(zhí)行順序,將每種循環(huán)的流程圖理解透徹后就會明白如何替換使用,如把while循環(huán)的例題,用for語句重新編寫一個程序,這樣能更好地理解它們的作用。特別要注意在循環(huán)體內應包含趨于結束的語句(即循環(huán)變量值的改變),否則就可能成了一個死循環(huán),這是初學者的一個常見錯誤。

      在學完這三個循環(huán)后,應明確它們的異同點:用while和do…while循環(huán)時,循環(huán)變量的初始化的操作應在循環(huán)體之前,而for循環(huán)一般在語句1中進行的;while循環(huán)和for循環(huán)都是先判斷表達式,后執(zhí)行循環(huán)體,而do…while循環(huán)是先執(zhí)行循環(huán)體后判斷表達式,也就是說do…while的循環(huán)體最少被執(zhí)行一次,而while循環(huán)和for就可能一次都不執(zhí)行。

      另外還要注意的是這三種循環(huán)都可以用break語句跳出循環(huán),用continue語句結束本次循環(huán),而goto語句與if構成的循環(huán),是不能用break和 continue語句進行控制的。

      順序結構、分支結構和循環(huán)結構并不彼此孤立的,在循環(huán)中可以有分支、順序結構,分支中也可以有循環(huán)、順序結構,其實不管哪種結構,我們均可廣義的把它們看成一個語句。在實際編程過程中常將這三種結構相互結合以實現各種算法,設計出相應程序,但是要編程的問題較大,編寫出的程序就往往很長、結構重復多,造成可讀性差,難以理解,解決這個問題的方法是將C程序設計成模塊化結構。

      (4)模塊化程序結構

      C語言的模塊化程序結構用函數來實現,即將復雜的C程序分為若干模塊,每個模塊都編寫成一個C函數,然后通過主函數調用函數及函數調用函數來實現一大型問題的C程序編寫,因此常說:C程序=主函數+子函數。 因此,對函數的定義、調用、值的返回等中要尤其注重理解和應用,并通過上機調試加以鞏固。

      三.掌握一些簡單的算法

      編程其實一大部分工作就是分析問題,找到解決問題的方法,再以相應的編程語言寫出代碼。這就要求掌握算法,根據我們的《C程序設計》教學大綱中,只要求我們掌握一些簡單的算法,在掌握這些基本算法后,要完成對問題的分析就容易了。如兩個數的交換、三個數的比較、選擇法排序和冒泡法排序,這就要求我們要清楚這些算法的內在含義。

    【C語言程序的結構】相關文章:

    C語言程序設計學習技巧03-10

    學習二級c語言程序設計的方法03-10

    嵌入式開發(fā)中C語言中結構體解讀201603-11

    全國計算機c語言程序設計題庫201703-09

    2017年計算機等級c語言程序設計試題03-09

    全國計算機二級C語言《選擇結構》知識點復習03-06

    經典C語言面試算法題03-17

    概述C++語言特點12-09

    2017年全國計算機c語言程序設計考試試題及答案03-11

    主站蜘蛛池模板: 国产精品污WWW一区二区三区| 国内精品久久久久久麻豆| 国产精品免费精品自在线观看| 国产线视频精品免费观看视频| 国产成人精品天堂| 亚洲AV永久精品爱情岛论坛| 黑巨人与欧美精品一区| 国产精品一二三区| 四虎国产精品永久在线| 久久久久久久久久免免费精品| 日韩精品一区二区三区四区| 国产精品露脸国语对白| 亚洲精品国偷自产在线| 国产一区二区三区精品视频 | 国产精品欧美亚洲韩国日本| 亚洲午夜福利精品久久| 久久精品国产只有精品66| 白浆都出来了视频国产精品| 91麻豆精品视频| 国精品无码一区二区三区左线 | 十八18禁国产精品www| 欧美日韩国产精品 | 91麻豆精品视频| 99久久免费国产精品热| 国内精品久久久久久99| 精品国产乱码一区二区三区| 日韩精品极品视频在线观看免费 | 91国内揄拍国内精品情侣对白| 国产精品美女久久久久| 久久久久久国产精品无码超碰| 在线涩涩免费观看国产精品| 日本精品自产拍在线观看中文| 国产精品小视频免费无限app | 色国产精品一区在线观看| 亚洲精品午夜无码专区| 亚洲伊人久久精品影院| 亚洲爆乳精品无码一区二区三区| 亚洲精品白浆高清久久久久久| 亚洲精品乱码久久久久久中文字幕| 亚洲精品国产品国语在线| 少妇人妻偷人精品视频|