(14)有以下程序
main()
{ int i=1,j=1,k=2;
if((j++‖k++)&&i++)printf("%d,%d,%d\n",i,j,k);
}
执行后输出结果是
A)1,1,2
B)2,2,1
C)2,2,2
D)2,2,3
(15)有以下程序
main()
{ int a=5,b=4,c=3,d=2;
if(a>b>c)
printf("%d\n",d);
elseif((c-1>=d)==1)
printf("%d\n",d+1);
else
printf("%d\n",d+2)
}
执行后输出结果是
A)2 B)3 C)4 D)编译时有错,无结果
(16)已有定义:
intx=3,y=4,z=5;,则表达式!
(x+y)+z-1&&y+z/2的值是
A)6 B)0 C)2 D)1
(17)有一函数, ,以下程序段中不能根据x值正确计算出y值的是
A)if(x>0)y=1; B)y=0;
elseif(x==0)y=0; if(x>0)y=1;
elsey=-1; elseif(x<0)y=-1;
C)y=0; D)if(x>=0)
if(x>=0); if(x>0)y=1;
if(x>0)y=1 ; elsey=0;
elsey=-1; elsey=-1;
(18)有以下程序
main()
{ inta=15,b=21,m=0;
switch(a%3)
{case0:
m++;break;
case1:
m++;
switch(b%2)
{default:
m++;
case0:
m++;break;
}
}
printf(“%d\n”,m);
}
程序运行后的输出结果是
A)1 B)2 C)3 D)4
(19)以下程序的输出结果是
main()
{ int a=5,b=4,c=6,d;
printf("%d\n",d=a>b?
(a>c?
a:
c):
(b));
}
A)5 B)4 C)6 D)不确定
(20)以下程序的输出结果是
main()
{int a=4,b=5,c=0,d;
d=!
a&&!
b||!
c;
printf("%d\n",d);
}
A)1 B)0 C)非0的数 D)-1
(21)设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式 (m=a>b)&&(n=c>d)运算后,n的值位为
A)0 B)1 C)2 D)3
(22)阅读以下程序:
main()
{ int x;
scanf(“%d”,&x);
if(x--<5)printf(“%d”’x);
else printf(“%d”’x++);
}
程序运行后,如果从键盘上输人5,则输出结果是
A)3 B)4 C)5 D)6
(23)假定w、x、y、z、m均为int型变量,有如下程序段:
w=1;x=2; y=3;z=4;
m=(ww;x; m=(mm;y; m=(mm;z;
则该程序运行后,m的值是
A)4 B)3 C)2 D)2
(24)设x、y、t均为int型变量,则执行语句:
x=y=3;t=++x||++y;后,y的值为
A)不定值 B)4 C)3 D)1
(25)若执行以下程序时从键盘上输入9,则输出结果是
A)11 B)10 C)9 D)8
Main0
{ int n;
scanf(“%d”,&n);
if(n++<10) printf(“%d\n”,n);
else printf(“%d\n”,n--);
}
(26)若a、b、c1、c2、x、y、均是整型变量,正确的switch语句是
A)swich(a+b); B)switch(a*a+b*b)
{ case1:
y=a+b;break; {case3:
case0:
y=a-b;break; case1:
y=a+b;break;
} case3:
y=b-a,break;
}
C)switch a D)switch(a-b)
{ casec1:
y=a-b;break {default:
y=a*b;break
casec2:
x=a*d;break case3:
case4:
x=a+b;break
default:
x=a+b; case10:
case11:
y=a-b;break;
} }
(27)能正确表示逻辑关系:
“a≥=10或a≤0”的C语言表达式是
A)a>=10ora<=0
B)a>=0|a<=10
C)a>=10&&a<=0
D)a>=10‖a<=0
(28)有如下程序
main0
{ int x=1,a=0,b=0;
switch(x){
case0:
b++;
case1:
a++
case2:
a++;b++
}
printf(“a=%d,b=%d\n”,a,b);
}
该程序的输出结果是
A)a=2,b=1
B)a=1,b=1
C)a=1,b=0
D)a=2,b=2
(29)有如下程序
main0
{ float x=2.0,y;
if(x<0.0) y=0.0;
else if(x<10.0)y=1.0/x;
else y=1.0;
printf(“%f\n”,y);
}
该程序的输出结果是
A)0.000000
B)0.250000
C)0.500000
D)1.000000
(30)有如下程序
main0
{ int a=2,b=-1,c=2;
if(a
if(b<0) c=0;
else c++
printf(“%d\n”,c);
}
该程序的输出结果是
A)0 B)1 C)2 D)3
(31)设int x=1,y=1;表达式(!
x||y--)的值是
A)0 B)1 C)2 D)-1
(32)与y=(x>0?
1:
x<0?
-1:
0);的功能相同的if语句是
A)if(x>0)y=1; B)if(x)
elseif(x<0)y=-1; if(x>0)y=1;
elsey=0; elseif(x<0)y=-1;
elsey=0;
C)y=-1 D)y=0;
if(x) if(x>=0)
if(x>0)y=1; if(x>0)y=1;
elseif(x==0)y=0; elsey=-1;
elsey=-1;
(33)语句:
printf("%d",(a=2)&&(b=-2);的输出结果是
A)无输出
B)结果不确定
C)-1
D)1
(34)当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是
A)c=b=a;
B)(a=c)‖(b=c);
C)(a=c)&&(b=c);
C)a=c=b;
(35)能正确表示a和b同时为正或同时为负的逻辑表达式是
A)(a>=0‖b>=0)&&(a<0‖b<0)
B)(a>=0&&b>=0)&&(a<0&&b<0)
C)(a+b>0)&&(a+b<=0)
D)a*b>0
(36)以下程序的输出结果是
A)-1 1 B)0 1 C)1 0 D)0 0
main( )
{ int a=-1,b=1,k;
if((++a<0)&&!
(b--<=0))
printf("%d %d\n",a,b);
else
printf("%d %d\n",b,a);
}
(37)以下程序输出结果是
A)7 B)6 C)5 D)4
main()
{ int m=5;
if(m++>5) printf("%d\n",m);
esle printf("%d\n",m--);
}
(38)当a=1,b=3,c=5,d=5时,执行下面一段程序后,x的值为
A)1 B)2 C)3 D)6
if(a
if(c else
if(a if(b else x=3;
else x=6;
else x=7;
(39)表示关系x<=y<=z的c语言表达式为
A)(X<=Y)&&(Y<=Z)
B)(X<=Y)AND(Y<=Z)
C)(X<=Y<=Z)
D)(X<=Y)&(Y<=Z)
(40)有以下程序
#include
main()
{int a,b,c=246;
a=c/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
输出结果是
A)2,1
B)3,2
C)4,3
D)2,-1
(41)设a为整型变量,不能正确表达数学关系:
1010&&a>15
D)!
(a<=10)&&!
(a>=15)
(42)若有以下定义:
floatx;inta,b;
则正确的switch语句是
A)switch(x) B)switch(x)
{case1.0:
printf("*\n"); {case1,2:
printf("*\n");
case2.0:
printf("**\n"); case3:
printf("**\n");
} }
C)switch(a+b) D)switch(a+b);
{case1:
printf("\n"); {case1:
printf(."*\n");
case1+2:
printf("**\n"); case2:
printf("**\n");
} }
(43)假定所有变量均已正确说明,下列程序段运行后x的值是
a=b=c=0;x=35;
if(!
a)x--;
elseif(b);
if(c)x=3;
elsex=4;
A)34 B)4 C)35 D)3
(44)在以下一组运算符中,优先级最高的运算符是
A)<= B)= C)% D)&&
(45)表达式:
10!
=9的值是
A)true B)非零值 C)0 D)1
(46)在下列选项中,不正确的赋值语句是
A)++t;
B)n1=(n2=(n3=0));
C)k=i==j;
D)a=b+c=1;
(47)能正确表示a≥10或a≤0的关系表达式是
A)a>=10ora<=0
B)a>=10│a<=0
C)a>=10││a<=0
D)a>=10││a<=0
(48)为表示关系x≥y≥z,应使用C语言表达式
A)(x>=y)&&(y>=z)
B(x>=y)AND(y>=z)
C)(x>=y>=z)
D)(x>=y)&(y>=z)
(49)两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是
main()
{intx;
scanf("%d",&x);
if(x++>5)printf("%d",x);
else printf("%d\n",x--); }
A)7和5
B)6和3
C)7和4
D)6和4
(50)以下程序的输出结果是
main()
{inta=-1,b=4,k;
k=(++a〈0)&&!
(b--〈=0);
printf("%d%d%d\n",k,a,b); }
A)104
B)103
C)003
D)004
(51)下面的程序
A)有语法错误不能通过编译
B)输出****。
C)可以通过编译,但是不能通过连接,因而不能运行。
D)输出####。
main()
{intx=3,y=0,z=0;
if(x=y+z)printf("****");
else printf("####");}
(52)若执行下面的程序时从键盘上输入5,则输出是
A)7 B)6 C)5 D)4
main()
{intx;
scanf("%d",&x);
if(x++>5)printf("%d\n",x);
else printf("%d\n",x--);}
(53)下面程序的输出是
A)003 B)012 C)103 D)112
main()
{inta=-1,b=4,k;
k=(a++<=0)&&(!
(b--<=0));
printf("%d%d%d\n",k,a,b);}
(54)下面的程序片段所表示的数