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 控制項 進行多...