C语言控制结构程序设计,第3讲 C语言程序的基本控制结构_C语言程序设计(上)_pps_大学课件预览_高等教育资讯网...
Page 1
C語言程序設計 清華大學 鄭莉 安穎蓮第三講 C語言程序的基本控制結構參考書,計算機程序設計基礎,第三章
,C程序設計,第四章、第五章
Page 2
C語言程序設計 清華大學 鄭莉 安穎蓮本講主要內容
結構化程序設計
if 語句
switch 語句
while 語句
do-while 語句
for 語句
break 和 continue 語句
Page 3
C語言程序設計 清華大學 鄭莉 安穎蓮結構化程序設計
計算機程序=算法+數據結構
計算機程序設計=算法+數據結構
+程序設計方法學
Page 4
C語言程序設計 清華大學 鄭莉 安穎蓮結構化程序設計
— 結構化算法(一)
算法就是解決問題的方法。
例如,秦九韶在,九章算術,中記載的,求最大公約數的輾轉相除法:
第一步,算法開始。
第二步,輸入原始數據:取得所給定的自然數 m 和 n。
第三步,當 m≠n 時,順序執行第四步;反之,轉到第六步。
第四步,若 m>n,則 m←m -n ;否則 n←n -m。
第五步,返回第三步。
第六步,輸出結果:所求最大公約數為 m。
第七步,算法結束。
Page 5
C語言程序設計 清華大學 鄭莉 安穎蓮算法的特征:
有窮性如,Sin x=x/1-x3/3!+x5/5!-x7/7!+… 不是算法。
N!=1× 2× 3× … × N 是算法。
確定性如:菜譜中說,加少許鹽,不嚴格,不是算法。
可執行性
0個或多個輸入
1個或多個輸出結構化程序設計
— 結構化算法(二)
Page 6
C語言程序設計 清華大學 鄭莉 安穎蓮
算法類型:
–數值算法、非數值算法。
基本結構:
結構化算法必須只能由下列三種基本控制結構所構成:
–順序結構
–分支結構
–循環結構結構化程序設計
— 結構化算法(三
)
Page 7
C語言程序設計 清華大學 鄭莉 安穎蓮結構化程序設計
— 結構化算法(三)
結構化算法的本質屬性:
有且僅有一個入口
有且僅有一個出口
無死塊(即永遠無法執行到的塊)
無死循環塊
Page 8
C語言程序設計 清華大學 鄭莉 安穎蓮算法描述工具:
流程圖
N- S圖
PDL 語言結構化程序設計
— 結構化算法(四)
Page 9
C語言程序設計 清華大學 鄭莉 安穎蓮結構化程序設計
— 結構化程序設計技術與方法
模塊化結構設計方法在程序設計中,將一個復雜的算法(或程序)分解成若干個相對獨立、功能單一的模塊,利用這些模塊即可適當地組合成所需要的全局算法(或)程序。
自頂向下結構設計方法從總體出發,居高臨下,逐層分解和逐步細化。
逐步求精結構設計方法實質上也是一種自頂向下的設計方法。
首先拋開細節設計出抽象算法,然后把抽象數據和操作逐步具體化,直到可以由計算機具體實現為止。
Page 10
C語言程序設計 清華大學 鄭莉 安穎蓮
if (表達式 ) 語句例,if (x>y) printf("%d",x);
if (表達式 ) 語句 1 else 語句 2
例,if (x>y) printf("%d",x);
else printf("%d",y);
if (表達式 1) 語句 1
else if (表達式 2) 語句 2
else if (表達式 2) 語句 3
…
else 語句 n
if 語句
—— 三種形式
Page 11
C語言程序設計 清華大學 鄭莉 安穎蓮
一般形式
if ( )
if ( ) 語句 1
else 語句 2
else
if ( ) 語句 3
else 語句 4
注意
– 語句 1,2,3,4 可以是復合語句每層的 if 與
else 配對,或用 { } 來確定層次關系
if 語句
—— 嵌套
Page 12
C語言程序設計 清華大學 鄭莉 安穎蓮條件運算符
一般形式:
表達式 1?表達式 2:表達式 3
執行順序:
先求解 表達式 1,若值為非 0,則求解 表達式 2,表達式 2的值為最終結果;
若值為 0,則求解 表達式 3,表達式 3的值為最終結果。
注意:
– 條件 運算符優級 高于 賦值 運算符,低于 關系 運算符和 算術 運算符;
– 結合方向為 自右至左;
– 只能取代簡單的 if語句:內嵌語句為賦值語句,且兩個分支都給同一個變量賦值;
– 表達式 1,2,3的類型可以不同,條件表達式的最終類型為 2 和 3 中較高的類型。
Page 13
C語言程序設計 清華大學 鄭莉 安穎蓮
一般形式
switch (表達式 )
{ case 常量表達式 1:語句 1
case 常量表達式 2:語句 2
┆
case 常量表達式 n:語句 n
default,語句 n+1
}
switch 語句
執行順序以 case中的 常量表達式值 為入口標號,由此開始順序執行。
因此,每個 case分支最后應該加 break語句。
每個常量表達式的值不能相同,次序不影響執行結果。
可以是多個語句,但不必用 { }。
可以是 整型、字符型、枚舉型
Page 14
C語言程序設計 清華大學 鄭莉 安穎蓮使用 switch語句應注意的問題
case分支可包含多個語句,且不用 { }
表達式、判斷值都是 int型或 char型
若干分支執行內容相同可共用一組語句
Page 15
C語言程序設計 清華大學 鄭莉 安穎蓮
while 語句
形式
while (表達式 ) 語句可以是復合語句,其中必須含有改變條件表達式值的語句。
執行順序先判斷表達式的值,非 0 再執行語句。
—— 實現,當型,循環。
Page 16
C語言程序設計 清華大學 鄭莉 安穎蓮
類似于直到型循環,但不同。
do-while 語句
一般形式
do 語句
while (表達式 )
可以是復合語句,其中必須含有改變條件表達式值的語句。
執行順序先執行語句,后判斷條件。
表達式非 0時,繼續執行循環體。
while 語句與 do-while 語句的比較
While 語句執行順序先判斷表達式的值,非 0 再執行語句
—— 實現,當型,循環
。
直到型循環是當條件表達式為“真”時,停止循環。
Page 17
C語言程序設計 清華大學 鄭莉 安穎蓮
for 語句
形式
for (表達式 1;表達式 2;表達式 3) 語句循環前先求解非 0時執行循環體每次執行完循環體后求解
流程圖
P70 圖 5.6
注意事項
P70- 71
Page 18
C語言程序設計 清華大學 鄭莉 安穎蓮
break 和 continue 語句
break語句使程序從循環體和 switch語句內跳出,繼續執行邏輯上的下一條語句。不能用在別處。
continue 語句結束本次循環,接著進行是否執行下一次循環的判斷。
Page 19
C語言程序設計 清華大學 鄭莉 安穎蓮
,C 程序設計,P64 4.5- 4.8
,C 程序設計,P79 5.2,5.6,
5.10,5.15
復習:,C 程序設計,第四、五章
,計算機程序設計基礎,第三章
熟悉一種 C語言編譯環境的調試方法。
作 業
總結
以上是生活随笔為你收集整理的C语言控制结构程序设计,第3讲 C语言程序的基本控制结构_C语言程序设计(上)_pps_大学课件预览_高等教育资讯网...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 待面签是什么意思
- 下一篇: c语言的函数中局部变量可以return吗