官术网_书友最值得收藏!

習題4

4.1 已知a=10,b=5,請寫出下列表達式的運行結果。

(1)!(a+b)

(2)a%b||1

(3)a&&b

(4)a>=5&&b<5

(5)b||a&&0a%3-1

(6)a&&(a++)/(++b)

4.2 寫出下列表達式的值

(1)1<100&&4<7||60>=5

(2)!(12<3==3)

(3)!(100<=300)||(1!=2)

(4)!(5>3)&&(30<=90)

4.3 選擇題

(1)邏輯運算符兩側的運算對象的數據類型為( )。

A.只能是0和1

B.只能是0或非0正數

C.只能是整型或字符型數據

D.可以是任何類型的數據

(2)判斷char型變量ch是否為大寫字母的正確表達式是( )。

A.'A'<=ch<='Z'

B.(ch>='A')||(ch<='Z')

C.(ch>='A')&&(ch<='Z')

D.('A'<=ch)AND('Z'>=ch)

(3)若希望當A的值為奇數時,表達式的值為“真”,A的值為偶數時,表達式的值為“假”,則以下不能滿足要求的表達式是( )。

A.A%2==1

B.!(A%2==0)

C.!(A%2)

D.A%2

(4)設有int a=1, b=2, c=3, d=4, m=2, n=2,執行(m=a>b)&&(n=c>d)后n的值為( )。

A.1

B.2

C.3

D.4

(5)以下程序的運行結果是( )。

            void main()
            {   int a,b,d=241;
                a=d/100%9;
                b=(-1)&&(-1);
                printf("%d,%d",a,b);
            }

A.6,1

B.2,1

C.6,0

D.2,0

(6)已知int x=10, y=20, z=30,以下語句執行后x, y, z的值是( )。

            if(x>y)z=x;x=y;y=z;

A.x=10, y=20, z=30

B.x=20, y=30, z=30

C.x=20, y=30, z=10

D.x=20, y=30, z=20

(7)以下程序的運行結果是( )。

            void main()
            {   int m=5;
                if(m++>5)
                    printf("%d\n",m);
                else
                    printf("%d\n",m--);
            }

A.4

B.5

C.6

D.7

(8)若運行時給變量x輸入12,則以下程序的運行結果是( )。

            void main()
            {   int x,y;
                scanf("%d",&x);
                y=x>12?x+10:x-12;
                printf("%d\n",y);
            }

A.12

B.22

C.1

4.4 編程計算下面的函數,其中,x由鍵盤輸入。

D.0

4.5 編程實現:輸入整數a和b,若a2+b2大于100,則輸出a2+b2百位以上的數字,否則輸出a、b之和。

4.6 編程實現以下功能,讀入兩個數(d1,d2)和一個運算符(op),計算d1 op d2的值。例如,若輸入15、5和“/”,則計算“15 / 5”,結果為3。

4.7 從鍵盤輸入兩個整數,輸出較大數(用條件表達式求解)。

4.8 輸入一個正整數,編程判斷其是否既是5又是7的倍數。若是,則輸出“yes”;否則輸出“no”。

4.9 輸入一個正整數,判斷其是否能被3、5、7整除,并輸出能同時被幾個數整除。

4.10 從鍵盤輸入4個整數a、b、c、d,找出其中的最大值。

4.11 從鍵盤輸入一個字符,如果是大寫字母或者是小寫字母,就輸出其對應的ASCII碼。

4.12 對于給定的一個百分制成績,輸出相應的五分制成績。提示:90分以上為'A',80~89分為'B',70~79分為'C',60~69分為'D',60分以下為'E'。要求,必須使用switch語句,并且只用一個輸出語句輸出計算結果。

4.13 企業發放獎金是根據利潤提成的,提成的辦法如下。

(1)利潤(用I表示)≤10萬元時,可提成10%;

(2)超過10萬元時:

● 10萬<I≤20萬的部分,可提成7.5%,低的部分同上(下同);

● 20萬<I≤40萬的部分,可提成5%;

● 40萬<I≤60萬的部分,可提成3%;

● 60萬<I≤100萬的部分,可提成1.5%;

● 超過100萬的部分,可提成1%。從鍵盤輸入當月利潤I,輸出可發放的獎金總額。

4.14 給出一個不超過5位的正整數,編程完成下面的功能:

(1)判斷它是幾位數;

(2)計算其各位數字的和;

(3)將其各位數字按逆序排列組成一個新數,并比較其與原數的大小,然后按從大到小的順序輸出。

主站蜘蛛池模板: 保定市| 望江县| 酉阳| 祥云县| 开封市| 德令哈市| 武乡县| 定远县| 靖宇县| 丰宁| 四川省| 兰考县| 和田县| 逊克县| 蓬溪县| 中阳县| 怀安县| 天祝| 邵阳市| 鹤岗市| 平顺县| 屯昌县| 澎湖县| 桃园县| 明溪县| 绥棱县| 张家口市| 綦江县| 邹城市| 盐边县| 武宣县| 临海市| 东港市| 连云港市| 宁阳县| 阿拉善左旗| 苍溪县| 曲阳县| 英吉沙县| 竹北市| 囊谦县|