省二级选择题题库C语言1
51001.以下数组定义中,正确的是()。A
int a[5]={0};
int a[]={0 1 2};
int a[5]=0;
int a[];
51002.下列数组定义中,正确的是().A
int a[10];
int n=10,a[n];
int N=10;int a[N];
int n;scanf("%d",&n); int a[n];
51003.已知int a[10];则对a数组元素引用不正确的是().A
a[10]
a[3+5]
a[10-10]
a[5]
51004.若有定义:int a[3]={0,1,2};则a[1]的值为( )。B
0
1
2
3
51005.若有定义:int a[5]={1,2,3,4,5};则语句a[1]=a[3]+a[2+2]-a[3-1];运行后a[1]的值为( )。A
6
5
1
2
51006.以下能对一维数组a进行正确初始化的语句是( )。D
int a[5]=(0,0,0,0,0);
int a[5]=[0];
int a[5]={1,2,3,4,5,6,7};
int a[]={0};
51007.下面程序段的运行结果是( )。D
int i=0,a[]={3,4,5,4,3};
do{
a[i]++;
}while(a[++i]<5);
for(i=0;i<5;i++)
printf("%d ",a[i]);
4 5 6 5 4
3 4 5 4 3
4 5 5 5 4
4 5 5 4 3
51008.下面程序段的运行结果是( )。C
int i=0,a[]={7,5,7,3,8,3};
do{
a[i]+=2;
}while(a[++i]>5);
for(i=0;i<6;i++)
printf("%d ",a[i]);
9 7 9 5 10 5
9 5 9 3 10 3
9 5 7 3 8 3
7 5 7 3 8 3
51009.下面程序段的运行结果是()。A
int i=0,a[]={1,2,3,4,5};
do{
a[i]+=10;
}while(a[++i]>2);
for(i=0;i<5;i++)
printf(“%d”,a[i]);
11 2 3 4 5
1 2 3 4 5
11 12 13 14 15
11 12 3 4 5
51101.设有如下程序段:
int a[3][3]={1,0,2,1,0,2,1,0,1},i,j,s=0;
for(i=0;i<3;i++)
for(j=0;j
s=s+a[i][j];
则执行该程序段后,s的值是()。C
0
1
2
3
51102.有如下定义:int a[][3]={1,2,3,4,5,6,7,8};则数组a的行数是().B
2
3
4
无法确定的
51103.以下数组定义中,正确的是()。D
int a[2][3]={1,2,3,4,5,6,7};
int a[][]={{1,2,3},{4,5,6},{7,8,9}};
int a[2][]= {1,2,3,4,5,6};
int a[][4]= {6};
51104.若有定义:int a[3][4]={{1,2},{0},{1,2,3}};则a[1][1]的值为()。A
0
{1,2}
1
3
51105.若有定义:int a[3][3];则表达式&a[2][1]-a的值是().A
7
8
6
9
51106.若有定义:int i=0,x=0;int a[3][3]={1,2,3,4,5,6,7,8,9};则以下程序段运行后x的值为( )。C
for (;i<3;i++) x+=a[i][2-i];
0
12
15
18
51107.若有定义int a[2][3];则对数组元素的非法引用是( )。D
a[0][1/2]
a[1][1]
a[4-4][0]
a[0][3]
51108.以下数组定义中,正确的是( )。C
int a[2][]={1,2,3,4,5};
int a[][2]={{0},{}};
int a[2][2]={{1,2},{3}};
int a[][]={1,2,3,4};
51109.若有定义int a[][3]={1,2,3,4,5,6,7,8,9};则表达式sizeof(a)/sizeof(a[0])的值为()。D
3
4
5
9
51201.设有以下变量定义:
char str1[]="string",str2[8],*str3,*str4="string";
( )是正确的。A
strcpy(str1,"China");
str2="China";
strcpy(*str3,"China");
strcpy(str4[0],"C