選擇與迴圈習題

2023-01-07 08:27:04 字數 3664 閱讀 4405

二、選擇結構

1. 已有定義:int x=3, y=4, z=5; 則表示式!(x+y)+z-1 && y+z/2的值是(d)。

a.6b.0c.2d.1

2. 設a=5,b=6,c=7,d=8,m=2,n=2, 則執行(m=a>b) && (n=c>d)後n的值為(b)。

a.1b.2c.3d.4

3. 設x、y和z都是int型別變數,且x=3,y=4,z=5, 則下面的表示式中,值為0的表示式為()。

a.』x』 && 』yb.x<=y

c.x||y+z && y-zd.!((x4.為了避免巢狀的if-else語句的二義性,c語言規定else總是與(c)組成配對關係。

a.縮排位置相同的if

b.在其之前未配對的if

c.在其之前未配對的最近的if

d.同一行上的if

5. 邏輯運算子兩側運算物件的資料型別(d)。

a.只能是0或1

b.只能是0或非0正數

c.只能是整型或字元型資料

d.可以是任何型別的資料

6. 以下關於運算子優先順序的描述中正確的是(c)。

a.關係運算子《算術運算子《賦值運算子《邏輯與運算子

b.邏輯與運算子《關係運算子《算術運算子《賦值運算子

c.賦值運算子《邏輯與運算子《關係運算子《算術運算子

d.算術運算子《關係運算子《賦值運算子《邏輯與運算子

7. 下列運算子中優先順序最高的是()。

a.8. 選擇出合法的if語句(設int x,a,b,c;)()。

a.if(a=b) c++;

b.if(a= c.if(a<>b) c++;

d.if(a=>b) c++;

9. 能正確表示「當x的取值在[-58,-40]和[40,58]範圍內為真,否則為假」的表示式是()。

a.(x>= -58) && (x<= -40) && (x>=40) && (x<=58)

b.(x>= -58) || (x<= -40) || (x>=40) || (x<=58)

c.(x>= -58) && (x<= -40) || (x>=40) && (x<=58)

d.(x>= -58) | |(x<= -40) && (x>=40) || (x<=58)

10.判斷char型變數s是否為小寫字母的正確表示式是()。

a.』a』 <= s<=』zb.(s>=』a』) & (s<=』z』)

c.(s>=』a』) && (s<=』zd.(』a』<=s) and (』z』>=s)

11.若希望當x的值為奇數時,表示式的值為「真」,x的值為偶數時,表示式的值為「假」。則以下不能滿足要求的表示式是()。

a.x%2==1b.!(x%2==0)

c.!(x%2d.x%2

12.已知 x=45, y=』a』, z=0; 則表示式(x>=z && y<』z』 || !y)的值是()。

a.0b.語法錯

c.1d.「假」

13.指出下列程式段所表示的邏輯關係是()。

if(a

else

x=-10;

a.b. c.

d. 14.有一函式: ,以下程式段中不能根據x值正確計算出y值的是()。

a.if (x>0) y=1;

else if (x==0) y=0;

else y= -1;

b.y=0;

if (x>0) y=1;

else if (x<0) y= -1;

c.y=0;

if (x>=0)

if(x>0) y=1;

else y= -1;

d.if (x>=0)

if (x>0) y=1;

else y=0;

else y= -1;

15.執行以下語句後,y 的值為()。

int x,y,z;

x=y=z=0;

++x || ++y && ++z;

a.0b.1c.2d.不確定值

16.已知int a=1,b=2,c=3; 以下語句執行後a,b,c的值是()。

if(a>b)

c=a; a=b; b=c;

a.a=1, b=2, c=3b.a=2, b=3, c=3

c.a=2, b=3, c=1d.a=2, b=3, c=2

17.請閱讀以下程式:該程式()。

#include 」stdio.h」

main()

a.有語法錯不能通過編譯

b.可以通過編譯但不能通過連線

c.輸出

d.輸出$$$

18.以下程式的執行結果是()。

#include 」

main()

a.0b.1c.2d.3

19.當a=1,b=2,c=4,d=3時,執行完下面一段程式後x的值是(b)。

if (aif (celse

if (a if (b else x=3;

else x=4;

else x=5;

a.1b.2c.3d.4

20.執行以下程式段後,變數x,y,z的值分別為(b)。

int a=1,b=0, x, y, z;

x=(--a= =b++)?--a:++b;

y=a++;

z=b;

a.x=0,y=0,z=0b.x= -1,y= -1,z= 1

c.x=0,y=1,z=0d.x= -1,y= 2, z= 1

1. d 2. b 3. d4.c5.d6.c

7. c 8. a 9. c10.c11.c 12.c

13.b 14.c 15.a16.b17.c 18.c

19.b 20.b

1. 若從鍵盤輸入58,則輸出結果是________。

#include 」

main()

2. 設int x=9,y=8;表示式x==y+1的結果是________。

3. 定義int x,y;執行y=(x=1,++x,x+2);後, y的值是________。

4. 定義int x=10,y,z; 執行y=z=x; x=y==z;後, x的結果是________。

1.答案:585858

解析:雖然三個if語句按照巢狀方式書寫,但是程式仍然是依順序執行的,會分別對每乙個if的條件表示式進行判斷,若其條件表示式為真,就執行其後的語句,否則,不執行。

2.答案:1

解析:注意該表示式是關係表示式的雙等號,所以其結果只能為1或0。

3.答案:4

4.答案:1

8. 以下程式的執行結果是________。

#include 」

main()

9. 以下程式的執行結果是________。

#include 」

main()

8.答案:100

9.答案: 6 250

5 11 0

13.以下程式的功能是判斷輸入的年份是否是閏年。請在【】內填入正確內容。

#include 」

main()

{ int year, flag;

printf(」please input the year to jude whether it is a leap year:」);

選擇結構程式設計,迴圈結構程式設計習題

習題4選擇結構程式設計 一 單選題 1 有如下巢狀的 語句 if a if a else k c if b else k c 以下選項中與上述 語句等價的語句是 k a k a k a k a2.以下選項中與if a 1 a b else a 語句功能不同的switch語句是 switch case...

pascal選擇迴圈結構練習

選擇結構 1.程式清單 program lx1 vara integer begin readln a if a mod 2 0 then writeln a,oushu else writeln a,jishu end.輸入 1288 後,輸出結果為 2.程式清單 program lx2 varx...

迴圈結構程式設計習題 二

1 由勾股定理可知,在乙個直角三角形中,兩條直角邊a和b與斜邊c的關係,程式設計序求出每條直角邊均不大於30的所有不重複的整數組解。如 3,4,5 5,12,13 是該題的兩個不重複的整數解,但是 3,4,5 和 4,3,5 是重複解,只能算乙個解。共13組解 2 計 19 班要籌備春節聯歡會,拿出...