(14)有以下程序
main()
{inti=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()
{inta=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)6B)0 C)2D)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()
{inta=5,b=4,c=6,d;
printf("%d\n",d=a>b?
(a>c?
a:
c):
(b));
}
A)5 B)4C)6D)不确定
(20)以下程序的输出结果是
main()
{inta=4,b=5,c=0,d;
d=!
a&&!
b||!
c;
printf("%d\n",d);
}
A)1B)0C)非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()
{intx;
scanf(“%d”,&x);
if(x--<5)printf(“%d”’x);
elseprintf(“%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
{intn;
scanf(“%d”,&n);
if(n++<10)printf(“%d\n”,n);
elseprintf(“%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)switcha D)switch(a-b)
{casec1:
y=a-b;break{default:
y=a*b;break
casec2:
x=a*d;breakcase3:
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
{intx=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
{floatx=2.0,y;
if(x<0.0)y=0.0;
elseif(x<10.0)y=1.0/x;
elsey=1.0;
printf(“%f\n”,y);
}
该程序的输出结果是
A)0.000000
B)0.250000
C)0.500000
D)1.000000
(30)有如下程序
main0
{inta=2,b=-1,c=2;
if(a
if(b<0)c=0;
elsec++
printf(“%d\n”,c);
}
该程序的输出结果是
A)0B)1C)2D)3
(31)设intx=1,y=1;表达式(!
x||y--)的值是
A)0 B)1C)2D)-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=-1D)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)-11 B)01 C)10D)00
main()
{inta=-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)6C)5D)4
main()
{intm=5;
if(m++>5)printf("%d\n",m);
esleprintf("%d\n",m--);
}
(38)当a=1,b=3,c=5,d=5时,执行下面一段程序后,x的值为
A)1 B)2C)3D)6
if(a
if(celse
if(aif(belsex=3;
elsex=6;
elsex=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()
{inta,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)34B)4C)35D)3
(44)在以下一组运算符中,优先级最高的运算符是
A)<= B)= C)%D)&&
(45)表达式:
10!
=9的值是
A)true B)非零值C)0D)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);
elseprintf("%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("****");
elseprintf("####");}
(52)若执行下面的程序时从键盘上输入5,则输出是
A)7B)6C)5D)4
main()
{intx;
scanf("%d",&x);
if(x++>5)printf("%d\n",x);
elseprintf("%d\n",x--);}
(53)下面程序的输出是
A)003B)012C)103D)112
main()
{inta=-1,b=4,k;
k=(a++<=0)&&(!
(b--<=0));
printf("%d%d%d\n",k,a,b);}
(54)下面的程序片段所表示的数学函数关系是上面程序片段的输出结果是
(55)下面程序的输出是
A)-1B)0C)1D)不确定的值
main()
{intx=100,a=10,b=20,ok1=5,ok2=0;
if(a
if(b!
=15)
if(!
ok1)
x=1;
else
if(ok2)x=10;
x=-1;
printf("%d\n",x);}
(56)设a、b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是
A)’a’&&’b’
B)a<=b
C)a||b+c&&b-c
D)!
((a
c||1)
(57)请读程序:
#include
main()
{floatx,y;
scan("%f",&x);
if(x<0.0)y=0.0
elseif((x<5.0)&&(x!
=2.0))
y=1.0/(x+2.0);
elseif(x<10.0)y=1.0/x;
elsey=10.0;
printf("%f\n",y);
}
若运行时从键盘上输入2.0(表示回车),则上面程序的输出结果是
A)0.000000
B)0.250000
C)0.500000
D)1.000000
(58)请读程序:
#include
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:
a++;break;
case1:
b++;break;
}
case2:
a++;b++;break;
}
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
(59)以下程序的输出结果是 【59】。
#include
main()
{inta,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);}
A)6,1
B)2,1
C)6,0
D)2,0
(60)若k是int型变量,且有下面的程序片段:
k=-3
if(k<=0)printf("####")
elseprintf("&&&&");
上面程序片段的输出结果是
A)####
B)&&&&
C)####&&&&
D)有语法错误,无输出结果
二、填空题
(1)以下程序运行后的输出结果是【1】。
main()
{inta=1,b=2,c=3;
if(c=a)printf("%d\n",c);
elseprintf("%d\n",b);
}
(2)以下程序运行后的输出结果是
main()
{
inta=3,b=4,c=5,t=99;
if(bif(aprintf("%d%d%d\n",a,b,c);
}
(3)以下程序运行后的输出结果是
main()
{
inta,b,c
a=10;b=20;c=(a%b<1)||(a/b>1);
printf("%d%d%d\n",a,b,c);
}
(4)以下程序运行后的输出结果是【4】。
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1: