-
第二部分
选择题
1
.
p>
假设整型变量
a
为
2
,使
b
的值为
0
的表达式是
(
)
。
A)b=a/2
B)b=6-(--a)
C)b=a%2
D)b=a>30:1
提示
正确答案为
C
2.
假设
x=,a=7,y=
,则表达式:
x+a%3*(int)(x+y)%2/4
的值为(
)
。
A)
B)2.75
C)3
D)
提示
正确答案为
A
3.
假设
a=3,b=4,c=5,
则逻辑表达式:
!(a+b)+c-1&&b+c/2
的值是
(
)
。
A)true
B)false
C)0
D)
1
提示
正确答案为
D
4.
假设所有变量均为整型,则表达式:
(a=2,b=5,b++,a+b)
的值为(
)
。
A)7
B)8
C)6
D)2
提示
正确答案为
B
5.
设整型变量
x
< br>的值为
5
,
y
< br>的值为
2
,则值为
1
的表达式是
(
)
。
A)!(y==x/2)
B)y!=x%3
C)x>0&&y<0
D)x!=y||x>=y
p>
6.
已知
a=12,
表达式
a+=a-=a*=a
的值为(
)
。
A
)
144
B)-12
C)0
D)24
提示
正确答案为
C
6.
在下面
C
语言的函数说明语句中,正确的是(
)
。
A)
int
fun(int
x,
int
y);
B)
int
fun(int
x,y);
C)
int
fun(x,y);
D)
int
fun(int
x;
int
y);
提示
正确答案为
A
7.
设有整型变量
a,
实型变量
f
,双精度型变量
x
,则表达式
10+'b'+x*f
值的类型为
(
)
。
A)
int
B)
float
C)
double
D)
不能确定
提示
正确答案为
C
8.
若有
int
k=5;
float
x=;
则表达式(
int
)
(x+k)
的值是(
)
。
A)5
B)
C)7
D)6
提示
正确答案为
D
9.
表达式
k=(12<10)4:12:3
的值为(
)
。
A)
1
B)
2
C)
3
D)
4
提示
正确答案为
B
10.
下列哪组运算符的优先级相同且运算次序从左到右(
)
。
A
)
()
[ ]
->
.
B
)
++
--
+=
C
)
<
&
|
^
D
)
&&
||
提示
正确答案为
A
11.
已知:
int
x=1,
y=2,
z=0;
则执行:
z=x>y10:20,
z
的值为(
)
。
A
)
10
B
)
20
C
)
1
D
)
2
提示
正确答案为
B
12.
若已定义
x
< br>和
y
为
double
类型,则表达式
x=2
,
y=x+10/4
的值是
(
)
。
A)
2
B)
4
C)
D)
提示
正确答案为
C
13.
sizeof
(
''a''+10
)的值为(
)类型。
A
)
int
B)
float
C)
double
D)char
提示
正确答案为
A
14.
已知:
int
x=1,
y=2,
z;
则执行:
z=x>y++x:++y,
z
的值为
(
)
。
(A)
1
(B)
2
(C)
3
(D)
4
提示
正确答案为
C
15.
C
语言中,运算对象必须是整
型数的运算符是(
)
。
A)%
B)/
C)%
和
/
D)*
提示
正确答案为
A
16.
若已定义
x
< br>和
y
为
double
类型,则表达式:
x=1,y=x+3/2
的值是
(
)
。
A)1
B)2
C)
D)
提示
正确答案为
C
17.
若
t
为
double
类型,表达式
t=1,
t+5,t
的值是
(
)
。
A)1
B)6.0
C)
D)6
提示
正确答案为
C
18.
在以下一组运算符中,优先级最高的运算符是
(
)
。
A)<=
B)=
C)%
D)&&
提示
正确答案为
C
19.
若有以下定义:
|
char
a;int
b;
float
c;
double
d;
则表达式
a*b+d-c
值的类型为
(
)
。
A)float
B)int
C)char
D)double
提示
正确答案为
D
20.
假设有
int
x=11;
则表达式
(x++*1/3)
的值是
(
)
A)
3
B)
12
C)
11
D)
0
提示
正确答案为
A
21.
以下关于运算符优先顺序的描述中,正确的是(
)
。
A
p>
)关系运算符
<
算术运算符
<
赋值运算符
B
p>
)逻辑运算符
<
关系运算符
<
算术运算符
C
)算术运算符
<
关系运算符
<
赋值运算符
D
p>
)赋值运算符
<
关系运算符
<
算术运算符
提示
正确答案为
D
22.
sizeof
(double)
是一个(
)
。
A
)整型表达式
B
)实型表达式
C
)不合法的表达式
D
)函数
提示
正确答案为
A
23.
下面对变量赋初值正确的是(
)
A)int
a=b=c=1;
B)int
a=1,b=c=2;
C)int
a=1,b=1,c=1;
D)int
a=b=1,c=2;
提示
正确答案为
C
24.
在
C
语言中,若以下变量均为
int
型,则下面程序段的输出结果是
(
)
。
s=6
,
u=6;
u=s++;u++;
printf(
A)7
B)6
C)5
D)4
提示
正确答案为
B
25.
若有定义:
int
x=3;double
y;
则执行
语句
y=(double)x;
后,变量
x
的数据类型为(
A)int
B)char
C)flaot
D)double
提示
正确答案为
A
26.
若有定义
double
x,y;
则表达式
x=1,y=x+
3/2
的值为(
)
。
A)1
B)2
C)
D)
提示
正确答案为
C
27.
若有定义
int
x,y,t;
则执行语句
:
x=y=3,t=++x||++y;
后,
y
的值为(
)
。
A)
不定值
B)4
C)
3
D)1
提示
正确答案为
C
28.
若
x
、
i
、
j
和<
/p>
k
都是
int
型
变量,则计算下面表达式后,
x
的值为(
)
。
x=(i=4,j=16,k=32)
A)
4
B)
16
C)
32
D)
52
提示
正确答案为
C
29.
假设所有变量均为整型,则表达式(
< br>a=2,b=5,b++,a+b
)的值是(
)
。
A
)
7
B
)
8
C
)
6
D
)
2
提示
正确答案为
B
30.
设
int
< br>a=1,
则执行完循环
While(a++<5);a<
/p>
的值是:
A)6
B)5
C)1
D)-264
提示
正确答案为
A
31.
在下列
for
循环中,其循环次数是(
)
。
for(x=1,y=0;(y!=123)&&(x<4);
x++);
A)4
B)3
C)1
D)
无数多次
提示
正确答案为
B
32.
设
x
和
y
均为
int
型变量,则执行下面的循环后,
y
的值为(
< br>
)
。
for(y=1,x=1;y<=50;y++)
{if
(x>=10)
break;
if
(x%2==1)
{x+=5;continue;}
x-=3;
}
。
)
A)2
B)4
C)6
D)8
提示
正确答案为
C
33.
执行下面程序段的结果是(
)
。
int
x=23;
do
{
printf(
}while
(!x);
(A)
打印出
321
(B)
打印出
23
(C)
不打出任何内容
(D)
陷入死循环
提示
正确答案为
B
34.
printf
函数中用到格式
符
%5s,
其中数字
5
表示输出的字符串占用
5
列,如果字符串长度大于
p>
5
,
则输出按方式
(
)
。
A)
从左起输出该字符串,右补空格
B)
按原字符长从左向右全部输出
C)
右对齐输出该字串,左补空格
D)
输出错
0
信息
提示
正确答案为
B
35.
putchar
函数可以向终
端输出一个(
)
。
A)
整型变量表达式值
B)
实型变量值
C)
字符串
D)
字符或字符型变量值
提示
正确答案为
D
36.
请读程序片段:
int
i=65536;
printf(
上面程序片段的输出结果是
(
)
。
A)
65536
B)
0
C)
有语法错
0
,无输出结果
D)
-1
提示
正确答案为
B
37.
在下列程序段中:
int
x,
y
;
scanf(
若输入的数据为:
p>
,则
x
、
y
的值分别为(
)
。
A)
123,456
B)123,678
C)12345
678
D)
无法得到正确的值
提示
正确答案为
B
38.
有如下程序,输入数据
12
345
后,
y
的值是
(
)
。
#include
<>
main()
{ int
x;
float
y;
scanf(
}
(A)
(B)
(C)
(D)
提示
正确答案为
B
39.
有如下程序,若要求
a1,a
2,c1,c2
的值分别为
10
,
p>
20
,
A
,
B
,正确的数据输入是(
main()
{int
a1,a2;
char
c1,c2;
scanf(
scanf(
}
(A)1020AB
(B)10
20
(C)10
20
AB
(D)10
20AB
提示
正确答案为
D
40.
执行下列程序段后,变量
a,
b,c
的值分别是(
)
。
int
x=10,y=9;
。
)
int
a,b,c;
a=(--x==y++)--x:++y;
b=x++;
c=y;
(A
)
a=9,b=9,c=9
(B
)<
/p>
a=9,b=10,c=9
(C
)
a=1,b=11,c=10
(D
)
a=8,b=8,c=10
提示
正确答案为
D
41.
设有语句
int
a=3;
则执行语句
a+=a-=a*a
后,变量
a
的值是
(
)
。
(A)
3
(B)
0
(C)
9
(D)
-12
提示
正确答案为
D
42.
在下列选项中,不正确的赋值语句是(
)
。
A)t/=5;
B)n1=(n2=(n3=0))
;
C)k=i==j;
D)a=b+c=1;
提示
正确答案为
D
43.
设
x
为
int
型变量,则执行以下语句后,
x
的值为
(
)
。
x=10;x+=x-=x-x;
A)10
B)20
C)0
D)-20
提示
正确答案为
B
44.
若有
int
a=1,b=2,c=3,d=4
;则表达式:
<
br>b <
br>(b=c)
a++
的值是(
)
。
A)4
B)3
C)2
D)1
提示
正确答案为
C
45.
以下选项中
(
)
是正确的
C
语言赋值语句。
A)x=3,y=5
B)a=b=6
C)i--
;
D)y=int(x)
;
提示
正确答案为
C
46.
设有如下的变量定义:
int
i=8,k,a,b;
unsigned
long
w=5;
double
x=1,42,y=;
则以下符合
C
语言语法的表达式是
(
)
。
A)a=a-=(b=4)*(a=3)
B)x%(--3)
C)a=a*3=2
D)y=float(i)
提示
正确答案为
A
47.
当
c
的值不为
0
时,在下列选项中能正确将
c
的值赋给变量
a
、
的语句是
(
)
。
A)c=b=a
;
B)(a=c)
‖
;
C)(a=c)&&(b=c)
;
D)a=c=b
;
提示
正确答案为
C
48.
在
C
语言的
if
语句中,用作判断的表达式为
(
)
。
A)
关系表达式
B)
逻辑表达式
C)
算术表达式
D)
任意表达式
提示
正确答案为
D
49.
以下程序的运行情况是
(
).
#inlcude<>
void
main(
)
{int
x=3,y=0,z=0;
if
(x=y+z)
printf(
else
printf(
A)
有语法错
0
不能通过编译
B)
输出
****
C)
可以通过编译
,
不能通过连接
,
不能运行
D)<
/p>
输出
####
提示
正确答案为
D
50.
若有定义
int
x,y;
下面选项中合法的
if
< br>语句(
)
.
A)if(a==b)x++;
B)if(a=
(C)if(a<>b)x++;
(Dif(a=>b)x++;
提示
正确答案为
A
51.
运行下列程序并用键盘输入
53,48,32
后,在屏幕上的内容是(
)
。
main
()
{
int
i,j,k;
scanf
(
&j,
&k);
if
(i>50)
printf(
else
if
(i>40)
printf(
else
if
(i>30)
printf(
else
printf(
}
A)53
B)48
C)32
D)Error
提示
正确答案为
A
52.
若有
int
i=10
,
j=0;
并执行下列程序段:
switch
(
i
)
{
case
9:i+=1;
break;
case
10:
case
11:
i-=2;
break;
default:
j+=3;
break;
}
则变量
i
的正确结果是(
)
。
A
)
13
B
)
10
C
)
11
D
)
8
提示
正确答案为
D
53.
若
int
i=10
,执行下列程序:
switch
(
i
)
{
case
9:i+=1;
case
10:
case
11:i-=1;
default:i+=1;
}
则变量
i
的正确结果是
(
)
。
(A)10
(B)11
(C)12
(D)9
提示
正确答案为
A
54.
以下程序段的运行结果是(
)
。
int
a=7,b=8,c=9;
if(a>b)
a=b,b=c;c=a;
printf(
A)7,8,7
B)7,9,7
C)8,9,7
D)7,8,9
提示
正确答案为
A
55.
两次运行以下程序,若从键盘上分别输入
6
和
4
,则输出结果是(<
/p>
)
。
main(
)
{int
x;
scanf(
if(x++>5)
printf(
A)7
和
5
B)7
C)7
和
4
D)6
和
4
提示
正确答案为
B
56.
下面程序的输出是(
)
。
main(
)
{int
y=9
;
for
(
;
y>0;y--)
if(y%3==0)
{printf(“%d”,
p>
--y)
;
continue;}
}
A)741
B)852
C)963
D)875421
提示
正确答案为
B
57.
假定所有变量均已正确说明,下列程序段运行后
x
的值是
(
)
。
a=b=c=0;x=35;
if(!a)x--
;
else
if(b)
if(c)
x=3;
else
x=4;
A)34
B)4
C)35
D)3
提示
正确答案为
B
58
.
下面程序的运行结果是(
)
。
main(
)
{int
k=3;
if
(k++>3)
printf(
else
printf(
}
A)5
B)
4
C)3
D)2
提示
正确答案为
C
59.
下面程序的输出结果为
(
)
。
main(
)
{int
x=0,a=10,b=20,c=15;
if
(a>b)
a=2,b=3; <
br>后的值
if(b
x=1;
else
x=2;
printf(
}
A)0
B)1
C)2
D)
不确定
提示
正确答案为
A
60.
下列程序的输出结果是(
)
。
#include
<>
main(
)
{int
a,b,c;
a=1;b=2;c=3;
a=(c=a>b)&&(b=c
printf(
}
A)1,2,3
B)0,2,0
C)1,2,0
D)1,0,0
提示
正确答案为
B
61.
如果有
#define
f(x,y)
x+y
及
int
则执行
printf(
为
(
)
。
A)36
B)25
C)11
D)13
提示
正确答案为
C
62.
若
#include
后面的文件名用双引号括起来,寻找被包含文件的方式是(
)
。
A
)
先按系统设定的标准方式查找,再在当前目录中查找
B
)
先在当前目录中查找,再按系统设定的标准方式查找
C
)
只在当前目录中查找
D
)只按系统设定的标准方式查找
提示
正确答案为
B
63.
在宏定义
#define
PI
中
,
用宏名
PI
代替一个(
)
。
A)
单精度数
B)
双精度数
C)
常量
D)
字符串
提示
正确答案为
D
64.
执行下面的程序
#define
SQR(X)
X*X