第三章選擇結構

2021-03-04 09:58:15 字數 3505 閱讀 1094

1、c語言中的邏輯值

c語言中的邏輯值只有兩個:「真」和「假」。用非零來代表「真」,用零來代表「假」。

注意:1)由兩個字元組成的運算子之間不可以加空格,如<=就不能寫成:< =。

4)關係運算子的優先順序高於賦值運算子。如「=」的優先順序低於「==」。(注意「=」 「==」的區別)。(考試的重點)

5)關係運算子都是雙目運算子,自左至右的結合性。如4<5<2則等價於(4<5)<2(考試重點)。

1.2 關係表示式

關係表示式:用關係運算子將表示式連線起來的式子稱為關係表示式。

關係表示式的值:關係表示式的值若為真,則結果為1;若為假,則結果為0。(只有0和1兩種!!)

如,3>2>1的值為0;

c語言先判斷3>2為真在判斷1>1為假所以值為0.

若變數a中的值為10,變數b中的值為6,則關係表示式a>b的值為「真」,即為1。而關係表示式(a>5)<(b>10)的值為「假」,即為0。

注意:(1)&&和||運算子是雙目運算子,如(a>b)&&(x(2)在關係運算子、算術運算子、賦值運算子、邏輯運算子四者中,優先順序從高到低依次為:! (邏輯「非」)、算術運算子、關係運算子、&&(邏輯「與」)、||(邏輯「或」)、賦值運算子,逗號運算子。

1.2 邏輯表示式和邏輯表示式的值

邏輯表示式:用邏輯運算子將表示式連線起來的式子稱為邏輯表示式。

邏輯運算的物件可以是c語言中任意合法的表示式。如,!(a邏輯表示式的值:

邏輯表示式的運算規則如表3所示。邏輯表示式的值若為真,則結果為1;若為假,則結果為0。(表示式的值也只有0和1兩種!!!

)考試重點考察點:

1、在c語言中,由&&或||組成的邏輯表示式,在特定的情況下會產生「短路」的現象。在邏輯表示式的求解中,並不是所有的運算物件都被執行,只是在必須執行下乙個邏輯運算子才能求出表示式的解時,才執行該邏輯運算子。(若「&&」的左邊的運算物件的值為0,則不再對右邊的運算物件進行運算,直接得出整個表示式的值為0;若「||」的左邊的運算物件為1,則不再對右邊的運算物件進行運算,直接得出整個表示式的值為1。

)(1)若執行下列語句

a=0;b=1;

c=a++&&(b=6);

各變數的值為:a為1,b為1,c為0,由於(b=6)沒被執行到,故b的值不變。

(2)執行語句

a=1;b=1;c=0;

d=--a||b--||(c=b+3);

後,結果:a為0,b為0,c為0,d為1,表示式中的(c=b+3)沒有被執行到,c值不變。

2、用c語言正確表示數學意義上的a正確的表示方法是 a知識點:if語句的三種形式使用;if和else的搭配;巢狀的if語句的使用

重要程度:★★★★

1、if語句的三種形式

1.1 if語句

if只管後面乙個分號;要管多個用大括號把多個語句括起來。

程式1:

if(a

執行後輸出結果是

答案:645

分析:程式的第一行在定義a、b、c、t四個變數時初始化了值。接下來,第乙個if語句的表示式為:a1.3 if-else-if 語句結構

它的一般格式如下:(只有乙個語句被執行)

if(表示式1)

語句1;

else if(表示式2

語句2 ;

else if(表示式3)

語句3……

else

語句n ;

2、if語句的巢狀(概念考得多)

if語句的巢狀:在if語句中又包含乙個或多個if語句稱為if語句的巢狀。一般形式如下:

if(表示式1)

if(表示式2) 語句1;

else   語句2;

else

if(表示式3) 語句3;

else 語句4;

其執行過程:若表示式1為「真」,則執行其巢狀的if-else語句,否則,執行else後的內嵌if-else語句。其中if-else語句在語法上是一條語句。

特別注意:c語言的語法規定:else子句總是與前面最近的不帶else的if相結合,與書寫格式無關。

知識點:條件運算符號的使用(唯一的三目);條件表示式的運算;

重要程度:★★★★(口訣是「真前假後」)

1、條件運算子

條件運算子由兩個運算子組成:? :。條件運算子要求有三個運算物件,稱三目運算子,它是c語言中唯一的乙個三目運算子。

2、條件表示式(「真前假後」口訣)

表示式1 ? 表示式2:表示式3

其執行過程:先求解表示式1,若為非0(真)則求解表示式2,並將表示式2的值作為整個表示式的值。若表示式1的值為0(假),則求解表示式3,表示式3的值就是整個表示式的值。

例1:以下程式的輸出結果是( )。

main()

a) 5   b) 4   c) 6   d) 不確定

分析:這是乙個條件表示式的巢狀,先判斷a>b為「真」,則需要求解表示式a>c?a:c的值。因此又對a>c進行判斷,其為「假」,那麼c就是整個表示式的值。答案選c。

3、條件運算子的優先順序

條件運算子優先於賦值運算,但低於邏輯運算,關係運算子和算術運算子。條件運算子的結合方向為「自右向左」。如有以下表示式:

a>b?a:c>d?c:d等價於a>b?a:(c>d?c:d)

如果a=1,b=2,c=3,d=4,則表示式的值等於4。

知識點:switch語句的執行方式;switch語句和 break的搭配;

重要程度:★★★★

1、switch語句

switch語句的一般形式如下:

switch(表示式)

其中語句1,語句2等等,可以是一條語句,也可以是若干語句。也可以是巢狀的switch語句。

注意:(1)switch後圓括號中的表示式的值必須是實型或字元型,不能為實型。

(2)case後面是常量表示式,但常量表示式中不能有變數。

(3)default可以出現在語句體中的任何位置,但最多只能有乙個。它通常出現在語句體的最後。

2、switch語句的執行過程

首先求解switch後圓括號中表示式的值,然後匹配case標號,有匹配成功則執行後面語句,只需要匹配一次成功,後面就不用再匹配了。(通過三個例子掌握switch的使用!)

例1:按照學生的考試成績,列印出相應的等級。90分以上的輸出「a」等級,80分以上的輸出「b」等級,依此類推,60分以下輸出「e」等級。程式如下:

main( )

{ int score;

scanf("%d",& score); /* score中存放學生的成績 */

printf("score=%d: ",score);

switch(score/10)

{ case 10:printf("a\n"); 匹配不成功,只要匹配成功一次就不需要匹配,

case 9:printf("a\n"); 直接執行後面的語句,同樣不需要理會default。

case 8:printf("b\n");

case 7:printf("c\n");

case 6:printf("d\n");

default:printf("e\n");

第三章順序結構

一 c語句概述 1 c程式的結構 2 c語句的型別 1 控制語句 用於控制程式的流程,以實現程式的各種結構方式,可分成以下三類 1 條件判斷語句 if else語句 switch語句 2 迴圈執行語句 do while語句 while語句 for語句 3 轉向語句 break語句 goto語句 co...

第三章順序結構

c 的程式採用了結構化程式設計.結構化程式設計要求的順序 選擇 迴圈的控制結構,使編寫的程式結構清晰。順序結構就是按照語句的先後順序來執行的方式。第一節賦值語句 賦值語句的一般形式 變數名 表示式 變數名必須在變數說明部分已經定義過。與 兩個等號連線在一起 的區別 賦值號是將其右邊的表示式的值賦給左...

第三章順序結構

3.1 與輸入 輸出有關的控制項 乙個程式,如果沒有輸出操作則沒有什麼實用價值,而如果沒有輸入操作,則必然缺乏靈活性。因此,輸入與輸出是應用程式最基本的功能。在標準 standard 元件板中,delphi 提供了最為基本的輸入 輸出控制項 標籤 label 控制項 編輯框 edit 控制項 進行多...