
第六章数组 C语言中,引用数组元素时,其数组下标的数据类型允许是 A)整型常量B)整型表达式 C)整型常量或整型表达式D)任何类型的表达式 2.在C语言中,一鉴数组的定文方式是:类型说明符数组名[【】]: A)常量表达式B)整型表达式 C)整型常量或整型表达式D)整型常量 3.若有以下定义: doublew[10]: 则w数组元素下标的上限为【】,下限为【】 4.以下程序段给数组所有的元素输入数据,请选择正确答案填入: #include(stdio.h> a1n() [inta[1O].i=0: hile(i(10)scanf("d°,【】D A)a+(i++)B)&n[i+1]C)a+iD)Aa[++i] 5.执行下面的程序段后,变量k中的值为 A)不定值B)33C)300)10 intk-3,s[2]: s[0]=k:=s[1]*10 6.若有以下说明: inta12]=1,2,3,4,5,6,7,8,9,10,11,12}: charc='a'.d.g 则数值为4的表达式是 A)a[g-e]B)a[4]c)a['d'-'c']D)a['d'-e] 7,请读程序1 #include nsin (
第六章 数组 C 语言中,引用数组元素时,其数组下标的数据类型允许是 A)整型常量 B)整型表达式 C)整型常量或整型表达式 D)任何类型的表达式 2.在 C 语言中,一维数组的定义方式是:类型说明符数组名[【】]; A)常量表达式 B)整型表达式 C)整型常量或整型表达式 D)整型常量 3.若有以下定义: doublew[10]; 则 w 数组元素下标的上限为【】,下限为【】。 4.以下程序段给数组所有的元素输入数据,请选择正确答案填入。 #include main() {inta[10],i=0; while(i main()

intN[2].I.J.Ka for (I=0:I<2:I++)NUJ]=N[I]+1: printf (sd\n",N[K]): 上面程序的输出结果是 A)不确定的值B)C)2D)1 8.有如下程序 nain ( [intn[5]=0,0,0,i.k-2: for (i=0:i<k:++m[i]=n[i]+1 printf (sd\n",n[k]):) 该程序的输出结果是 A)不确定的值B)2C)1D》0 9.以下程序的输出结果是 main ( Hinti,k.a[1o].p[3] k=5: for (i=0:i<10:i++)ali]=it far(i-0:i3:i+)p[i]-a[i*(i+l)]: for (i=0:i<3:i++)k+=p[i]*2: printf(sdn,k方J A)20B)21C)22D)23 10.阅读下列程序: a1n() [intn[3].i.j.k: for (i-0:i<3:itt)n[i]-0: k=2 for (i=0:ick:i++) for (j-0:j(k:jtt) ]=m[i]+1 printf ('sd\n",n[1]):)
{intN[2],I,J,K; for(I=0;I<2;I++)N[J]=N[I]+1; printf("%d\n",N[K]);} 上面程序的输出结果是 A)不确定的值 B)3C)2D)1 8.有如下程序 main() {intn[5]={0,0,0},i,k=2; for(i=0;i<k;i++)n[i]=n[i]+1; printf("%d\n",n[k]);} 该程序的输出结果是 A)不确定的值 B)2C)1D)0 9.以下程序的输出结果是 main() {inti,k,a[10],p[3]; k=5; for(i=0;i<10;i++)a[i]=i; for(i=0;i<3;i++)p[i]=a[i*(i+1)]; for(i=0;i<3;i++)k+=p[i]*2; printf("%d\n",k);} A)20B)21C)22D)23 10.阅读下列程序: main() {intn[3],i,j,k; for(i=0;i<3;i++)n[i]=0; k=2; for(i=0;i<k;i++) for(j=0;j<k;j++) n[j]=n[i]+1; printf("%d\n",n[1]);}

下述程序运行后输出结果是 A)2B)1C)0D)3 11,以下程序的功能是:从健盘上输入若干个学生的成绩,饶计计算出平均成镜,并输 出低于平均分的学生成镜,川输入负数结束输入,请填空。 nsin ( Ifloatx[1000].SumF0.0.ave.a intn=0.i: printf("Enternark:n片scanf("%f,&a片 h110(a=0.0n) {sut【】 x[n]-【 m+:scaf(“f”,ka): avee【】 printf (Output:\n): printf ("ave=sf\n",ave): for(f=0:1<n:1++) if ([D printf ("x[])) 12.对以下说明语句的正确理解是 imta[10]={6,7,8,9.10]: A)将5个初值依次赋给a[1】至a[5] B)将5个初值依次赋给a【0]至a[4】 C)将5个初值依次赋给a【6]至a[10] D)因为数组长度与初值的个数不相具,所以此语句不正确 13.有如下程序 main ( inta[3)[3]-Hl.2,3,4.5,6},i,j,s-0: far(i=l:13,1+) for (j-0:j<-i:j++)st=a[i][j]: printf("%dn“,s:J 该程序的输出站果是
下述程序运行后输出结果是 A)2B)1C)0D)3 11.以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输 出低于平均分的学生成绩,用输入负数结束输入。请填空。 main() {floatx[1000],sum=0.0,ave,a; intn=0,i; printf("Entermark:\n");scanf("%f",&a); while(a=0.0&&n) {sum+【】; x[n]=【】; n++;scanf("%f",&a);} ave=【】; printf("Output:\n"); printf("ave=%f\n",ave); for(i=0;i<n;i++) if(【】)printf("%d",x[i]);} 12.对以下说明语句的正确理解是 inta[10]={6,7,8,9,10}; A)将 5 个初值依次赋给 a[1]至 a[5] B)将 5 个初值依次赋给 a[0]至 a[4] C)将 5 个初值依次赋给 a[6]至 a[10] D)因为数组长度与初值的个数不相同,所以此语句不正确 13.有如下程序 main() {inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j<=i;j++)s+=a[i][j]; printf("%d\n",s);} 该程序的输出结果是

A)18B)19C)200)21 14.有定义如下: inti,x[3][3]-[1,2,3,4,5,6,7,8,9: 则下面语句的输出结果是 for(i=o:i3:i+)printf("°,x[ij[2-i】为 A)1596)147C)357D)369 15.阅读下列程序: 年include(stdio.h> nsin ( [inti,j.row,col,m: stat1 cinta[3[3]=H100.200.3001.(28,T2.-30 -850,2,6)1: ra0][o]: far(1=0:1<311+》 for (j=0:j<3:i++) if (a[i][j]<n)(mra[i][j];row-i;col-j:) printf ("%d,&%d\n",n.row,col): 上述程序的输出结果是【】. 16.以下能对二推数组a选行正确初始化的语句是 A)inta[2]0-1,0,1,5,2,3 B)1nta0[3]={1,2,3,4.5,6} c)inta[2][4j-[1,2.3,M,5引,6j: D)inta03]=H1.0,1}0,f1,1l: 17,合法的数组定义是 A)inta[]="string":B)inta[5]=(0.1,2.3.4.5): C)chars="string":D)chara[](0,1.2,3,4,5 18.若有说明,inta[3)[4]=0:则下面正确的假述是 A)只有元素a[0][0j可得到初植0 B)此说明语句不正确
A)18B)19C)20D)21 14.有定义如下: inti,x[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是 for(i=0;i main() {inti,j,row,col,m; staticinta[3][3]={{100,200,300},{28,72,-30}, {-850,2,6}}; m=a[0][0]; for(i=0;i<3;i++) for(j=0;j<3;i++) if(a[i][j]<m){m=a[i][j];row=i;col=j;} printf("%d,%d,%d\n",m,row,col); } 上述程序的输出结果是【】。 16.以下能对二维数组 a 进行正确初始化的语句是 A)inta[2][]={{1,0,1},{5,2,3}}; B)inta[][3]={{1,2,3},{4,5,6}}; C)inta[2][4]={{1,2,3},{4,5},{6}}; D)inta[][3]={{1,0,1}{},{1,1}}; 17.合法的数组定义是 A)inta[]="string";B)inta[5]={0,1,2,3,4,5}; C)chars="string";D)chara[]={0,1,2,3,4,5}; 18.若有说明:inta[3][4]={0};则下面正确的叙述是 A)只有元素 a[0][0]可得到初值 0 B)此说明语句不正确

C)数组a中各元素都可得到初值,但其值不一定为0 D)数组。中每个元素均可得到初值0 19.若有说明:inta[3)[4]:则数组a中各元素 A)可在程序的运行阶段得到初值0 B)可在程序的编译阶段得到切值0 C)不能得到确定的初值 D)可在程序的编译或运行阶段得到初值0 20.若有以下的定义:intt[3)[2]:能正确表示t数组元素地址的表达式是 A)kt[3)[2]B)t[3]C)*t[1D)t[2 21.不能靶字符申:He11o!赋给数组b的语句是 A)charb10]-,"e',1',1','a',': B)charb(10]1 b="Hello!" C)charb[10]:strepy (b,"Hello!"): D)charb[lo]-ello!“: 2.以下不能对二维数组a进行正确初始化的语句是 A)inta[2][3]=[0): B)1nta0[3]={1,21,f01: c)inta[2][3]-[1,2,3,4,5,6: D)inta03]=1.2,3,4,5,6l: 23.若有定义和语句: chars[10]: sw"abcd:printf(“wsln°,si 则结果是(以下!代表空格) A)输出abedB)输出aC)输出beduuuuul》编译不通过 24.设有数组定义:chararray口-China”;则数组arny所占的空阿为 A)4个字节B)B个字节C》6个字节D)7个字节 25.下述对C语言字符数组的描述中错误的是 A)字符数组可以存成字符串 B)字符数组中的字符串可以整体输入,输出 C)可以在献值语句中通过赋值运算符"=”对字符数组整体赋值
C)数组 a 中各元素都可得到初值,但其值不一定为 0 D)数组 a 中每个元素均可得到初值 0 19.若有说明:inta[3][4];则数组 a 中各元素 A)可在程序的运行阶段得到初值 0 B)可在程序的编译阶段得到初值 0 C)不能得到确定的初值 D)可在程序的编译或运行阶段得到初值 0 20.若有以下的定义:intt[3][2];能正确表示 t 数组元素地址的表达式是 A)&t[3][2]B)t[3]C)*t[1]D)t[2] 21.不能把字符串:Hello!赋给数组 b 的语句是 A)charb[10]={'H','e','l','l','o','!'}; B)charb[10];b="Hello!"; C)charb[10];strcpy(b,"Hello!"); D)charb[10]="Hello!"; 22.以下不能对二维数组 a 进行正确初始化的语句是 A)inta[2][3]={0}; B)inta[][3]={{1,2},{0}}; C)inta[2][3]={{1,2},{3,4},{5,6}}; D)inta[][3]={1,2,3,4,5,6}; 23.若有定义和语句: chars[10]; s="abcd";printf("%s\n",s); 则结果是(以下 u 代表空格) A)输出 abcdB)输出 aC)输出 abcduuuuuD)编译不通过 24.设有数组定义:chararray[]="China";则数组 array 所占的空间为 A)4 个字节 B)5 个字节 C)6 个字节 D)7 个字节 25.下述对 C 语言字符数组的描述中错误的是 A)字符数组可以存放字符串 B)字符数组中的字符串可以整体输入、输出 C)可以在赋值语句中通过赋值运算符"="对字符数组整体赋值

D)不可以用关系运算符对字符数组中的字符串进行比较 26.下列播述中不正确的是 A)字符型数组中可以存放字符串 B)可以对字符型数组进行整体输入,输出 C)可以对整型数组进行整体输入。输出 D)不楚在赋植语句中通过赋值运算符”=”对字符型数组进行整体赋值 27。请读程序片段(字符串内设有空格字符): printf ("%d\n",strlen ("ATS\NO12\)): 上面程序片段的输出结果是 A)11B)10C)S0)8 28.若有以下程序片段: charstr[]="ab\n\012\\\": printf (sd\n",strlen (str)): 上而程序片段的输出结果是 A)3B》4C)D)12 29,函数调用:streat(stcy(strl,str2).str3)的功能是 A)将串strl复制到串tr2中后再连接到串str3之后 B)将串strl连接到串st2之后再复制到串str3之后 C)将串str2复制到串str1中后再将串str3连接到串str1之后 D)将串str2连接到串str1之后再将串str1复制到串str3中 30.以下函数把b串连接到a申的后面,并返回a中新字符串的长度。请填空。 Strcen (chara[].charb[]) [intnum-0.n=0: hile(。(atnum)!-【】Dnut+: while (b[n]){(atnun)=b[n]:nunt+:[] a[nun]-0: eturn《um 1 31。下列程序执行后的输出结果是 A)youkmeB)youc)me0)err
D)不可以用关系运算符对字符数组中的字符串进行比较 26.下列描述中不正确的是 A)字符型数组中可以存放字符串 B)可以对字符型数组进行整体输入、输出 C)可以对整型数组进行整体输入、输出 D)不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值 27.请读程序片段(字符串内没有空格字符): printf("%d\n",strlen("ATS\N012\1\\")); 上面程序片段的输出结果是 A)11B)10C)9D)8 28.若有以下程序片段: charstr[]="ab\n\012\\\""; printf("%d\n",strlen(str)); 上面程序片段的输出结果是 A)3B)4C)6D)12 29.函数调用:strcat(strcpy(str1,str2),str3)的功能是 A)将串 str1 复制到串 str2 中后再连接到串 str3 之后 B)将串 str1 连接到串 str2 之后再复制到串 str3 之后 C)将串 str2 复制到串 str1 中后再将串 str3 连接到串 str1 之后 D)将串 str2 连接到串 str1 之后再将串 str1 复制到串 str3 中 30.以下函数把 b 串连接到 a 串的后面,并返回 a 中新字符串的长度。请填空。 Strcen(chara[],charb[]) {intnum=0,n=0; while(*(a+num)!=【】)num++; while(b[n]){*(a+num)=b[n];num++;【】;} a[num]=0; return(num); } 31.下列程序执行后的输出结果是 A)you&meB)youC)meD)err

sinclude“string.h" main ( [chararr[2][4]: strepy(arr,"you”:strcpy(arr[I】,"e"方 arr0j[3]='&': printf (%s\n',arr): 32。请遗出以下语句的输出结果 printf ("sd\n".strlen ("\t\"\065\xfr\n")): A)B》1C)8D)输出项不合法,无正常输出 33.给出以下定义: charx[]="abedefg": chary[]=['a','b','c'.'d','e','f','g'): 划正确的叙述为 A)数组X和数组Y等价 B)量组x和数组Y的长度(空间)相同 C)数组X的长度(空间》大于数组Y的长度(空阿) D)数组X的长度《空间)小于数组Y的长度(空阿) 34。下面程序的功能是:将字符数组中下标植为偶数的元素从小到大排列,其它元素 不变。睛填空。 #include #include(string.h> main ( (chara[]="clanguage",t: inti.j.ka k=strlen (a) for(i=0:i-k-2:i+-2) far(jri+2:j-k:【】D if(【D [t=a[i]:a[i]=a[j]:a[j]=t:} puts (a):printf ("\n"):
#include“string.h” main() {chararr[2][4]; strcpy(arr,"you");strcpy(arr[1],"me"); arr[0][3]='&'; printf("%s\n",arr);} 32.请选出以下语句的输出结果 printf("%d\n",strlen("\t\"\065\xff\n")); A)5B)14C)8D)输出项不合法,无正常输出 33.给出以下定义: charx[]="abcdefg"; chary[]={'a','b','c','d','e','f','g'}; 则正确的叙述为 A)数组 X 和数组 Y 等价 B)数组 x 和数组 Y 的长度(空间)相同 C)数组 X 的长度(空间)大于数组 Y 的长度(空间) D)数组 X 的长度(空间)小于数组 Y 的长度(空间) 34.下面程序的功能是:将字符数组 a 中下标值为偶数的元素从小到大排列,其它元素 不变。请填空。 #include #include main() {chara[]="clanguage",t; inti,j,k; k=strlen(a); for(i=0;i<=k-2;i+=2) for(j=i+2;j<=k;【】) if(【】) {t=a[i];a[i]=a[j];a[j]=t;} puts(a);printf("\n");}

5.请选出以下程序段的输出结果 #include(stdio.h> main ( {chars1[10],s2I10],s3[10],s4[10] scanf ("sks",s1.s2):gets (s3):gets (s4): puts (s1):puts (82):puts (s3)puts (s4): 输入数据如下:(此处(C》代表回车符) aaahbbb(CR> ceceddddcCR> A)aaaaB)aaaac)aaaaD)aaas bbbbbbbbbbbbbbbb eccccceedddd ccceddddddddeccedddd 6.下面程序的运行结果是 A)12ha568)6521C)60)62 main ( charch[7]=165ab21"] inti,s=0: for (i=0:ch[i]>='0'&kch[i]'9':i+=2) s-10*s+ch[i]-0': printf("sdn",s片} 37.设有下列程序: #include 年include(string.h> nain ( [inti charstr[10].temp[10]: Zets(tcmp片 far(i=0:1<4:1+) {gets(str方
35.请选出以下程序段的输出结果 #include main() {charsl[10],s2[10],s3[10],s4[10]; scanf("%s%s",s1,s2);gets(s3);gets(s4); puts(s1);puts(s2);puts(s3);puts(s4);} 输入数据如下:(此处代表回车符) aaaabbbb ccccdddd A)aaaaB)aaaaC)aaaaD)aaaa bbbbbbbbbbbbbbbb ccccccccdddd ccccddddddddccccdddd 36.下面程序的运行结果是 A)12ba56B)6521C)6D)62 main() {charch[7]={"65ab21"}; inti,s=0; for(i=0;ch[i]>='0'&&ch[i] #include main() {inti; charstr[10],temp[10]; gets(temp); for(i=0;i<4;i++) {gets(str);

if (stremp (temp.str)代表回车符)1 C++(CR> BASICKCR> Q知ickC AdaCR> Pascal 则程序的输出结果是【】 39。下列程序的输出结果是 nsin ( {charch[2][6j=6934,"82541,p[2]: inti.j.s=0: for (i-0:i='0'kpi][】 nain ( [intnum[26],i; charc: for(1=0:1<25:1+)um[i]=0 hi1e【】-'t) if (isupper (c))num[e-65]+m1: for(1=011<25,1++)
if(strcmp(temp,str)代表回车符): C++ BASIC QuickC Ada Pascal 则程序的输出结果是【】。 39.下列程序的输出结果是 main() {charch[2][5]={"6934,"8254"},*p[2]; inti,j,s=0; for(i=0;i='0'&&p[i][j] #include main() {intnum[26],i; charc; for(i=0;i<26;i++)num[i]=0; while(【】!='#') if(isupper(c))num[c-65]+=1; for(i=0;i<26;i++)

if (num[i]) printf(se:Mn°,【】.num[i]为 山.运行下面的程序,如果从健盘上输入: ab(回车) c(回车) df(回车)则输出结果为 A)aB)ac)abD)abedef bbc ced M e f 年include(stdio.h> adefineN6 main ( (chare [N]: inti=0: for (iN:c[i]-getchar ()i+t) for (i=0:i<N 1++)putchar (c[i]) printf ("\n"): 1 2.以下程序可以把从健世上输入的十进制数(1g型)以二到十六进制形式输出, 请填空。 main ( charb[16]=0,1','2,'3',"4,'5,'6,'7”,'8, g,",'旷,'C,D,E,F]: inte[64].d.1=0.baser longn: printf ("enteranurher:\n"):scanf (sd",An);
if(num[i]) printf("%c:%d\n",【】,num[i]); } 41.运行下面的程序,如果从键盘上输入: ab c def则输出结果为 A)aB)aC)abD)abcdef bbc ccd dd e f #include #defineN6 main() {charc[N]; inti=0; for(;i<N;c[i]=getchar(),i++) for(i=0;i<N;i++)putchar(c[i]); printf("\n"); } 42.以下程序可以把从键盘上输入的十进制数(long 型)以二到十六进制形式输出, 请填空。 main() {charb[16]={'0','1','2','3','4','5','6','7','8', '9','A','B','C','D','E','F'}; intc[64],d,i=0,base; longn; printf("enteranumber:\n");scanf("%ld",&n);