资源描述:
《C语言 习题七 参考答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、习题七一、单项选择题1、以下程序的输出结果是()。main(){inti,k,a[10],p[3];k=5;for(i=0;i〈10;i++)a[i]=i; /*a: 0123456 789*/for(i=0;i<3;i++)p[i]=a[i*(i+1)]; /*p:026*/for(i=0;i<3;i++)k+=p[i]*2;/* k=5+4+12=21*/printf(“%dn”,k);}A)20B)21 C)22D)232、以下正确的数组定义语句是( )。A)inty[1][4]={1,2,3,4,5
2、}; B)floatx[3][]={{1},{2},{3}};C)longs[2][3]={{1},{1,2},{1,2,3}}; D)double t[ ][3]={0};3、以下程序段的输出结果是()。main(){intm[3][3]={{1},{2},{3}}; m100n123intn[3][3]={1,2,3}; 2 0 0 000printf(“%dn”,m[1][0]+n[0][0]);3 00 0 00printf(“%d”,m[0][1]+n[1][0]); }A)0B)2
3、 C)3 D)1 0 3 0 24、以下程序的输出结果是()。main(){int i,x[3][3]={1,2,3,4,5,6,7,8,9}; 123for(i=0;i<3;i++)printf(“%d,”x[i][2-i]); 4 56} 79 9A)1,5,9 B)1,4,7 C)3,5,7 D)3,6,95、对以下程序从第一列开始输入数据:2473↙,程序的输出结果是()。#include“stdio。h”main(){charc;while((c=getchar())!=
4、’’){switch (c-‘2'){case 0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);}}}A)668977 B}668966 C}66778777 D)66887666、不能正确为字符数组输入数据的是()。A)char s[5];scanf(“%s”,&s); B)char s[5];scanf(“%s”,s);C)char s[5];scanf(“%s”,&s[0]); D
5、)chars[5];gets(s);7、若有chara[80],b[80];则正确的是( )。A)puts(a,b); B)printf(“%s,%s"a[ ],b[]);C)putchar(a,b); D)puts(a);puts(b);8、以下程序的输出是()。main(){chara[2][5]={“6937",”8254"}; 6937inti,j,s=0; 8254for(i=0;i〈2;i++)for(j=0;a[i][j]>’0'&&a[i][j]<='9';j+=2)
6、s=10*s+a[i][j]-‘0’;printf(“s=%d\n”,s);}A)6385 B)69825 C)63825 D)6938251248…512一、填空题1、以下程序的输出结果是________。 结果:main(){int arr[10],i,k;for(i=0;i〈10;i++)arr[i]=1;for(i=0;i〈10;i++)for(k=0;k〈i;k++) arr[i]==arr[i]+arr[k];for(i=0;i<10;i++)printf(“%d”,arr[i]);}2、以下程序
7、的功能:输入30个人的年龄,统计18岁、19岁、……、25岁各有多少人。填空,使程序正确。main(){inti,n,age,a[30]={0};for(i=0;i<30;i++){scanf(“%d”,&age);____________;}(a[age—18]++ 或a[age]++) printf(“age number”);for(________;i++)printf(“%5d%6d\n”,i,a[i]);(i=0;i〈8或i=0;i〈25)} 3、下程序的功能:在给定数组中查找某个数,若找到,则输出
8、该数在数组中的位置,否则输出“can notfound!”。填空,使程序正确。main(){inti,n,a[8]={25,21,57,34,12,9,4,44};scabf(“%d",&n);for(i=0;i<8;i++)if(n==a[i]){printf(“Theindexis%d”,i);__________;}(break)if(______