<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)順序結構

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

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

      c = a;

      a = b;

      b = c;

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

      a = b;

      c = a;

      b =c;

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

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

      (2) 分支結構

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

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

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

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

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

     、

      if(條件)

      {分支1}

      else

      {分支2}

      這是典型的分支結構,如果條件成立,執行分支1,否則執行分支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)

      {

      循環體

      }

      }

      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開關語句

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

      (3)循環結構:

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

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

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

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

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

      (4)模塊化程序結構

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

      三.掌握一些簡單的算法

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

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

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

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

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

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

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

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

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

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

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

    主站蜘蛛池模板: 伊在人亚洲香蕉精品区麻豆| 国产精品无码一区二区三区电影| 亚洲欧洲精品无码AV| 四虎在线精品视频一二区| 久久久久人妻一区精品色| 国产乱人伦偷精品视频不卡| 国产精品免费精品自在线观看| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 91精品婷婷国产综合久久| 久久精品无码一区二区无码| 亚洲精品国产福利一二区| 国产精品午夜福利在线无码| 免费91麻豆精品国产自产在线观看| 亚洲AV无码精品无码麻豆| 欧美精品在线视频| 国内精品久久久久国产盗摄| 2020最新久久久视精品爱| 国产一区二区精品| 国产精品91av| 国产成人精品日本亚洲网址| 国产三级久久久精品麻豆三级| 亚洲国产精品无码专区影院| 亚洲精品456播放| 三级国产精品| 无翼乌无遮挡全彩老师挤奶爱爱帝国综合社区精品 | 免费国产在线精品一区| 国产精品片在线观看手机版| 成人精品一区二区久久| 欧洲精品视频在线观看| 精品一区二区三区中文字幕| 91精品国产综合久久久久久| 国产精品久线在线观看| 国产成人精品午夜福利| 国产成人精品AA毛片| 国产日韩精品中文字无码| 精品无码久久久久久午夜| 少妇伦子伦精品无码STYLES | 久久93精品国产91久久综合| 国产精品亚洲专区无码WEB| 国产在线精品一区二区不卡麻豆| 国产精品你懂的在线播放|