2-1
以下能对一维数组a进行正确初始化的语句是()。
O A.int a[10]=(0,0,0,0,0)
O B.int a[2]={0,1,2}
◎ C.int al={0}
O D.int al]={0}
2-2
假定int类型变量占用两个字节,其有定义:intx[10]={0,2,4};则数组x在内存中所占字节数是()。
O A.3
O B.6
O C.10
◎ D.20
2-3
下面程序的运行结果是()。
#include<stdio.h>
int main(void)
{
int x[5]={2,4,6,8,10 },*p,**pp;
p=x;
pp =&p;
printf(“%d”,*(p++));/*数字后有一个空格*/
printf("%d\n",**pp);
return 0;
}
O A.44
◎ B.24
O C.22
O D.46
2-4
下列程序的输出是()。
#include<stdio.h>
int main(void)
{
int i,a[12]={1,2,3,4,5,6,7,8,9,10,11,12 },*p[4];
for(i=θ;i<4;i++){
p[i]=&a[i*3];
}
printf("%d\n",p[3][2]);
return 0;
}
O A.上述程序有错误
O B.6
O C.8
◎ D.12
2-5
数值为9的表达式是
int a[10]={1,2,3,4,5,6,7,8,9,10 },*p=a;
O A.*p+9
◎ B.*(p+8)
O C.*p+=9
O D.p+8
2-6
若有定义,int a[10];则对数组a元素的正确引用是()
O A.a[10]
O B.a[3.5]
O C.a(5)
◎ D.a[10-10]
2-7
假定double类型变量占用8个字节,且数组定义如下,则数组length在内存中所占字节数是()。double length [10];
O A.0
O B.10
◎ C.80
O D.160
2-8
以下程序的运行结果是____。
#include <stdio.h>
int 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);
return 0;
}
O A.58
〇 B.56
O C.45
◎ D.24
2-9
以下程序的运行结果是____。
#include<stdio.h>
int main()
{
int a[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0;
for(i=1;i<3;i++)
s=s+a[b[i]];
printf("%d\n",s);
return 0;
}
◎ A.5
O B.10
O C.11
O D.15
2-10
合法的数组定义语句是( )。
O A.int al]=“string”;
O B.int a[5]={0,1,2,3,4,5};
O C.char a=“string”;
◎D.char a]="string"
2-11
有定义语句int a[5],1;,输入数组a的所有元素的语句应为()。
O A.scanf(“%d%d%d%d%d”,a[5]);
O B.scanf(“%d”,a);
◎ C.for(i=0;i<5;i++)scanf(“%d”,&a[i]);
O D.for(i=0;i<5;i++)scanf("%d",a[i]);
2-12
以下程序的输出结果是()。
int main(void)
{
int p[8]={11,12,13,14,15,16,17,18},i=0,j=0;
while(i++<7)
if(p[i]%2)j+=p[i];
printf("%d\n",j);
return 0;
}
O A.42
◎ B.45
O C.56
O D.60
2-13
下列程序的输出结果是()。
int main(void)
{
int n[3],i,j,k;
for(i=8;i<3;i++)
n[i]=0;
k=2;
for(i=8;i<k;i++)
for(j=0;j<k;j++)
n[j]=n[i]+1;
printf(%d\n",n[1]);
return 0;
}
O A.2
O B.1
O C.0
◎ D.3
2-14
数组定义时长度可以是()。
◎ A.整型常量
O B.实型常量
O C.整型变量
○ D.以上都可以
2-15
若有定义:int a[5]={1,2,3,4,5};则语句a[1]=a[3]+a[2+2]-a[3-1];运行后a[1]的值为()。
◎ A.6
O B.5
O C.1
O D.2
2-16
已知int a[10];则对a数组元素引用不正确的是()。
◎ A.a[10]
O B.a[3+5]
O C.a[10-10]
O D.a[5]
2-17
下列数组定义中,正确的是()。
◎ A.int a[5]={0};
O B.int all={012};
O C.int a[5]=0;
O D.int al];
2-18
一维数组初始化
以下关于数组定义时进行初始化的描述中,()选项是错误的。
O A.int d[5];数组d中的值是无法预知。
O B.int d[5]={0};数组d中的值全为0;
◎ C.int d[5]={1};数组d中的值全为1;
O D.int d[5]={1};数组d中的值第1个为1,其余均为0;
2-19
若有语句int a[8];则下述对a的描述正确的是()
◎ A.定义了一个名称为a的一维整型数组,共有8个元素
O B.定义了一个数组a,数组a共有9个元素
○ C.说明数组a的第8个元素为整型变量
O D.以上可选答案都不对
2-20
若有定义int a[10];则对a数组元素的正确引用是()。
O A.a[10]
O B.a[3.5]
O C.a(5)