C语言习题集及答案(6)

2019-03-06 07:37

第五单元 数 组

一、 选择题 1. 以下关于数组的描述正确的是 。

A. 数组的大小是固定的,但可以有不同的类型的数组元素。 B. 数组的大小是可变的,但所有数组元素的类型必须相同。 C. 数组的大小是固定的,但所有数组元素的类型必须相同。 D. 数组的大小是可变的,但可以有不同的类型的数组元素。 2. 在定义int a[10];之后,对a的引用正确的是 。 A. a[10] B. a[6.3] C. a(6) D. a[10-10] 3. 以下能正确定义数组并正确赋初值的语句是 。

A. int n=5,b[n][n]; B. int a[1][2]={{1},{3}};

C. int c[2][]={{1,2},{3,4}} D. int a[3][2]={{1,2},{3,4}} 4. 以下不能正确赋值的是 。

A. char s1[10];s1=\ B. char s2[]={?t?,?e?,?s?,?t?}

C. char s3[20]= \ D. char s4[4]={ ?t?,?e?,?s?,?t?} 5. 下面程序段运行时输出结果是 。 char s[18]= \printf(\

A. a book! B. a book! C. a bo D. 格式描述不正确,没有确定输出 6. 下面程序段运行时输出结果是 。 char s[12]= \

printf(\

A. 12 B. 8 C. 7 D. 6 7. 在执行int a[][3]={1,2,3,4,5,6};语句后,a[1][0]的值是 。

25

A. 4 B. 1 C. 2 D. 5

二、 读程序写结果 1. #include void main() { int a[8]={1,0,1,0,1,0,1,0},i; for(i=2;i<8;i++) a[i]+= a[i-1] + a[i-2]; for(i=0;i<8;i++) printf(“]”,a[i]); } 2. #include

void main() {

float b[6]={1.1,2.2,3.3,4.4,5.5,6.6},t; int i; t=b[0];

for(i=0;i<5;i++) b[i]=b[i+1]; b[5]=t;

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

printf(“%6.2f”,b[i]);

} 3. #include

void 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(\

} 4. void main()

26

{ int a[3][3]={1,3,5,7,9,11,13,15,17}; int sum=0,i,j; for (i=0;i<3;i++) for (j=0;j<3;j++) { a[i][j]=i+j; if (i==j)

sum=sum+a[i][j];

}

printf(\ } 5. void main()

{ int a[4][4],i,j,k; for (i=0;i<4;i++) for (j=0;j<4;j++) a[i][j]=i-j; for (i=0;i<4;i++)

{ for (j=0;j<=i;j++)

printf(\ printf(\ } }

6. #include main()

{ int i,s;

char s1[100],s2[100];

printf(\ printf(\ i=0;

while ((s1[i]==s2[i])&&(s1[i]!='\\0')) i++;

if ((s1[i]=='\\0')&&(s2[i]=='\\0')) s=0;

27

else s=s1[i]-s2[i]; printf(\ }

输入数据 aid

and

7. void main() {

char ch[3][5]={ \

printf(\} 8. #inlcude #include void main() { char str[10][80],c[80]; int i; for(i=0;i<10;i++) gets(str[i]); strcpy(c,str[0]); for(i=1;i<10;i++) if(strlen(c)

三、 填空题 1. 构成数组的各个元素必须具有相同的 。 2. 下面的程序是输出数组中最大元素的下标(p表示最大元素的下标)。

void main() { int s[]={1,-3,0,-9,8,5,-20,3};

28

for(i=0,p=0;i<8;i++) if(s[i]>s[p]) ; } 3. 输入20个数,输出他们的平均值,输出与平均值之差的绝对值最小的数组元素。 #include void main() { float a[20],pjz=0,s,t; int i,k; for(i=0;i<20;i++) {

scanf(“%f”,&a[i]); pjz+= ;

}

s=fabs(a[0]-pjz); t=a[0];

for(i=1;i<20;i++) if( fabs(a[i]-pjz)

{ t=a[i]; }

}

4. 输出行、列号之和为3的数组元素。

main()

{ char ss[4][3]={'A','a','f','c','B','d','e','b',

'C','g','f','D'}; int x,y,z;

for (x=0; (1) ;x++)

29


C语言习题集及答案(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: