2016年计算机二级考前冲刺卷及答案
(23)有以下程序
main()
{ int p[7]={11,13,14,15,16,17,18}, i=0,k=0;
while(i<7 && p[i]%2) { k =k+ p[i]; i++; }
printf("%d\n", k);
}
执行后输出结果是
A)58 B)56 C)45 D)24
(24)有以下程序
main()
{ int i=0,s=0;
do {
if (i%2) { i++; continue; }
i++;
s += i;
} while(i<7);
printf("%d\n", s);
}
执行后输出结果是
A)16 B)12 C)28 D)21
(25)有以下程序
main()
{ int i=10,j=1;
printf("%d,%d\n",i-- ,++j);
}
执行后输出结果是
A)9,2 B)10,2 C)9,1 D)10,1
(26)有以下程序
main()
{ char a,b,c,*d;
a='\'; b='\xbc';
c='\0xab'; d = "\0127";
printf("%c %c %c %c\n",a,b,c,*d);
}
编译时出现错误,以下叙述中正确的是
A)程序中只有a='\'; 语句不正确 B)b='\xbc'; 语句不正确
C)d = "\0127";语句不正确 D)a='\'; 和c='\0xab'; 语句都不正确
(27)有以下程序
int f1(int x, int y)
{ return x>y ? x : y; }
int f2(int x, int y)
{ return x>y ? y : x; }
main()
{ int a=4,b=3,c=5,d, e, f;
d = f1(a,b); d=f1(d,c);
e = f2(a,b); e=f2(e,c);
f = a+b+c-d-e;
printf("%d,%d,%d\n",d,f,e);
}
执行后输出结果是
A)3,4,5 B)5,3,4 C)5,4,3 D)3,5,4
(28)有以下程序
void f(int x, int y)
{ int t;
if (x
}
main()
{ int a=4,b=3,c=5;
f(a,b); f(a,c); f(b,c);
printf("%d,%d,%d\n",a,b,c);
}
执行后输出结果是
A)3,4,5 B)5,3,4 C)5,4,3 D)4,3,5
(29)若有以下定义和语句
#include
int a=4,b=3,*p,*q, *w;
p=&a; q=&b; w=q; q=NULL;
则以下选项中错误的语句是
A)*q=0; B)w=p; C)*p=a; D)*p=*w;
(30)有以下程序
int *f(int *x, int *y)
{ if (*x < *y)
return x;
else
return y;
}
main()
{ int a=7,b=8,*p,*q, *r;
p=&a; q=&b;
r = f(p,q);
printf("%d,%d,%d\n",*p,*q,*r);
}
执行后输出结果是
A)7,8,8 B)7,8,7 C)8,7,7 D)8,7,8
(31)有以下程序
main()
{ char *s[]={"one","two","three"},*p;
p=s[1];
printf("%c,%s\n",*(p+1), s[0]);
}
执行后输出结果是
A)n,two B)t,one C)w,one D)o,two
(32)有以下程序
main()
{ int x[8]={8,7,6,5,0,0},*s;
s=x+3;
printf("%d\n",s[2]);
}
执行后输出结果是
A)随机值 B)0 C)5 D)6
(33)以下能正确定义数组并正确赋初值的语句是
A)int N=5,b[N][N]; B)int a[1][2]={{1},{3}};
C)int c[2][]= {{1,2},{3,4}}; D)int d[3][2]={{1,2},{34}};
(34)有以下程序
main()
{ int m[][3]={1,4,7,2,5,8,3,6,9};
int i,j,k=2;
for(i=0; i<3; i++)
{ printf("%d ",m[k][i]); }
}
执行后输出结果是
A)4 5 6 B)2 5 8 C)3 6 9 D)7 8 9
(35)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。 #define N 10
void arrin(int x[N])
{ int i=0;
while(i
scanf("%d", );
}
在下划线处应填入的是
A)x+i B)&x[i+1] C)x+(i++) D)&x[++i]
(36)有以下程序
main()
{ char s[]="\n123\\";
printf("%d,%d\n ",strlen(s),sizeof(s));
}
执行后输出结果是
A)赋初值的字符串有错 B)6,7 C)5,6 D)6,6
(37)阅读以下函数
fun(char *s1,char *s2)
{ int i=0;
while(s1[i]==s2[i] && s2[i]!='\0') i++;
return (s1[i]=='\0' && s2[i]=='\0');
}
此函数的功能是
A)将s2所指字符串赋给s1
B)比较s1和s2所指字符串的大小,若s1比s2的大,函数值为1,否则函数值为0
C)比较s1和s2所指字符串是否相等,若相等,函数值为1,否则函数值为0
D)比较s1和s2所指字符串的长度,若s1比s2的长,函数值为1,否则函数值为0