c:
d;
A)1 B)2 C)3 D)4
13.执行下述程序的输出结果是_______。
A
#include
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);
}
A)-1 B)0 C)1 D)不确定的值
14.与语句y=(x>0?
1:
x<0?
-1:
0);的功能相同的if语句是_______。
A
A)if(x>0)y=1; B)if(x)
elseif(x0)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;
15.两次运行下述程序,如果从键盘上分别输入6和4,则输出结果是_______。
A
#include
main()
{
intx;
scanf("%d",&x);
if(x++>5) printf("%d\n",x);
else printf("%d\n",x--);
}
A)7和5 B)6和3 C)7和4 D)6和4
16.执行下述程序的输出结果是_______。
C
#include
main()
{
inta=-1,b=1,k;
if((++a<0)&&(!
b--<=0)) printf("%d%d\n",a,b);
else printf("%d%d\n",b,a);
}
A)-11 B)01 C)1 0 D)00
17.假定所有变量均已正确说明,执行下述程序段后x的值是_______。
A
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
18.若设n是个整型变量且已有值,则与给定条件表达式(!
n)?
n+10:
n-10等价的条件表达式是_______。
C
A)(n!
=0)?
n+10:
n-10 B)(n!
=1)?
n+10:
n-10
C)(n==0)?
n+10:
n-10 D)(n==1)?
n+10:
n-10
19.设有程序如下:
则以下叙述正确的是_______。
A
#include
main()
{
intx=3,y=0,z=0;
if(x=y+z) ; printf("****\n");
else printf("####\n");
}
A)程序有语法错误,不能通过编译
B)程序可执行,输出结果是****
C)程序可以通过编译,但是不能通过连接,因而不能运行
D)程序可执行,输出结果是####
20.与语句if(a>b)if(c>d)x=1;elsex=2;等价的是_______。
A
A)if(a>b){if(c>d)x=1;elsex=2;}
B)if(a>b){if(c>d)x=1;}elsex=2;
C)if((a>b)&&(c>d))x=1;elsex=2;
D)if(a<=b)x=2;elseif(c>d)x=1;
21.设有以下程序段, 则执行以下程序段的输出结果为_______。
B
int a=1,b=0;
switch (a)
{ case1:
switch (b)
{case0:
printf("**0**");break;
case1:
printf("**1**");break;}
case2:
printf("**2**");break;
}
printf("\n");
A)**0** B)**0****2**
C)**0****1****2** D)有语法错误
22.执行下列程序段后输出的结果是_______。
C
inta=8,b=7,c=6;
if(ac){a=c;c=b;}
printf("%d,%d,%d\n",a,b,c);
A)6,7,7 B)6,7,8 C)8,7,6 D)8,7,8
23.若变量已正确定义,有以下程序段,其输出结果是_______。
B
inta=3,b=5,c=7;
if(a>b)a=b;c=a;
if(c!
=a)c=b;
printf("%d,%d,%d\n",a,b,c);
A)程序段有语法错 B)3,5,3 C)3,5,5 D)3,5,7
24.有以下程序,程序的运行结果是_______。
D
#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;
case3:
a++;b++;}
printf("a=%d,b=%d\n",a,b);
}
A)a=1,b=0B)a=2,b=2C)a=1,b=1D)a=2,b=1
25.有以下计算公式,若程序前面已在命令行中包含math.h文件,不能够正确计算上述公式的程序段是_______。
B
A)if(x>=0)y=sqrt(x);B)y=sqrt(x);
elsey=sqrt(-x);if(x<0)y=sqrt(-x);
C)if(x>=0)y=sqrt(x);D)y=sqrt(x>=0?
x:
-x);
If(x<0)y=sqrt(-x);
26.设变量x和y均已正确定义并赋值。
以下if语句中,在编译时将产生错误信息的是_______。
C
A)if(x++);B)if(x>y&&y!
=0);
C)if(x>0)x--D)if(y<0){;}
elsey++;elsex++;
27.在嵌套使用if语句时,C语言规定else总是_______。
C
A)和之前与其具有相同缩进位置的if配对
B)和之前与其最近的if配对
C)和之前与其最近的且不带else的if配对
D)和之前的第一个if配对
28.下列叙述中正确的是_______。
D
A)break语句只能用于switch语句
B)在switch语句中必须使用default
C)break语句必须与switch语句中的case配对使用
D)在switch语句中,不一定使用break语句
29.若有定义:
floatx=1.5;inta=1,b=3,c=2;则正确的switch语句是_______。
C
A)switch(x)B)switch((int)x);
{case1.0:
printf("*\n");{case1:
printf("*\n");
case2.0:
printf("**\n");}case2:
printf("**\n");}
C)switch(a+b)D)switch(a+b)
{case1:
printf("*\n");{case1:
printf("*\n");
case2+1:
printf("**\n");}casec:
printf("**\n");}
30.有以下程序,程序输出结果是_______。
D
main()
{
inta=0,b=0,c=0,d=0;
if(a=1)b=1;c=2;
elsed=3;
printf("%d,%d,%d,%d\n",a,b,c,d);
}
A)0,1,2,0 B)0,0,0,3 C)1,1,2,0 D)编译有错
31.当把以下四个表达式用作if语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是_______。
D
A)k%2 B)k%2==1 C)(k%2)!
=0 D)!
k%2==1
32.设变量a、b、c、d和y都已正确定义并赋值。
若有以下if语句,该语句所表示的含义是_______。
C
if(a
elsey=1;
A) B)
C) D)
33.以下程序的输出结果是_______。
D
main()
{
inti=1,j=2,k=3;
if(i++==1&&(++j==3||k++==3))
printf("%d%d%d\n",i,j,k);
}
A)123 B)234 C)223 D)233
34.若整型变量a、b、c、d中的值依次为:
1、4、3、2。
则条件表达式a
a:
cc:
d的值是_______。
A
A)1B)2C)3D)4
35.下列程序段中,能将变量x、y中值较大的数保存到变量a,值较小的数保存到变量b的程序段是_______。
C
A)if(x>y)a=x;b=y;elsea=y;b=x;
B)if(x>y){a=x;b=y;}elsea=y;b=x;
C)if(x>y){a=x;b=y;}else{a=y;b=x;}
D)if(x>y){a=x;b=y;}else(x36.有以下程序,执行后输出的结果是_______。
C
main()
{
inti=1,j=1,k=2;
if((j++||k++)&&i++)
printf("%d,%d,%d\n",i,j,k);
}
A)1,1,2B)2,2,1C)2,2,2D)2,2,3
37.有以下程序,执行后输出的结果是_______。
B
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);
elseprintf("%d\n",d+2);
}
A)2B)3C)4D)编译时有错,无结果
38.对下述程序,_______是正确的判断。
A
#include
main()
{
intx,y;
scanf("%d,%d",&x,&y);
if(x>y)
x=y;y=x;
elsex++;y++;
printf("%d,%d\n",x,y);
}
A)有语法错误,不能通过编译B)若输入数据3和4,则输出4和5
C)若输入数据4和3,则输出3和4D)若输入数据4和3,则输出4和4
39.若有表达式(w)?
(--x):
(++y),则其中与w等价的表达式是_______。
D
A)w==1B)w==0C)w!
=1D)w!
=0
40.执行以下程序段后,w的值为_______。
C
intw='A',x=14,y=15;
w=((x||y)&&(w<'a'));
A)-1B)NULLC)1D)0
41.有以下程序段,程序的输出结果是_______。
A
inta,b,c;
a=10;b=50;c=30;
if(a>b)a=b,b=c;c=a;
printf("a=%db=%dc=%d\n",a,b,c);
A)a=10b=50c=10 B)a=10b=50c=30
C)a=10b=30c=10 D)a=50b=30c=50
42.有以下程序,程序的运行结果是_______。
D
#include
main()
{
intx=1,y=2,z=3;
if(x>y)
if(yelseprintf("%d",++y);
printf("%d\n",x++);
}
A)331B)41C)2D)1
43.下面_______表达式满足x为奇数时为真,x为偶数时为假。
C
A)x%2==0B)(x/2*2-x)==0C)x%2D)!
(x%2!
=0)
44.C语言中对于嵌套if语句规定else总是与_______配对。
D
A)第一个ifB)其之前最近的if
C)缩进位值相同的ifD)其之前最近的不带else的if语句
45.已有声明“inta=3,b=3,c=2;”,以下选项中值为0的表达式是________。
A
A)!
a&&!
b&&cB)!
a||!
b||cC)a==b&&b>=cD)a>=b&&b>c
46.有以下程序
#include
main()
{
intx;
scanf("%d",&x);
if(x<=3);
elseif(x!
=10)
printf("%d\n",x);}
程序运行时,输入输入的值在哪个范围才会有输出结果________。
B
A)不等于10的整数B)大于3且不等于10的整数
C)大于3或等于10的整数D)小于3的整数
47.有以下程序
#include
main()
{
inta=1,b=2,c=3,d=0;
if(a==1&&b++==2)
if(b!
=2||c--!
=3)
printf("%d,%d,%d\n",a,b,c);
elseprintf("%d,%d,%d\n",a,b,c);
elseprintf("%d,%d,%d\n",a,b,c);}
程序运行后的输出结果是________。
C
A)1,2,3B)1,3,2C)1,3,3D)3,2,1
48.当c的值不为0时,在下列选项中不能正确将c的值赋给变量a和b的是_______。
A)c=b=a;B)(a=c)||(b=c)A/B/D
C)(a=c)&&(b=c) D)a=c=b;
49.以下可以判断字符变量ch中为数字字符的有_______。
A/B/C
A)isdigit(ch)B)ch>='0'&&ch<='9'
C)ch>=48&&ch<=57D)ch>=0&&ch<=9
50.语句while(!
E);中的!
E条件与下列关系式等价的有_______。
A/B
A)E!
=1B)E==0C)E!
=0D)E==1
51.以下叙述正确的是________。
C
A)"或"运算时,两个变量都为"1"时,结果为"0"
B)"非"运算是二元运算符
C)所有逻辑运算都是按位操作的
D)16H和16D的"与"运算结果为32D
52.若给定条件表达式(M)?
(a++):
(a--)则其中表达式M和________等价。
C
A)(M==0)B)(M==1)C)(M!
=0)D)(M=0)
53.为表示关系x≥y≥z,应使用的C语言表达式是________。
A
A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)
C)(x>=y>=z)D)(x>=y)&(y>=z)
54.以下程序的输出结果是________。
C
main()
{
inta=2,b=-1,c=2;
if(a
if(b<0)c=0;
elsec+=1;
printf("%d\n",c);
}
A)0B)1C)2D)3
55.