C语言3数组练习题3

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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++)

if(a[k]

if(k!=i)

{ t=a[k];

a[k]=a[i];

a[i]=t;

}

}

for(i=0;i<5;i++)

printf(“%5d”,a[i]);

printf(“\n”);

}

A.123 100 65 12 8 B.100 123 65 8 12

C.8 12 65 100 123 D.65 123 100 12 8

6.#include

main()

{ staic float x[5]={1,10,0.5,0.25,-1};

int j;

float a[5];

for(i=0;i<5;i++)

a[i]=1.0/x[i];

for(i=0;i<5;i++)

printf(“%5.lf”,a[i]);

}

A.-1.0 4.0 2.0 0.1 1.0 B.-1.0 0.1 1.0 4.0 2.0

C.1.0 0.1 2.0 4.0 -1.0D.2.0 4.0 1.0 0.1 -1.0

相关文档
最新文档