第四届全国ITAT教育工程就业技能大赛预赛试题87023950.docx
《第四届全国ITAT教育工程就业技能大赛预赛试题87023950.docx》由会员分享,可在线阅读,更多相关《第四届全国ITAT教育工程就业技能大赛预赛试题87023950.docx(26页珍藏版)》请在冰点文库上搜索。
第四届全国ITAT教育工程就业技能大赛预赛试题87023950
第四届全国ITAT教育工程就业技能大赛预赛试题
C语言
一、单选题(共60小题,每题1分,共60分)
1.执行下列程序中的输出语句后,x的值是.(知识点3.10)
main()
{intx;
printf(“%dn”,(x=5*6,x*2,x+20));}
A)30B)60C)50D)80
2.下列程序的输出结果是.(知识点3.8)
main()
{intx=1,y=0,z;
z=(x<=0)&&(y-->=0);
printf(“%d%d%d%n”,z,x,y);}
A)0-1-1B)0-10C)010D)01-1
3.在C语言中,下列选项属于合法的长整型常数的是.(知识点3.3)
A)0LB)1234567C)0.0234567D)3.14159e3
4.下列选项中属于不正确的赋值语句的是.(知识点3.6)
A)t++;B)n1=(n2=(n3=0));C)k=i==j;D)a=b,c=1;
5.若有定义:
inta,b;charx,y;并有以下输入数据:
1422XxYy(回车)
则能给a赋整数14,给b赋整数22,给x赋字符x,给y赋字符y的正确程序段是.(知识点4.2)
A)scanf(“%d%d”,&a,&b);
x=getchar();y=getchar();
B)
scanf
(“%d%d%c%”c,
&a,
&b,
&x,
&x,
&y,
&y);
C)
scanf
(“%d%d%c%c%c%”c,
&a,
&b,
&x,
&x,
&y,&y)
D)
scanf
(“%d%d%c%”c,
&a,
&b,
&x,
&y)
;
6.
下列转义字符不正确的是
.(知识点
3.5
)
A)
'\\'B
)'\'C)'\053'D
)'\0'
7.下列选项可作为C语言赋值语句的是.(知识点4.2)
A)x=3
y=5B)
a=b=6C)i--;D)y=int(x);
8.当c的值不为
0时,
下列选项中能正确将c的值赋给变量a、b的是
_.(知识点5.2)
A)c=b=a;B)(
9.有以下程序:
main()
{unsignedintaintb=-1;
a=b;
a=c)
11(b=c);C)(a=c)&&(b=c);D)a=c=b;
printf
(“%u”,
a);
}
该程序运行后的输出结果是.(知识点4.5)
A)-1B)65535C)32767D)-32768
10.若x、b、mn均为int型变量,执行下面语句后b的值为.(知识点3.10)
m=20;n=6;
x=(--m==n++)?
--m:
++n;
b=m++;
A)11B)6C)19D)18
11.有以下程序:
main()
{inta=111,b=222;
printf(“%dn”,a,b);
}
该程序运行后的输出结果是
.(知识点
4.5)
A)错误信息B)111C)
222D)111,222
12.以下程序的输出结果是
.(知识点
4.5)
main()
{inta=2,c=5;
printf(“a=%%%,d
n”,a,c);}
A)a=%2,b=%5B)a=2
b=5C)a=%%%d,
b=%%%d)Da=%%d,b=%%d
13.对于浮点型变量f,能实现对f中的值在小数点后第三位进行四舍五入的表达式是.(知识点3.8)
A)f=(f*100+0.5)/100.0B)f=(f*100+0.5)/100
C)f=(int)(f*100+0.5)/100.0D)f=(f/100+0.5)*100
14.设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>b)&&(n=c>d)后m,n的值为.(知识点5.2)
A)2,2B)2,0C)0,2D)0,0
15.语句printf(“%dn”,strlen(“asd”));的输出结果是.(知识点7.3)
A)9B)11C)7D)8
16.有以下程序:
main()
{
inty=1234;
printf(“y=%6d”,y);
printf(“y=%+06dn”,y);
}
该程序的运行结果是.(知识点4.5)
A)y=1234y=001234B)y=1234y=+01234
C)y=1234y=+01234D)y=1234y=1234
17.语句:
printf(“%d”,!
9);的输出结果是.(知识点5.2)
A)0B)1C)有语法错误,不能执行D)-9
18.已有定义语句:
intx=6,y=4,z=5;执行以下语句后,能正确表示x、y、z值的选项是.(知识点5.3)
if(xA)x=4,y=5,z=6B)x=4,y=6,z=6
C)x=4,y=5,z=5D)x=5,y=6,z=4
19.下列选项中属于正确的switch语句的是.(知识点5.4)
A)switch(1.0)B)swicth
(1)
{case1.0:
printf(“An”);{case1:
printf(“An”);
case2.0:
printf(“Bn”);}case2:
printf(“Bn”);}
C)switch((int)(1.0+2.5))D)switch(“a”);
{case1:
printf(“An”);{case“a”:
printf(“An”);
case1+2:
printf(“Bn”);}case“b”:
printf(“Bn”);}
20.若k为int型变量,以下语句段执行后的输出结果是.(知识点5.3)
k=-3;
if(k<=0)printf(“####”)
elseprintf(“****”);
A)####B)****C)####****D)有语法错误,不能执行
21.当a=2,b=3,c=4,d=5时,执行下面一段程序后x的值为.(知识点5.3)
if(a>b)
if(celse
if(aif(b>d)x=2;
elsex=3;
elsex=4;
elsex=5;
A)2B)3C)4D)5
22.下列程序的运行结果是.(知识点6.3)
main()
{inty=10;
do{y--;}while(--y);
printf(“%dn”,y--);}
A)-1B)1C)8D)0
23.下列程序的运行结果是.(知识点6.5)
#include
main()
{
inti;
for(i=1;i<=5;i++){if(i%2)printf(“*”);
elsecontinue;
printf(“#”);
}
printf(“$n”);
}
A)*#*#$B)#*#*#*$C)*#*#*#$D)***#$
24.若x是int型变量,且有下面的程序片段:
(知识点6.5)
for(x=5;x<8;x++)
printf((x%2)?
(“**%d”):
(“##%dn”),x);
该程序片段的输出结果是.
A)**5##6B)##5C)##5**6##7D)**5##6**7**7**6##7
25.有以下程序:
main()
{inta=1,b=0;
switch(a)
{case1:
switch(b)
{case0:
printf(“****”);break;
case1:
printf(“####”);break;}
case2:
printf(“$$$$”);break;}
该程序的输出结果是.(知识点5.4)
A)****B)****$$$$C)****####$$$$D)####$$$$
26.下列程序段的输出结果是.(知识点6.4)
intx=3;
do{printf(“%3d”,x-=2);}
while(!
(——x));
A)1B)30C)1-2D)死循环
27.有以下程序,其中x、y为整型变量;
for(x=0,y=0;(x<=1)&&(y=1);x++,y——);
printf(“x=%d,y=%d”,x,y);
该程序的输出结果是.(知识点6.5)
A)x=2,y=0B)x=1,y=0C)x=1,y=1D)x=0,y=0
28.有以下程序段:
intn=0,p;
do{scanf(“%d”,&p);n++;}while(p!
=12345&&n<3);
此处do-while循环的结束条件是.(知识点6.4)
A)p的值不等于12345并且n的值大于3
B)p的值等于12345并且n的值大于等于3
C)p的值不等于12345或者n的值小于3
D)p的值等于12345或n的值大于等于3
29.在下述程序中,if(i>j)语句共执行的次数是.(知识点6.5)
main()
{inti=0,j=10,k=2,s=0;
for(;;)
{i+=k;
if(i>j)
{printf(“%d”,s);
break;
}
s+=i;
}
}
A)4B)7C)5D)6
30.以下程序的功能是:
按顺序读入10名学生和4门课程的成绩,计算出每位学生的平均分进行输出,但运行结果不正确。
main()
{intn,k;floatscore,ave;
ave=0.0;
for(n=1;n<=10;n++)
{for(k=1;k<=4;k++)
{scanf(“%f”,&score);
ave+=score/4;}
printf(“NO%:
dn”,n,ave);}
}造成程序计算结果错误的语句行是.(知识点6.6)
A)ave=0.0;B)for(n=1;n<=10;n++)
C)ave+=score/4;D)printf(“NO%:
dn”,n,ave);
31.若有以下定义:
chars[10]={'a','b','c','O','\0','2','\x32','\0'};执行语句printf(“%d,strlen(s));的结果是.(知识点
7.3)
A)3B)4C)8D)10
32.设有数组定义:
chararray[]=“abcdef";则数组array所占的空间为.(知识点7.3)
A)4个字节B)5个字节C)6个字节D)7个字节
33.有以下程序:
main()
{charstr[][10]={“China”,“Beijing”},*p=str;
printf(“%sn”,p+10);}
该程序运行后的输出结果是.(知识点10.4)
A)ChinaB)BeijingC)ngD)ing
34.阅读下面程序,该程序段的功能是.(知识点7.1)
#include
main()
{intc[]={23,1,56,234,7,0,34},i,j,t;
for(i=1;i<7;i++)
{t=c[i];j=i-1;
while(j>=0&&t>c[j]){c[j+1]=c[j];j--;}
c[j+1]=t;}
for(i=0;i<7;i++)printf(“%d”,c[i]);
main()
{intn[3][3],i,j;
for
(i=0;
i<3;
i++)
for
(j=0;
j<3;
j++)
n[i][j]=i+j;
for
(i=0;
i<2;
i++)
for
(j=0;
j<2;
j++)
n[i+1][j+1]+=n[i][j]
printf(“%dn”,n[i][j]);
}
A)14B)0C)6D)值不确定
36.下列函数调用语句中含有个参数。
(知识点8.3)
func((f1,f2),(f2,f3,f4),f5)
A)3B)4C)5D)6
37.下列程序的运行结果是.(知识点7.3)
#include
main()
{char*p1,*p2,ch[20]=“ABCDEFabcde”f;p1=“1234”;p2=“abcd”;
strcpy(ch+1,p2+1);strcpy(ch+3,p1+3);pintf(“%sn”,ch);}
A)Abc4EFabcdeB)Abc4EFC)AbcdEFD)Abc4
38.下列程序的运行结果是.(知识点8.6)
#include
intf(inta)
{switch(a)
{case0:
return0;
case1:
case2:
return1;
}
return(f(a-2)+f(a-3));
}
main()
{intb;
b=f(10);
printf(“b=%dn”,b);
}
A)12B)10C)9D)8
39.有以下程序:
fun(intn)
{if(n==1||n==2)return2
returns=n-fun(n-2);
main()
{printf(“%dn”,fun该程序运行后的输出结果是A)1B)2C)3D)40.下列程序中函数
7));}
.(知识点8.6)
,intn)
voidsort(inta[]{inti,j,t;
for(i=0;ii++
j++
j){t=a[i]
,2,
,5);
)
)
;a[i]=a[j];a[j]=t;}
3,4,
5,6,7,8,
“%d,”
9,10},i;
aa[i]);
}
该程序运行后的输出结果是
A)1,2,3,4,5,6,7,
C)1,2,3,8,7,6,5,
41.下列程序的运行结果是main(){inta=3y=fnprintfintfn
.(知识点
8,9,10,B)
4,9,10,D)
.(知识点
8.4)
10,9,8,7,6,5,4,3,1,2,10,9,8,7,6,5,8.3)
2,
4,
1,
3,
a,(
,y;a++);%d”,x,c)
y);}
{intb;
b=0;
if(xreturn(b);
}
A)3B)-1C)1
42.下列程序的运行结果是main(){chararr[2][4];strcpy(arr,“you”);printf(“%sn”,arr)A)youmeB)youC)meD)arr43.下列程序的输出结果是.(知识点
intf()
D)0
.(知识点
7.3)
strcpy(arr[1]
«”\
,“me”);
;}
8.8)
{staticinti=0ints=1;
s+=i;i++;
returns;}
main()
{inti,a=0;
for(i=0;i<5;i++)a+=f();printf(“%dn”,a);}
A)20B)24C)25D)15
44.程序中对fun函数有如下说明:
void*fun();
此说明的含义是.(知识点10.6)
A)fun函数无返回值
B)fun函数的返回值可以是任意的数据类型
C)fun函数的返回值是无值型的指针类型
D)指针fun指向一个函数,该函数无返回值
45.设有下列定义:
staticintx,*p=&x,*q;
scanf(“%d,%d”,p,q);
若输入3,4,则x的值为.(知识点8.8)
A)3B)4C)0D)无法确定46.设有以下程序:
intfun(char*s)
{intn=0;
while(*s){n++;s++;}
returnn;}
main()
{chary[]=“this_is_an_example.”;
printf(“%dn”,fun(&y[6]));
}
该程序的输出结果是.(知识点:
10.4)
A)12B)13C)14D)16
47.下列程序的功能是.(知识点:
10.4)
intfun(char*a){char*b=a;while(*b)b++;
{returnb-a;}
}
A)比较两个字符串的大小B)字符串的复制
C)计算字符串的长度D)字符串的连接
48.下列程序的输出结果是.(知识点10.2)
main()
{
intk=3,m=5,n=7;
int*pk=&k,*pm=&m,*p;
*(p=&n)=*pk*(*pm);
printf(“%dn”,n);
}
A)5B)7C)15D)21
49.下列程序的执行结果是.(知识点10.3)
main()
{chara[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;
printf(“%d”,*——p);}
A)非法B)a[4]
的地址C)5D)4
50.以下函数返回a所指的数组中最小值所在的下标值:
fun(int*a,intn)
{inti,j=0,p;
p=j;
for(i=j;iif(a[i]return(p);}
在下划线处应填入.(知识点10.2)
A)i=pB)a[p]=a[i]C)p=jD)p=i
51.下列程序的运行结果是.(知识点10.2)
voidfun(int*a,int*b)
{int*k;k=a;a=b;b=k;}main()
{inta=3,b=6,*x=&a,*y=&b;fun(x,y);
printf(“%d%d”,a,b);
A)63B)36C)编译出错D)00
52.有如下程序:
#definef(x)x*x
main()
{inti;
i=f(4+4)/(2+2);
printf(“%dn”,i);}
该程序执行后的输出结果是.(知识点9.1)
A)28B)21C)16D)4
53.下列程序的输出结果是.(知识点11.4)
structtt;
{intn1;charn2;floatn3;
unionuu{intu1[2];charu2[2];}su;
};
main()
{printf(“%dn”,sizeof(structtt));}A)11B)12C)7D)9
54.下列程序的输出结果是.(知识点11.6)
structLH{intn;structLH*m;}p[4];main()
{inti;
for(i=0;i<3;i++)
{p[i].n=i;p[i].m=&p[i+1];}p[i].m=p
printf(“%d,n”,(p[1].m)->n,p[3].m->n)
structst{intx;int*y;}*p;
intdt[4]={10,20,30,40};
structstaa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};
main()
{p=aa;
printf(“%d”,++p->x);
printf(“%d”,(++p)->x);
prin