二、選擇結構
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 班要籌備春節聯歡會,拿出...