C語言第4章選擇結構程式設計

2021-03-04 09:56:14 字數 1709 閱讀 7745

4.1 什麼是算術運算?什麼是關係運算?什麼是邏輯運算?

答:略4.2 c語言中如何表示「真」和「假」?系統如何判斷乙個量的「真」和「假」?

答:在c語言中,用1和0表示真和假的值;判斷乙個邏輯表示式的值時,非0代表真,0代表假。比如3&&4為真,因為3是非0,4也是非0,真與真,結果還是真,而3&&4的值為1。

4.3 寫出下面各邏輯表示式的值。設a=3,b=4,c=5。

(1)a+b>c&&b= =c

(2)a||b+c&&b-c

(3)!(a>b)&&!c||1

(4)!(x=a)&&(y=b)&&0

(5)!(a+b)+c-1&&b+c/2

分析:首先判斷運算子的優先順序與結合性

解:(1)相當於((a+b)>c)&&(b= =c) 得0

(2)相當於(a||(b+c))&&(b-c) 得1

(3)相當於(!(a>b))&&(!c)||1 得1

(4)相當於(!(x=a))&&(y=b)&&0 得0

(5)相當於((!(a+b))+c-1)&&(b+c/2) 得1

4.4 有3個整數a、b、c,由鍵盤輸入,輸出其中最大的數。

方法1:利用條件運算子進行比較求解。

#include」stdio.h」

main()

方法2:用if語句進行比較求解。

#include」stdio.h」

main()

4.5 有一函式:

x (x<1)

y= 2x-1 ()

3x-11 ()

寫一程式,輸入x,輸出y值。

#include "stdio.h"

main()

else if(x<10) /*當1<=x<10時*/

else /*最後乙個else,就是前兩種情況都不滿足時,也就是當x>10時*/

}4.6 給乙個不多於5位的正整數,要求:①求出它是幾位數;②分別列印出每一位數字;③按逆序列印出各位數字,例如原數為321,應輸出123。

分析:1.判斷輸入的數是幾位數就是用這個數和9999,999,99,9進行比較;

2.分別列印出每個數字則利用兩個整數相除的結果仍為整數進行計算;

3.反序數字,實際上就是將求得的每個數字對應的變數按照不同順序輸出。

題目中說輸入的數不多餘5位,就表示可以輸入少於5位的數,這樣存在乙個問題,如果是1234,是否將求得的萬位數0也輸出出來,變成01234,這個問題在考慮輸出時不可避免,因為計算時是要首先計算萬位數字的。由於通常不輸出,也就是有幾位數就輸出幾位數字。那麼我們將1234就表示為1234,**如下:

方法1:

#include "stdio.h"

main() }

方法2:將switch語句變成if語句,但是通常判斷有限制個相等的數字而不是判斷範圍的一般是用switch語句,當然if也可以。**如下:

#include "stdio.h"

main()

else if(place==2)

else if(place==3)

else if(place==4)

else }

4.7 企業發放的獎金根據利潤提成。利潤i低於或等於10萬元的,獎金可提10%;利潤高於10萬元,低於20萬元(1000001000000時,超過100萬元的部分按1%提成。

從鍵盤輸入當月利潤i,求應發獎金總數。

第4章C語言選擇結構程式設計

本章知識點要求 1.用if語句實現選擇結構 2.用switch語句實現多分支選擇結構 3.選擇結構的巢狀 4.c語言支援兩種條件語句 if和switch.此外,條件運算子 在某些情況下可以替換if.引言 c語言選擇結構程式設計結構的執行過程是通過條件判斷來決定程式的下一步 那麼,它主要是通過條件表示...

4章選擇結構程式設計C語言入門習題

第四章選擇結構程式設計 一 選擇題 1 有以下程式 main 程式執行後的輸出結果是 a 123 b 234 c 223 d 233 2 以下程式段中與語句k a b?b c?1 0 0 功能等價的是 a if a b b c k 1 b if a b b c k 1 else k 0 c if a...

C語言 第5章迴圈結構程式設計

一 單項選擇題 1 在c語言中,下列說法中正確的是 a do while語句構成的迴圈不能用其它語句構成的迴圈來代替。b do while語句構成的迴圈只能用break語句退出。c do while語句構成的迴圈在while後的表示式非零時結束迴圈。d do while語句構成的迴圈,在while後...