广技师C语言复习题5练习数组有答案.docx
《广技师C语言复习题5练习数组有答案.docx》由会员分享,可在线阅读,更多相关《广技师C语言复习题5练习数组有答案.docx(11页珍藏版)》请在冰豆网上搜索。
广技师C语言复习题5练习数组有答案
广技师C语言复习题5.-练习(数组)(有答案)
一、选择题
1.以下对一维整型数组a的正确说明是。
A.inta(10);B.intn=10,a[n];
C.intn;
scanf(“%d”,&n);
inta[n];
D.#defineSIZE10
inta[SIZE]
2.若有说明:
inta[10];,则对a数组元素的正确引用是。
A.a[10]B.a[3.5]C.a(5)D.a[10-10]
4.以下对二维数组a的正确说明是。
A.inta[3][];B.floata(3,4);
C.doublea[][4];D.floata(3)(4);
5.若有说明:
inta[3][4];则对a数组元素的正确引用是。
A.a[3][4]B.a[1,3]C.a[1+1][0]D.a
(2)
(1)
6.以下能对二维数组a进行正确初始化的语句是。
A.inta[2][]={{1,0,1},{5,2,3}};
B.inta[][3]={{1,2,3},{4,5,6}};
C.inta[2][4]={{1,2,3},{4,5},{6}};
D.inta[][3]={{1,0,1,0},{},{1,1}};
7.下面程序段(每行代码前面的数字表示行号)。
1inta[3]={3*0};
2inti
3for(i=0;i<3;i++)scanf(“%d”,&a[i]);
4for(i=1;i<3;i++)a[0]=a[0]+a[i];
5printf(“%d\n”,a[0]);
A.第1行有错误B.第5行有错误
C.第3行有错误D.没有错误
8.若有定义floatx[4]={1.3,2.4,5.6},y=6;则错误的语句是。
A.y=x[3];B.y=x+1;C.y=x[2]+1D.x[0]=y;
9.定义如下变量和数组:
intk;
inta[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是。
for(k=0;k<3;k++)printf(“%d”,a[k][2-k]);
A.357B.369C.159D.147
11.下面是对数组s的初始化,其中错误的语句是。
#include
intmain()
{inta[2][3]={{1,2,3},{4,5,6}};
intb[3][2],i,j;
printf("arraya:
\n");
for(i=0;i<=1;i++)
{for(j=0;;j++)
{printf("%5d",a[i][j]);
;
}
printf("\n");
}
printf("arrayb:
\n");
for(i=0;;i++)
{for(j=0;j<=1;j++)
printf("%5d",b[i][j]);
printf("\n");
}
return0;
}
7.下面程序段的运行结果是。
intx[5],i;
x[0]=1;x[1]=2;
for(i=2;i<5;i++)x[i]=x[i-1]+x[i-2];
for(i=2;i<5;i++)printf("%d",x[i]);
8.下面程序的运行结果是。
#include
intmain()
{inta[5][5],i,j,n=1;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
a[i][j]=n++;
printf("Theresultis:
\n");
for(i=0;i<5;i++)
{for(j=0;j<=i;j++)
printf("%4d",a[i][j]);
printf("\n");
}
return0;
}
10.下面程序的运行结果是。
#include
intmain()
{inta[10]={7,3,5,2,9,1,0,6,8,4},i=0,j=9,t;
while(i{t=a[i];a[i]=a[j];a[j]=t;
i+=2;j-=2;
}
for(i=0;i<10;i+=2)printf("%d",a[i]);
return0;
}
12.下面程序的功能是检查一个二维数组是否对称(即对所有i、j都有a[i][j]=a[j][i])。
请填空。
#include
intmain()
{inta[4][4]={1,2,3,4,2,2,5,6,3,5,3,7,4,6,7,4};
inti,j,found=0;
for(j=0;j<4;j++)
for(;i<4;i++)
if(a[j][i]!
=a[i][j])
{;break;}
if(found==1)printf("No\n");
elseprintf("Yes\n");
return0;
}
13.设数组a中的元素均为正整数,以下程序是求a中偶数的个数和偶数的平均值。
请填空。
#include
intmain()
{inta[10]={1,2,3,4,5,6,7,8,9,10};
intk,s,i;
floatave;
for(k=s=i=0;i<10;i++)
{if(a[i]%2!
=0);
s+=;
k++;
}
if(k!
=0)
{ave=s/k;printf("%d,%f\n",k,ave);}
return0;
}
14.以下程序是将矩阵a、b的和存入矩阵c中并按矩阵形式输出。
请填空。
#include
intmain()
{inta[3][4]={{3,-2,7,5},{1,0,4,-3},{6,8,0,2}};
intb[3][4]={{-2,0,1,4},{5,-1,7,6},{6,8,0,2}};
inti,j,c[3][4];
for(i=0;i<3;i++)
{for(j=0;j<4;j++)
{c[i][j]=;
printf("%3d",c[i][j]);
}
;
}
return0;
}
15.以下程序段的功能是求数组num中小于零的数据之和。
请填空。
intnum[20]={10,20,1,-20,203,-21,2,-2,-2,11,-21,22,12,-2,-234,-90,22,90,-45,20};
intsum=0,i;
for(i=0;i<=19;i++)
if()sum=;
printf("sum=%6d",sum);
16.以下程序段的功能是,运行后输出结果是。
intnum[10]={103,1,-20,-203,-21,2,-2,-2,13,-21};
intsum=0,i;
for(i=0;i<10;i++)
if(num[i]>0&&num[i]%10==3)
sum=sum+num[i];
printf("sum=%d\n",sum);
21.下面程序段将输出computer。
请填空。
charc[]="Itisacomputer";
inti,j;
for(i=0;;i++)
{;printf("%c",c[j]);}
23.下面程序段的功能是将字符数组a[6]={'a','b','c','d','e','f'}变为a[6]={'f','a','b','c','d','e'}。
请填空。
#include
intmain()
{chart,a[6]={'a','b','c','d','e','f'};
inti;
;
for(i=4;i>=0;i--);
a[0]=t;
for(i=0;i<=5;i++)putchar(a[i]);
return0;
}
24.下面程序的功能是在任意的字符串a中,将与字符c相等的所有元素的下标值分别存放在整型数组b中。
请填空。
#include
intmain()
{chara[80];
inti,b[80],k=0;
gets(a);
for(i=0;a[i]!
='\0';i++)
if(){b[k]=i;;}
for(i=0;ireturn0;
}
答案:
1.1560
2.04
3.doublea[M][M]={0};
4.06
5.scanf(“%d”,&a[i])
i%4==0printf(“\n”);
6.j<=2
b[j][i]=a[i][j]
i<=2
7.358
8.1
67
111213
16171819
2122232425
9.m=100;m<=999
m/10%10
a[i]=m
10.46108
11.k=i
j=i
a[j]=min;a[k]=max;
12.i=j+1
found=1;
13.continue
a[i]
14.a[i][j]+b[i][j]
printf(“\n”)
15.num[i]<0sum+num[i]
16.计算数组num中大于零且个位数为3的数据之和
116
17.a[8]=xi<8
18.i-1
a[j+1]=a[j]
a[j+1]
19.b[j]i<3
j<5
20.9
21.i<=7
j=i+8
22.a[0]=c-1
a[2]=c+1
23.t=a[5]
a[i+1]=a[i]
24.a[i]==’c’k++
25.a[i]=s[i][0]
a[i]=s[i][j]