1. 程式人生 > >順序、分支結構理解

順序、分支結構理解

順序結構、分支結構學後有感

山東農業大學2018級數學類四班李偉超 2018年11月9日 星期五

A.順序結構是身為大一菜鳥的我入手學習掌握的第一種基礎結構。它是將每條語句按自上而下的順序依次執行一次的程式結構,體現著處理問題步驟的順序關係。為較好的掌握該結構,這幾周我們著重學習了(1)、C資料型別;(2)、簡單的算術運算和表示式;(3)、輸入輸出以此來為學習順序結構打下基礎。以下為相關內容的知識點總結:

(1) .①常量:【整型常量(23)、實型常量(3.14)、字元型常量('x’)、字串常量(”Hello!”)】

②變數:可以改變的量(PS:變數必須先定義後使用)→C語言中資料型別分類

↓→賦值(a=b)【右結合】→運算子的優先順序、結合性考慮:【圓括號的優先順序最高】

識別符號命名:必須以字母或下劃線開頭,且只能由英文字母、數字和下劃線組成。

(2).①算術運算子(+、-、*、/、%)【左結合,其他優先順序高於賦值運算子】

 ②++變數、--變數、變數++、變數--(注意區分)

 ③自動型別轉換【不同型別資料之間運算會發生】

 ④整數除法、浮點數除法(*)

 ⑤巨集常量.(無資料型別)、const常量.(有資料型別定義)

(3).①字元常量:’a’、轉義字元:’\n’

  ②字元輸入:ch=getchar();→字元輸出:putchar(ch);

  ③格式化輸入:scanf(“%d”,&a);(各種格式)

    格式化輸出:printf(“a=%d\n”,a);

順序結構的應用方面:

一.順序結構作為最簡單,最基礎,也是最常用的程式結構,可以獨立使用構成一個簡單的完整程式,從而有效的解決邏輯清晰,目的直接的生活問題,例如計算圓的周長面積,雞兔同籠問題,變數之間的交換問題,用順序結構一步一步按照順序步驟處理問題再合適不過了。

二.在日後的深入學習中我們會慢慢發現,除了單獨解決一些簡單的問題之外,順序結構還可以作為更為複雜的程式中的一部分,與其他結構一起構成一個複雜的程式,用來解決更加複雜的問題。例如分支結構中的複合語句、迴圈結構中的迴圈體等等。

B.分支結構 :【(1).if選擇結構(單分支);(2).if-else選擇結構(雙分支);(3).switch選擇結構(多分支)】

(*)學習分支結構的預備知識:關係運算符(>、<、>=、<=、==、!=)

邏輯運算子(&&、||、!);條件運算子(?、:)

(1).if選擇結構:if (表示式)語句A

(2).if-else:if(表示式)語句A;else 語句2;

   else-if:if(表示式1)語句1;

   else if(表示式2)語句2;

   ……

   else if(表示式n)語句n;

(3).switch選擇結構:

switch(表示式)【多種情況能用一個離散的值表示】

{

case常量1:語句序列1

case常量2:語句序列2

……

case常量n:語句序列n

default: 語句序列n+1}

分支結構的應用方面:

一.較之於順序結構便於解決計算、輸出,但不能作出判斷再選擇的特點,分支結構則有效的彌補了這樣的缺陷。分支結構的執行是依據一定的條件選擇執行路徑,而不是嚴格按照語句中出現的物理順序。這使得它能夠有效的解決實際應用中按不同情況進行不同處理的問題。劃分學生成績等第、分檔計算郵資,水費,電費等均離不開分支結構。以根據學生的成績為例,對學生作出不同的等第評價,用分支結構對學生的成績進行劃分,可以將其劃入不同的等第,處理起來也顯得得心應手。

二.分支結構也適合於帶有邏輯或關係比較等條件判斷的計算,如三角形成立條件、閏年的判斷問題,我們只需要將問題的邏輯一點點理好,用分支結構一步步表示出來,問題自然而然就解決了。

學習過程中的心得感悟:

經過幾周的理論學習,以及在OJ中的摸爬滾打,我也慢慢悟出了一些自己對於程式設計學習的心得和感悟:

一.將課前的學習與老師上課的思路校對,剔錯,最後融合起來,這樣對於知識點的理解能夠更上一層樓。

二.課後的OJ作業能夠把課堂理論學習中一些自己容易忽略的小點暴露出來,比如if語句的括號問題等,及時的記錄不足,改掉不足才能更徹底的掌握知識。所以課後的OJ絕對不能小視。

三.做OJ時,不能畏首畏尾,萬事開頭難,邁出第一步,下一步自然而然就會跟上來,想的太多隻會更加不知所措。

四.對於初學者來說,1A確實比較困難,一些隱藏的小BUG往往難以發現,,這就需要我們更加嚴密自己的思維,理清楚邏輯和思路,尤其是對於資料的型別設定絕對不能馬虎大意。

五.細節,細節,細節,重要的事情說三遍!!!千里之堤,潰於蟻穴,每一個程式設計師都不希望因為一個分號,或者是字母的大小寫,一個多餘的空格而使得整個精心設計的程式出現問題,所以平時要更加嚴格要求自己,程式沒有編譯成功,就絕對不能掉以輕心。

以上即為我對順序、分支結構的知識整理,應用認識和學習感悟,that’all,thank you!