C语言3数组练习题3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章数组
一、选择题
1.合法的数组定义是
A.int a[ ]=”string”; B.int a[5]={0,1,2,3,4,5};
C.char a=”string”; D.char a[ ]={0,1,2,3,4,5};
2.若有定义和语句:char s[10]; s=”abcd”; printf(“%s\n”,s); 则结果是(以下u代表空格)
A.输出abcd B.输出a
C.输出abcd u u u u u D.编译不通过
3.数组a[2][2]的元素排列次序是
A.a[0][0],a[0][1],a[1][0],a[1][1] B.a[0][0],a[1][0],a[0][1],a[1][1]
C.a[1][1],a[1][2],a[2][1],a[2][2] D.a[1][1],a[2][1],a[1][2],a[2][2]
4.有以下语句,则下面是正确的描述
static char x [ ]=“12345”;static char y[ ]={…1‟,…2‟,…3‟,…4‟,…5‟};
A.x数组和y数组的长度相同。
B.x数组长度大于y数组长度。
C.x数组长度小于y数组长度
D.x数组等价于y数组。
5.列不能正确进行字符串赋值操作的语句是
A.char str[10];gets(str); B.char*str;str=“a”;
C.char*str;str=…a‟;D.charstr[10];strcpy(str,“hello”);
6.若数组的长度为n,则该数组中的元素最多有n个。若[3][5]是一个二维数组,则最多可使用的元素个数为
A.8 B.10 C.15 D.5
7.若有说明:int a[3][4]; 则对a数组元素的非法引用是
A.a['B'-'A'][2*1] B.a[1][3] C.a[4-2][0] D.a[0][4] 8.设有语句static char str[10]={“china”};printf(“%d”,strlen(str)); 则输出结果是A.10 B.5C.china D.6
9.表达式strlen(“string”)+strlen(“C”)的运算结果为
A.9 B.10 C.7D.8
10.执行以下程序段后,s的值为。
stati c char ch[ ]=“623”
int a,s=0;for(a=0;ch[a]>=…0‟&&ch[a]<=…9‟;a++)
s=10*s+ch[a]-…0‟;
A.-4705 B.623C.600 D.326
11.C语言中,数组名代表
A.数组全部元素的值B.数组首地址
C.数组第一个元素的值D.数组元素的个数
二、阅读程序,写出运行结果:
1.main()
{ int i,a[10];
for(i=0;i<10;i++)
scanf(“%d”,&a[i]);
while(i>0)
{ printf(“%3d”,a[--i]);
if(!(i%5))
putchar(…\n‟);
}
}
输入数据1 2 3 4 5 6 7 8 9 10,则运行结果为:
A.1 2 3 4 5 6 7 8 9 10 B.10 9 8 7 6 5 4 3 2 1 C.1 2 3 4 5 D.10 9 8 7 6
6 7 8 9 10. 5 4 3 2 1 2.main()
{ int i, c;
static char num[][9]={"1234","2728"};
for (i=0;i<8;i++)
{ c=num[0][i]+num[1][i]-2*'0';
printf ("%4d",c);
}
}
A.3 9 5 12 B.1 2 3 4
C.2 7 2 8 D.1 7 3 10
*3.main()
{ int x,t,a[15],i;
printf(“data?(<1000)”);
scanf(“%d”,&x);
t=x;
for (i=0;i<15;i++)
a[i]=0;
i=0;
while(1)
{ a[i]=t%2;
i++;
t=t/2;
if(t==0)break;
}
i=14;
while(a[i]==0) i--;
for(;i>=0;i--)
printf(“%d”,a[i]);
printf(“\n”);
}
输入数据:313,运行结果为:
A.011000110 B.100111101
C.100111001D.111000111
4.#include
main()
{ static int a[3][3]={1,2,3,4,5,6,7,8,9};
int i,j,sum=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(i==j)
sum+=a[i][j];
printf(“sum=%d\n”,sum);
}
A.14 B.16 C.18 D.15 5.main()
{ static int a[5]={12,100,65,8,123};
int i,j,k,t;
for(i=0;i<4;i++)
{ k=i;
for(j=i+1;j<5;j++)