第2次-单元测试试卷(分支循环结构)
-
第二次单元测试试卷
一.单项选择题(共
p>
25
题,每题
2
分
,共
50
分)
1
.
已有定义:
int x=3, y=4, z=5;
则表达式
!(x+y)+z-1 &&
y+z/2
的值是(
)
。
A
.
6
B
.
0
C
.
2
D
.
1
2
.
设
p>
x
、
y
和
z
都是
int
类型变量
,且
x=3,y=4,z=5,
则下面的表达式中,值为
p>
0
的表达式
为(
)
。
A
.
’
p>
x
’
&&
’
y
’
B
.
x<=y
C
.
x||y+z && y-z
D
.
< < <
!((x
3
.
逻辑运算符两侧运算对象的数据类型(
)
。
A
.只能是
0
或
1
B
p>
.只能是
0
或非
0
正数
C
.只能是整型或字符型数据
D
.可以是任何类型的数据
4
.
以下关于运算符优先顺序的描述中正确的是(
)
。
A
.关系运算符
算术运算符
<
赋值运算符
<
逻辑与运算符
B
p>
.逻辑与运算符
<
关系运算符
<
算术运算符
<
赋值运算符
C
.赋值运算符
逻辑与运算符
<
关系运算符
p>
<
算术运算符
D
.算术运算符
关系运算符
<
赋值运算符
<
逻辑与运算符
5
.
选择出
合法的
if
语句(设
int x
,
a
,
b
,
c
;
)
(
)
。
A
.
if(a=b) c++;
B
.
if(a=
C
.
if(a<>b) c++;
D
.
if(a=>b) c++; <
/p>
6
.判断
char
型变量
s
是否为小写字母的正确表达式是(
< br>
)
。
A
.
p>
’
a
’
<=
s<=
’
z
’
B
p>
.
(s>=
’
a<
/p>
’
) & (s<=
’
< br>z
’
)
C
p>
.
(s>=
’
a<
/p>
’
) && (s<=
’
z
’
)
p>
D
.
(
’
a
’
<=s) and (
’
z
’
>=s)
7
.若希望当
x
的值为奇数时
,表达式的值为“真”
,
x
的值为偶数
时,表达式的值为“假”
。
则以下不能满足要求的表达式是(<
/p>
)
。
A
.
x%2==1
B
.
!(x%2==0)
C
.
!(x%2)
D
.
x%2
8
.指出下列程序段所表示的逻辑关系是(
)
。
if(a
{ if(c= =d)
x=10
}
else
x=-10;
A
.
< br>x
10
10
a
b
且
c
d
10<
/p>
B
p>
.
x
a
b
且
c
d
< br>
10
a
b
且
c
d
10
D
.
x
p>
a
b
且
c
d
10
a
b
且
c
d
a
b
a
<
/p>
b
且
c
d
c
d
C
.
x
10
< br>
10
9
.已知
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=3
B
.
a=2, b=3, c=3
C
.
a=2, b=3, c=1
D
.
a=2, b=3, c=2
10
.以下程序的输出结果是(
)
。
#include
”
stdio.h
”
main()
{
int a=5, b=4, c=6, d;
1
<
/p>
printf(
”
%dn
”
, d=a>b? a>c?a:c :b);
}
A
.
5
B
.
4
C
.
6
D
.不确定
11
.若
a
、
b
、
c1
、
c
2
、
x
、
y<
/p>
均为整型变量,正确的
switch
语句是(
)
。
A
.
switch (a+b);
B
.
switch a
{ case 1: y=a+b; break;
{
case c1: y=a-b; break;
case
0: y=a-b;
case c2: x=a*d; break;
break;
default: x=a+b;
}
}
C
.
switch
(a*a+b*b)
D
.
switch(a-b)
{ case 3:
{
default: y=a*b; break;
case 1: y=a+b; break;
case 3: x=a+b; break;
case
3: y=b-a; break;
case 10: case
11: y=a-b; break;
}
} <
/p>
12
.执行下列程序,输入为
3
的输出结果是(
)
。
#include
”
stdio.h
”
main()
{
int k;
scanf(
”
%d
”
, &k);
switch(k)
{
case 1: printf
(
”
%dn
”
, k++);
case 2: printf(
”
%dn
”
,
k++);
case 3: printf(
”
%dn
”
, k++);
case 4: printf(
”
%
dn
”
, k++);
break;
default: printf(
”
Full!n
”
);
}
}
A
.
3
B
.
4
C
.
3
D
.
4
4
4
13
.以下程序的运行结果是(
)
。
#include
”
stdio.h
”
main()
{
int a=2,b=
-1,c=2;
if (a
if (b<0)
c=0;
else c++;
printf(
”
< br>%dn
”
,c);
}
A
.
0
B
.
1
C
.
2
D
.
3
14
.以下程序的输出结果是
(
)
。
main()
{ int n=4;
while (n--)
2
printf(
“
%d
”
,--
n)
;
}
A
.
20
B
.
31
C
.
321
D
.
210
15
.当执行以下程序段时(
)
。
x=-1
;
do
{x=x*x
;
}
while (!x)
;
A
.循环体将执行一次
B
.循环体将执行两次
C
.循环体将执行无数次
D
.系统将提示有语法错误
16
.若
i
,
j
已定义为
int
类型
,则以下程序段中内循环体总的执行次数是
(
)
。
for
(i=5
;
i
;
i--)
for (j=0
;
j<
4
;
j++)
{…}
A
.
20
B
.
24
C
.
25
D
.
30
17
.有以下语句:
i=1;
for(;i<=100;i++)
sum+=i;
与以上语句序列不等价的有
(
)
。
A
.
for(i=1; i++)
{sum+=i;if(i= =100)break;}
B
.
for(i=1;i<=100;){sum+=i;i++;}
< br>C
.
i=1;for(;i<=100;)sum+=i
;
D
.
i=1;for(;
;){sum+=i;if(i= =100)break;i++;}
18
.在下列选项中,没有构成死循环的程序段是(
)
。
A
.
int
i=100
;
while (1)
{
i=i%100+1
;
if(i>100) break
;
}
B
.
for (
;
;
)
;
C
.
int
k=1000
;
do
{++k
;
}while
(k>=10000)
;
D
.
int
s=36
;
while (s)
--s
;
19
.下列程序运行的情况是(
)
。
main()
{ int i=1,sum=0;
while(i<10)sum=sum+1;i++;
printf(
}
A
.
i=10,sum=9
B
.
i=9,sum=9
C
.
i=2,sum=1
D
.运行出现死循环
20
.下面程序的运行结果为(
)
。
3