=b+c D) b+c>a
正确答案是:
A 你选择的答案是:
A √
12、
在C语言中,复合赋值运算x*=y+5等价于( )。
A) x=y+5 B) x=(y+5)*(y+5) C) x=x*(y+5)D) x=x*y+5
正确答案是:
C 你选择的答案是:
C √
13、
以下选项中,与k=n++完全等价的表达式是( )。
A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+1
正确答案是:
A 你选择的答案是:
B ×
14、
执行语句x=(a=3,b=a++)后,x,a,b的值依次为( )。
A) 3,4,2 B) 3,2,2 C) 2,3,2 D) 3,4,3
正确答案是:
D 你选择的答案是:
D √
15、
unsigned int类型的数据的取值范围是( )。
A) 0至255 B) 0至65535 C) -32768至32767 D) -128至127
正确答案是:
B 你选择的答案是:
B √
16、
以下程序段执行后的输出结果是( )。
int k=2,i=2,m;
m=(k+=i*=k); printf("%d,%d",m,i);
A) 8,6 B) 8,3 C) 6,4 D) 7,4
正确答案是:
C 你选择的答案是:
C √
17、
若有以下定义和语句:
int u=050,v=0x10,w=10;
printf("%d,%d,%d\n",u,v,w);
则输出的结果是( )。
A) 50,16,10 B) 40,16,10 C) 40,8,10 D) 50,10,10
正确答案是:
B 你选择的答案是:
B √
18、
若有说明:
int k=-1;,执行语句printf("%d,%u",k,k);后的输出结果是( )。
A) -1,-1 B) -1,32767 C) -1,32768 D) -1,65535
正确答案是:
D 你选择的答案是:
D √
19、
判断char型变量c的值是否为小写字母的正确表达式是( )。
A) 'a'<=c<='z' B) (c>=a)&&(c<=z)
C) (c>='a')&&(c<='z') D) ('a'<=c)AND('z'>=c)
正确答案是:
C 你选择的答案是:
C √
20、
若有条件表达式(x)?
a++:
b--,则下列表达式中能完全等价于表达式(x)的是( )。
A) (x==0) B) (x!
=0) C) (x==1) D) (x!
=1)
正确答案是:
B 你选择的答案是:
B √
1、
表达式1/2*(3+4+5)的值为( )。
A) 0B) 6
正确答案是:
A 你选择的答案是:
B ×
2、
设有说明语句:
int a=5,b=2;,则执行语句:
a=--a||++b;后,b的值是( )。
A) 0B) 1C) 2 D) 3
正确答案是:
C 你选择的答案是:
C √
3、
设有说明语句:
int a=5,b=3;,则下面合法的表达式是( )。
A) (a+5)++B) 45++C) a+++a--+b D) (-b)--
正确答案是:
C 你选择的答案是:
C √
4、
下面均是不合法的整型常量的选项是( )。
A) –0f3,-0xffff,033B) -028,123,3e5
C) -0xdce,025,10,000D) -0x57ag,-048,e5
正确答案是:
D 你选择的答案是:
C ×
5、
设以下变量均为int类型,则值不等于1的表达式是( )。
A) 3/2 B) 1/2*2 C) 2-1%2 D) x=0,x+1,x+1
正确答案是:
B 你选择的答案是:
B √
6、
设有说明语句:
int x;float y=6.5;,表达式x=(float)(y*3-((int)y)%4)执行后,x的值为( )。
A) 17 B) 17.500000 C) 17.5 D) 16
正确答案是:
A 你选择的答案是:
未选 ×
7、
若x为double型变量,则逗号表达式x=1,x+5,++x的值是( )。
A) 1 B) 6.0 C) 2.0 D) 1.0
正确答案是:
C 你选择的答案是:
C √
8、
设有定义int x=3,y=4,z=5; ,则下列表达式中值为0的是( )。
A) y%z>=y-z B) x<=++y C) x!
=y+z>=y-z D) x>=y--
正确答案是:
D 你选择的答案是:
B ×
第三章
1、
使用scanf("x=%f,y=%f",&x,&y),要使x,y的值均为1.25,正确的输入是( )。
A) 1.25,1.25 B) 1.25 1.25 C) x=1.25,y=1.25 D) x=1.25 y=1.25
正确答案是:
C 你选择的答案是:
C √
2、
有以下程序:
main()
{ int x=100,y=-100;
x%=y-2/x;
y%=x-2*y;
printf("x=%d,y=%d\n",x,y);
}
程序运行后的输出结果是( )。
A) x=0,y=100 B) x=100,y=-100C) x=100,y=100 D) x=0,y=-100
正确答案是:
D 你选择的答案是:
D √
3、
设有说明语句:
int a,b;,执行语句scanf("%d,%d",&a,&b);后,若使变量a的值为3,b的值为5,则下面输入正确的是( )。
A) 3□,□5↙B) 3□5↙C) □3, □5↙D) 3↙
,5↙
正确答案是:
C 你选择的答案是:
C √
4、
若a是int型变量,b是float型变量,下面正确的输入语句是( )。
A) scanf("%d%d",&a,&b);B) scanf("%f%f",&a,&b);
C) scanf("%d%f",&a,&b);D) scanf("%d%f",a,b);
正确答案是:
C 你选择的答案是:
C √
5、
若有说明语句:
char str[20];,执行scanf("%s",str);语句后,从键盘输入字符串:
Guess what?
↙
则存入数组str中的字符串是( )。
A) GuessB) Guess what?
正确答案是:
A 你选择的答案是:
A √
6、
下面程序运行后的输出结果是 ( )。
main()
{
int x=5;
printf("%d,%d,%d\n",++x,--x,-x);
}
A) 6,5,-5B) 5,4,-5
正确答案是:
B 你选择的答案是:
B √
7、
下面程序运行后的输出结果是 ( )。
main()
{
char ch='a';
ch=ch+'A'-'a'
printf("%c,%d\n",ch,ch);
}
A) A,65B) a,97
正确答案是:
A 你选择的答案是:
A √
8、
下面程序运行后的输出结果是 ( )。
main()
{
float a=5.64,b=15.6486;
printf("%f,%5.2f\n",a,b);
}
A) 5.64,15.64B) 5.640000,15.65
正确答案是:
B 你选择的答案是:
B √
9、
下面程序运行后的输出结果是 ( )。
main()
{
char s[10]="abcdefg";
printf("%-7.5s,%8.6s \n",s,s);
}
A) abcde□□,□□abcdefB) abcdefg,□abcdefg
正确答案是:
A 你选择的答案是:
A √
第四章
1、
设有程序段:
int x,y,z;
x=30,y=40,z=60;
while(x>y) x+=2,
y-=2; z/=2;
printf("%d,%d,%d",x,y,z);
则此程序段的输出结果为( )。
A) 40,38,30 B) 32,28,7 C) 30,40,30 D) 32,28,7.5
正确答案是:
C 你选择的答案是:
C √
2、
设有说明语句:
int a=0,b=5;,则执行if(a=b) printf("Hello!
\n");语句后,下面正确的选项是( )。
A) 输出结果是:
Hello!
,并且变量a、b的值相等 B) 不会输出Hello!
C) 输出结果是:
Hello!
,并且变量a、b的值不等 D) 编译时出现错误
正确答案是:
A 你选择的答案是:
B ×
3、
执行下面程序段后,变量x的值是( )。
int a=0,b=5,c=8,x;
if(a!
=0) x=a;
else if(belse x=c;
A) 0B) 5C) 8D) 10
正确答案是:
B 你选择的答案是:
B √
4、
执行下面程序段后,变量ch的值是( )。
int a=60,b=70,c=80;char ch='C';
if(a<80) if(b<70)if(c<60) ch='B';else ch='A';
A) C B) BC) AD) 没有值
正确答案是:
A 你选择的答案是:
C ×
5、
执行下面程序段后,变量a的值是( )。
int a=1;
switch (a)
{ case 1:
a+=1;
case 3:
a+=2;
case 5:
a+=3;break;
default:
a+=4;
}
A) 2B) 4C) 7D) 11
正确答案是:
C 你选择的答案是:
B ×
6、
有程序段:
int n=0;
do
{n++;
}while(n=10);
则此循环的循环体( )。
A) 不执行 B) 执行1次 C) 执行2次 D) 执行无限次
正确答案是:
D 你选择的答案是:
A ×
7、
执行下面循环语句后,则“printf("a");”语句的执行次数是( )。
int i,j;
for(i=0;i<2;i++)
for(j=3;j;j--)
printf("a");
A) 4B) 6C) 8D) 12
正确答案是:
B 你选择的答案是:
B √
8、
设x和y均为int型变量,则执行以下语句
x+=y; y=x-y; x-=y;
所完成的功能是( )。
A) 把x和y从小到大排列 B) 把x和y从大到小排列
C) 无确定结果 D) 交换x和y的值
正确答案是:
D 你选择的答案是:
C ×
9、
设有说明语句:
int x=15,y=20,z=25;,则执行
if (x>y)
z=x; x=y; y=z;
语句后,x、y、z的值是( )。
A) x=15,y=20,z=25 B) x=20,y=25,z=25
C) x=20,y=25,z=15 D) x=20,y=25,z=20
正确答案是:
B 你选择的答案是:
B √
10、
设有说明语句:
int s,a,b,c;,且a、c均已赋值(c大于0)。
s=a;
for(b=1;b<=c;b++) s=s+1;
则下面与上述程序段功能等价的赋值语句是( )。
A) s=a+b; B) s=a+c; C) s=s+b; D) s=b+c;
正确答案是:
B 你选择的答案是:
C ×
11、
有以下程序:
#include
main()
{int i;
for(i=0;i<3;i++)
switch(i)
{case 1:
printf("%d",i);
case 2:
printf("%d",i);
default:
printf("%d",i);
}
}
执行后的输出结果是( )。
A) 011122 B) 012 C) 012020 D) 120
正确答案是:
A 你选择的答案是:
D ×
12、
设x是整型变量,则while(x) {…}与while(x!
=0) {…}是否等价?
( )。
A) 是等价 B) 不等价
正确答案是:
A 你选择的答案是:
B ×
13、
下面程序运行后的输出结果是 ( )。
main()
{ int a=1,b=5,c=3,x;
if(a
if(b else x=4;
else x=6;
printf("%d\n",x);
}
A) 2 B) 4 C) 6
正确答案是:
B 你选择的答案是:
C ×
14、
下面程序运行后的输出结果是 ( )。
main()
{ int i=1,sum=0;
while(i<=5)
{ sum=sum+i;
i=i+1;
}
printf("%d\n",sum);
}
A) 15 B) 10
正确答案是:
A 你选择的答案是:
A √
15、
下面程序运行后的输出结果是 ( )。
main()
{ int i=1,t=1;
while(i<=5)
{ t=t*i;
i=i+1;
}
printf("%d\n",t);
}
A) 24 B) 120
正确答案是:
B 你选择的答案是:
B √
16、
下面程序运行后的输出结果是 ( )。
main()
{ int x,a=10,b=20,ok=5;
if (a
if (b!
=15)
if (!
ok)
x=1;
else
x=-1;
printf("%d\n",x);
}
A) -1 B) 1
正确答案是:
A 你选择的答案是:
A √
17、
下面程序运行后的输出结果是 ( )。
#include
main()
{ int i;
for(i=0;i<3;i++)
switch(i)
{ case 1:
printf("%d",i);
case 2:
printf("%d",i);break;
default:
printf("%d",i);
}
}
A) 012 B) 0112
正确答案是:
B 你选择的答案是:
B √
18、
下面程序运行后的输出结果是 ( )。
main()
{ int k,t=1,sum=0;
for (k=1;k<=4;k++)
{ t=t*k;
sum=sum+t;
}
printf("%d",sum);
}
A) 24 B) 33
正确答案是:
B 你选择的答案是:
B √
19、
下面程序运行后的输出结果是 ( )。
main()
{ int n=12345,sum=0;
while(n)
{ sum+=n%10;
n=n/10;
}
printf("%d\n",sum);
}
A) 15 B) 78
正确答案是:
A 你选择的答案是:
未选 ×
20、
下面程序运行后的输出结果是 ( )。
main()
{ int a=7;
if (a=8)
printf("aaa");
else if (a<8) printf("bbb");
else printf("ccc");
}
A) aaa B) bbb C) ccc
正确答案是:
A 你选择的答案是:
B ×
1、
下面程序运行后的输出结果是 ( )。
main()
{ int i,j;
for(i=1;i<=4;i++)
{for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");