printf(“%d\n”,n[k]);
}
该程序的输出结果是(D)。
A)不确定的值B)2C)1D)0
(2000年9月)
6、有如下程序
main()
{inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j
printf(“%d\n”,s);
}
该程序的输出结果是(14)。
A)18B)19C)20D)21
(2000年9月)
7、以下程序的输出结果是(C)。
A)1,5,9B)1,4,7C)3,5,7D)3,6,9
main()
{inti,x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)printf(“%d,”,x[i][2-i]);
}(2001年4月)
8、以下程序的输出结果是(A)。
A)18B)19C)20D)21
main()
{inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j<=i;j++)s+=a[i][j];
printf(“%dn”,s);
}(2001年4月)
9、以下程序的输出结果是(D)。
A)ABCDB)ABCDC)EFGD)EFGH
FGHEFGJKIJKL
KLIJO
M
main()
{charw[][10]={“ABCD”,”EFGH”,”IJKL”,”MNOP”},k;
for(k=1;k<3;k++)printf(“%s\n”,w[k]);
}(2001年4月)
10、假定int类型变量占用两个字节,其有定义:
intx[10]={0,2,4};,则数组x在内存中所占字节数是(D)。
A)3B)6C)10D)20
(2001年9月)
11、以下程序的输出结果是(C)。
main()
{inti,a[10];
for(i=9;i>=0;i--)a[i]=10-i;
printf(“%d%d%d”,a[2],a[5],a[8]);
}
A)258B)741C)852D)36
(2001年9月)
12、以下数组定义中不正确的是(D)。
A)inta[2][3];
B)intb[][3]={0,1,2,3};
C)intc[100][100]={0};
D)intd[3][]={{1,2},{1,2,3},{1,2,3,4}};(2001年9月)
13、以下程序的输出结果是(A)。
main()
{inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf(“%d%d%d%d\n”,a[0][3],a[1][2],a[2][1],a[3][0];
}
A)0650B)1470C)5430D)输出值不定
(2001年9月)
14、以下程序的输出结果是(B)。
main()
{charst[20]=“hello\0\t\\\”;
printf(%d%d\n”,strlen(st),sizeof(st));
}
A)99B)520C)1320D)2020
(2001年9月)
15、以下程序段的输出结果是(A)。
chars[]="\\141\141abc\t";
printf("%d\n",strlen(s));
A)9B)12C)13D)14
(2002年4月)
16、以下程序的输出结果是(B)。
main()
{charcf[3][5]={"AAAA","BBB","CC"};
printf("\"%s\"\n",ch[1]);
}
A)"AAAA"B)"BBB"C)"BBBCC"D)"CC"
(2002年4月)
17、以下程序的输出结果是(A)。
main()
{intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;
for(i=0;i<3;i++)
for(j=i;j<=i;j++)t=t+b[i][b[j][j]];
printf("%d\n",t);
}
A)3B)4C)1D)9
(2002年4月)
18、有以下程序
main()
{intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};
inti,s=0;
for(i=0;i<4;i++)s+=aa[i][1];
printf(“%d\n”,s);
}
程序运行后的输出结果是(B)。
A)11B)19C)13D)20
(2002年9月)
19、有以下程序
main()
{intp[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);
}
执行后输出结果是(D)。
A)58B)56C)45D)24(2003年4月)
20、以下能正确定义数组并正确赋初值的语句是(D)。
A)intN=5,b[N][N];B)inta[1][2]={{1},{3}};
C)intc[2][]={{1,2},{3,4}};D)intd[3][2]={{1,2},{34}};
(2003年4月)
21、有以下程序
main()
{intm[][3]={1,4,7,2,5,8,3,6,9};
inti,j,k=2;
for(i=0;i<3;i++)
{printf("%d",m[k][i]);}
}
执行后输出结果是(C)。
A)456B)258C)369D)789
(2003年4月)
22、以下函数的功能是:
通过键盘输入数据,为数组中的所有元素赋值。
#defineN10
voidarrin(intx[N])
{inti=0;
while(iscanf("%d",);
}
在下划线处应填入的是(BC)。
A)x+iB)&x[i+1]C)x+(i++)D)&x[++i]
(2003年4月)
23、以下不能正确定义二维数组的选项是(D)。
A)inta[2][2]={{1},{2}};B)inta[][2]={1,2,3,4};
C)inta[2][2]={{1},2,3};D)inta[2][]={{1,2},{3,4}};
(2003年9月)
24、以下能正确定义一维数组的选项是(B)。
A)intnum[];B)#defineN100
intnum[N];
C)intnum[0..100];D)intN=100;
intnum[N];
(2003年9月)
25、有以下程序
main()
{chara[]={‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘h’,‘\0’};inti,j;
i=sizeof(a);j=strlen(a);
printf(“%d,%d\b”i,j);
}
程序运行后的输出结果是()。
A)9,9B)8,9C)1,8D)9,8
(2002年9月)
26.下列程序的输出结果是()。
structabc
{inta,b,c;};
main()
{structabcs[2]={{1,2,3},{4,5,6}};intt;
t=s[0],a+s[1],b;
printf("%d\n",t);
}
A)5B)6C)7D)8
27.以下程序的输出是(C)。
structst
{intx;int*y;}*p;
intdt[4]={10,20,30,40};
structstaa[4]={50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],};
main()
{p=aa;
printf(“%d\n”,++(p->x));
}
A)10B)11C)51D)60
28.设有如下定义
structsk
{
inta;
floatb;
}data,*p;
若有p=&data;
则对data中的成员a的正确引用是()。
A)(*p).data.a B)(*p).a C)p->data.a D)p.data.a
29.以下对数组的正确定义是:
(B)。
A)floatb[5.0]B)floatb[5]C)floatb(5)D)floatb[]
30.以下对一维整型数组a的正确说明是(D)。
A)inta(10);B)intn=10, a[n];
C)intn;D)#defineSIZE10;
scanf("%",&n);inta[SIZE];
inta[n];
31、请读程序:
#include
func(inta,intb)
{intc;
c=a+b;
returnc;
}
main()
{intx=6,y=7,z=8,r;
r=func(x--,y==,x+y),z--);
printf("%d\n",r);
}
上面程序的输出结果是()。
A)11B)20C)21D)31
(1996年4月)
32、请读程序:
#include
f(inb[],intn)
{inti,r;
r=1;
for(i=0;i<=n;i++)r=r*b[i];
returnr;
}
main()
{intx,a[]={2,3,4,5,6,7,8,9};
x=f(a,3);
printf("%d\n",x);
}
上面程序的输出结果是(B)。
A)720B)120C)24D)6
(1996年4月)
33、下面程序的输出是(BC)。
A)3B)4C)6D)9
fun3(intx)
staticinta=3;
a+=x;
return(a);}
main()
{intk=2,m=1,n;
n=fun3(k);
n=fun3(m);
printf("%d\n",n);}
(1996年9月)
34、有如下程序
intrunc(inta,intb)
{return(a+b);}
main0
{intx=2,y=5,z=8,r;
r=func(func(x,y),z);
printf(“%\d\n”,r);
}
该程序的输出的结果是(D)。
A)12B)13C)14D)15
(2000年9月)
35、有如下函数调用语句
func(rec1,rec2+rec3,(rec4,rec5));
该函数调用语句中,含有的实参个数是(AD)。
A)3B)4C)5D)有语法错
(2000年9月)
36、以下程序的输出结果是(B)。
inta,b;
voidfun()
{a=100;b=200;}
main()
{inta=5,b=7;
fun();
printf(“%d%d\n”,a,b);
}
A)100200B)57C)200100D)75
(2001年9月)
37、以下程序的输出结果是(A)。
f(intb[],intm,intn)
{inti,s=0;
for(i=m;ireturns;
}
main()
{intx,a[]={1,2,3,4,5,6,7,8,9};
x=f(a,3,7);
printf("%d\n",x);
}
A)10B)18C)8D)15
(2002年4月)
38、以下程序的输出的结果是(23)。
intx=3;
main()
{inti;
for(i=1;i}
incre()
{staicintx=1;
x=x+1;
printf("%d",x);
}
A)33B)22C)26D)25
(2002年4月)
39、以下程序中函数reverse的功能是将a所指数组中的内容进行逆置。
voidreverse(inta[],intn)
{inti,t;
for(i=0;i{t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}
}
main()
{intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;
reverse(b,8);
for(i=6;i<10;i++)s+=b[i];
printf(“%d\n”,s);
}
程序运行后的输出结果是(A)。
A)22B)10C)34D)30
(2002年9月)
40、有以下程序
inta=3;
main()
{ints=0;
inta=5;s+=a++;
s+=a++;printf(“%d\n”,s);
}
程序运行后的输出结果是(DA)。
A)8B)10C)7D)11
(2002年9月)
41、以下程序中函数f的功能是将n个字符串按由大到小的顺序进行排序。
#include
voidf(charp[][10],intn)
{chart[20];inti,j;
for(i=0;ifor(j=i+1;jif(strcmp(p[i],p[j])<0)
{strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);}
}
main()
{charp[][10]={“abc”,“aabdfg”,“abbd”,“dcdbe”,“cd”};inti;
f(p,5);printf(“%d\n”,strlen(p[0]));
}
程序运行后的输出结果是()。
A)6B)4C)5D)3
(2002年9月)
51、若有以下调用语句,则不正确的fun函数的首部是()。
A)voidfun(intm,intx[])B)voidfun(ints,inth[41])
C)voidfun(intp,int*s)D)voidfun(intn,inta)
main()
{…
inta[50],n;
…
fun(n,&a[9]);
…
}(2000年4月)
52、设已有定义:
char*st="howareyou";下列程序段中正确的是()。
A)chara[11],*p;strcpy(p=a+1,&st[4]);
B)chara[11];strcpy(++a,st);
C)chara[11];strcpy(a,st);
D)chara[],*p;strcpy(p=&a[1],st+2);
(2000年4月)
53、有如下说明
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则数值为9的表达式是()。
A)*P+9B)*(P+8)C)*P+=9D)P+8
(2000年9月)
54、有如下程序
main()
{chars[]=”ABCD”,*P;
for(p=s+l;p
}
该程序的输出结果是()。
A)ABCDB)AC)BD)BCD
BCDBCCD
CDCDD
DD
(2000年9月)
55、有如下程序
main()
{charch[2][5]={“6937”,”8254”},*p[2];
inti,j,s=0;
for(i=0;i<2;i++)p[i]=ch[i];
for(i=0;i<2;i++)
for(j=0;p[i][j]>’\0’;j+=2)
s=10*s+p[i][j]-‘0’;
printf(“%d\n”,s);
}
该程序的输出结果是()。
A)69825B)63825C)6385D)693825
(2000年9月)
56、下列程序段的输出结果是()。
A)2143B)1212C)1234D)2112
voidfun(int*x,int*y)
{printf(“%d,%d”,*x,*y);*x=3;*y=4;}
main()
{intx=1,y=2;
fun(&x,&y);
printf(“%d%d”,x,y);
}
(2001年4月)
57、下列程序的输出结果是()。
A)非法B)a[4]的地址C)5D)3
main()
{chara[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;
printf(“%d”,*--p);
}(2001年4月)
58、下列程序的运行结果是()。
A)63B)36C)编译出错D)00
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);
}(2001年4月)
59、下面程序的输出结果是()。
A)0B)1C)10D)9
main()
{inta[]={1,2,3,4,5,6,7,8,9,0,},*p;
p=a;
printf(“%d\n”,*p+9);
}(2001年4月)
60、以下程序的输出结果是()。
charcchar(charch)
{
if(ch>=‘A’&&ch<=‘Z')ch=ch-‘A'+‘a';
returnch;
}
main()
{chars[]="ABC+abc=defDEF",*p=s;
while(*p)
{*p=cchar(*p);
p++;
}
printf("%s\n",s);
}
A)abc+ABC=DEFdefB)abc+abc=defdef
C)abcaABCDEFdefD)abcabcdefdef
(2002年4月)
61、以下程序调用findmax函数返回数组中的最大值()。
findmax(int*a,intn)
{int*p,*s;
for(p=a,s=a;p-aif()s=p;
return(*s);
}
main()
{intx[5]={12,21,13,6,18};
printf("%d\n",findmax(x,5));
}
在下划线处应填入的是
A)p>sB)*p>*sC)a[p]>a[s]D)p-a>p-s
(2002年4月)
62、若有以下定义和语句:
ints[4][5],(*ps)[5];
ps=s;
则对s数组元素的正确引用形式是()。
A)ps+1B)*(ps+3)C)ps[0][2]D)*(ps+1)+3
(2002年4月)
63、以下程序的输出结果是()。
#include
#include
main()
{charb1[8]="abcdefg",b2[8],*pb=b1+3;
while(--pb>=b1)strcpy(b2,pb);
printf("%d\n",strlen(b2));
}
A)8B)3C)1D)7
(2002年4月)
64、若有说明:
intn=2,*p=&n,*q=p;,则以下非法的赋值语句是()。
A)p=q;B)*p=*q;C)n=*q;D)p=