51.设x、y均为float型变量,则以下不合法的赋值语句是()。
A)++xB)y=(x%2)
/10C)x*=y+8D)x=y=0
52.设x、y和z均为int型变量,则执行语句x=(y=(z=10)+5)-5;后,
x、y和z的值是()。
A)x=10y=15z=10B)x=10y=10z=10
C)x=10y=10c=15D)x=10y=5z=10
53.设有说明:doubley=0.5,z=1.5;intx=10;
则能够正确使用C语言库函数的赋值语句是()。
A)z=exp(x,y)+fabs(x)B)y=log10(y)+pow(y)
C)z=sqrt(y-z)D)x=(int)(atan2((double)x,y)+exp(y-0.2))
54.逻辑运算符两侧运算对象的数据类型()
A)只以是0和1B)只能是0和非0正数
C)只能是整形和字符型数据D)可以是任何类型的数据
55.以下正确的描述是()。在C语言程序中
A)函数的定义可以嵌套,但函数的调用不可以嵌套
B)函数的定义不可以嵌套,但函数的调用可以嵌套
C)函数的定义和函数的调用均不可以嵌套
D)函数的定义和函数的调用均可以嵌套
56.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,
否则为假”的表达式是()。
A)(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)
B)(x>=1)||(x<=10)||(x>=200)||(x<=210)
C)(x>=1)&&(x<=10)||(x>=200)&&(x<=210)
D)(x>=1)||(x<=10)&&(x>=200)||(x<=210)
57.以下程序的输出结果是()。
Main()
{ int a=100,x=10,y=20,ok1=5,ok2=0;
if(x<y)
if(y!=10)
if(! Ok1)
a=1;
else
if(ok2)a=10;
a=-1;
printf(″%d\n″,a);}
A)1B)0C)-1D)值不确定
58.以下程序的输出结果是()。
main()
{ intx=2,y=﹣1,z=2;
if (x<y)
if (y<0)z=0;
elsez+=1;
printf (″%d″,z)}
A)3B)2C)1D)0
59.为了避免在嵌套的条件语句if﹣else中产生二义性,
C语言规定:else子句总是与()配对。
A)缩排位置相同的ifB)其之前最近的if
C)其之后最近的ifD)同一行上的if
60.以下不正确的语句为()。
A) if (x>y);
B) if(x=y)&&(x!=0)x+=y
C) if(x!=y)scanf(″%d″,&x);elsescanf(″%d″,&y)
D)if(x
61.请阅读以下程序:
#include
main()
{ float a,b;
scanf(″%f″,&a);
if(a<0.0)b=0.0;
else if
(a<0.5)&&(a!=2.0)/(a+2.0);
else if(a<10.0)b=1.0/a;
else b=10.0;
printf(″%f\n″,b);}
若运行时输入2.0,则上面程序的输出是()。
A)0.000000B)0.500000C)1.000000D)0.250000
62.若有条件表达式(exp) ?a++b--,
则以下表达式中能完全等价于表达式(exp)的是的()。
A)(exp==0)B)(exp!=0)C)exp==1D)(exp!=1)
63.若运行时给变量x输入12,则以下程序的运行结果是()。
Main()
{ int x,y;
Scanf(″%d″,&x);
Y=x>12?x+10;x-12;
Printf(″%d\n″,y);
}
A)
0B)
22C)12D)10
64.以下程序的运行结果是()。
main()
{ int k=4,a=3,b=2,c=1;
Printf(″\n%d\n″,k
k:c
}
A)
4B)
3C)
2D) 1
65.执行以下程序段后,变量a,b,c的值分别是()。
intx=10,y=9;
inta,b,c;
a=(--x==y++)?—x;++y;
b=x++;
c=y;
A) a=9,b=9,c=9B)
a=8,b=8,c=10C)
a=9,b=10,c=9D) a=1,b=11,c=10
66.若w、x、y、z、m均为int型变量,则执行下面语句后的m的值是()。
w=1;x=2;y=3,z=4
m=(w
m=(m
m=(m
A)
1B)
2C)
3D) 4
67.若w=1,x=2,y=3,z=4,则条件表达式w
y:z的值是()。
A)
4B)
3C)
2D) 1
68.执行以下程序段后的输出结果是()。
int w=3 z=7,x=10;
printf(″%d\n″,x>10?x+100:x-10);
printf(″%d\n″,w++||z++);
printf(″%d\n″,!w>z);
printf(″%d\n″,w&&z);
A)
0B)
1C)
0D) 0
1111
1100
1110
69.设有程序段
t=0;
while(printf(″*″))
{t++;
if(t<3) break;
}
下面描述正确的是()。
A)其中循环控制表达式与0等价B)其中循环控制表达式与'1'等价
C)其中循环控制表达式是不合法的D)以上说法都不对
70.下面程序的功能是将从键盘输入的一对数,由小到大排序输出。
当输入一对相等数时结束循环,请选择。
#include
main()
{ int a,b,t;
scanf(
while(【1】)
{ if(a>b)
{t=a;a=b;b=t;}
printf(″%d,%d\n″,a,b);
scanf(″%d%d″,&a,&b);}
A)
!a=bB)
a!=bC)
a==bD) a=b
71.设有程序段
intk=10;
while (k==0)k=k-1;
则以下描述中正确的是()。
A)
while循环执行0次B) 循环是无限循环
C)
循环体语句一次也不执行D) 循环体语句执行一次
72.设有以下程序段
intx=0,s=0;
while(x!=0)s+=++x;
printf(″%d″,s);
则()。
A)运行程序段后输出0B)运行程序段后输入1
C)程序段中的控制表达式是非法的D)程序段执行无限次
73.语句while(! E);中的表达式!E等价于()。
A)
E==0B) E!=0C)
E!=0D) E==1
74.下面程序段的运行结果是()。
a=1;b=2;c=2
while(a
printf(″%d,%d,%d″,a,b,c);
A)
1,2,0B) 2,1,0C)
1,2,1D)2,1,1
75.下面程序段的运行结果是()。
x=y=0;
while(x<15) y==,x+=++y;
printf(″%d,%d″,y,x);
A)
20,7B)6,12C)20,8D)8,20
76.下面程序段的运行结果是()。
int n=0;
while(n++<=2);printf(″%d″,n);
A)
2B)
3C)
4D) 有语法错误
77.下面程序的功能是在输入的一批正整数中求出最大者,
输入0结束循环,请选择填空。
#include
main()
{ int a,max=0;
scanf(″%d″,&a);
while(【1】)
{ if(max