C语言数组选择题(部分做了注释)_第1页
C语言数组选择题(部分做了注释)_第2页
C语言数组选择题(部分做了注释)_第3页
C语言数组选择题(部分做了注释)_第4页
C语言数组选择题(部分做了注释)_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、以下定义语句中,错误的是________。A)inta[]={1,2};B)chara[]={"test"};C)chars[10]={"test"};D)intn=5,a[n];D一维数组的定义方式:类型说明符数组名[常量表达式]常量表达式中可以包括常量和符号常量,但不能包含变量。2、以下对一维数组a进行正确初始化的是__________。A)inta[10]=(0,0,0,0,0);B)inta[10]={};C)inta[]={0};D)inta[10]={10*2};、C1.在定义数组时对数组元素赋以初值。2.可以只给一部分元素赋值。3.如果想使一个数组中全部元素值为0,可以写成:inta[10]={0,0,0,0,0,0,0,0,0,0};或inta[10]={0};4.在对全部数组元素赋初值时,由于数据的个数已经确定,因此可以不指定数组长度,系统根据后面花括号里的数据决定数组的长度。3、以下对二维数组a进行正确初始化的是__________。A)inta[2][3]={{1,2},{3,4},{5,6}};B)inta[][3]={1,2,3,4,5,6};%C)inta[2][]={1,2,3,4,5,6};D)inta[2][]={{1,2},{3,4}};B4.如果对全部元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。可以用下面4种方法对二维数组初始化:1.分行给二维数组赋初值。2.可以将所有数据写在一个花括号内,按数组排列的顺序对各元素赋初值。3.可以对部分元素赋初值。4、在定义inta[5][4];之后,对a的引用正确的是________。"A)a[2][4]B)a[1,3]C)a[4][3]D)a[5][0]C在使用数组元素时,应该注意下标值应在已定义的数组大小的范围内。5、以下给字符数组str定义和赋值正确的是________。A)charstr[10];str={"China!"};B)charstr[]={"China!"};C)charstr[10];strcpy(str,"abcdefghijkl");D)charstr[10]={"abcdefghijkl"};…B不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。只能用strcpy函数将一个字符串复制到另一个字符数组中去。strcpy(字符数组1,字符串2)字符数组1必须定义得足够大,以便容纳被复制的字符串。字符数组1的长度不应小于字符串2的长度。用赋值语句只能将一个字符赋给一个字符型变量或字符数组元素。6、以下一维数组a的正确定义是________。A)inta(10);B)intn=10,a[n];C)intn;D)#defineSIZE10scanf("%d",&n);inta[SIZE];;inta[n];D7、在执行语句:inta[][3]={1,2,3,4,5,6};后,a[1][0]的值是________。A)4B)1C)2D)5A8、当接受用户输入的含有空格的字符串时,应使用________函数。A)gets()B)getchar()C)scanf()D)printf()。A利用scanf函数输入字符串,系统把空格字符作为输入的字符串之间的分隔符.9、在定义inta[5][6];后,数组a中的第10个元素是________。(设a[0][0]为第一个元素)A)a[2][5]B)a[2][4]C)a[1][3]D)a[1][5]C10、执行下面的程序段后,变量k中的值为__________。intk=3,s[2];(s[0]=k;k=s[1]*10;A)不定值B)33C)30D)10As[1]没有赋值11、下列程序执行后的输出结果是__________。main(){inta,b[5];a=0;b[0]=3;printf("%d,%d\n",b[0],b[1]);}$A)3,0B)30C)0,3D)3,不定值Db[1])没有赋值12、设有数组定义:chararray[]="China";则strlen(array)的值为________。A)4B)5C)6D)7Bstrlen(字符数组)》strlen是测试字符串长度的函数。函数的值为字符串中的实际长度(不包括′\0′在内)。13、下列程序执行后的输出结果是__________。main(){inti,j,a[3][3];for(i=0;i<3;i++)for(j=0;j<=i;j++)a[i][j]=i*j;printf("%d,%d\n",a[1][2],a[2][1]);}A)2,2B)不定值,2-C)2D)2,0B0未赋值未赋值01未赋值02414、设有数组定义:chararray[]="China";则数组array所占的存储空间为________。A)4个字节B)5个字节C)6个字节D)7个字节(C用字符串常量初始化字符数组。当字符串存放在字符数组中时,系统会自动附加一个字符'\0'。15、设有数组定义:chararray[10]="China";则数组array所占的存储空间为________。A)4个字节B)5个字节C)6个字节D)10个字节D如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符。'16、已知数组a的赋值情况如下所示,则执行语句a[2]++;后a[1]和a[2]的值分别是________。a[0]a[1]a[2]a[3]a[4]┌──┬──┬──┬──┬──┐│10│20│30│40│50│└──┴──┴──┴──┴──┘A)20和30B)20和31C)21和30D)21和31B`17、以下程序输出a数组中的最小值及其下标,在划线处应填入的是________。main(){inti,p=0,a[10];for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=1;i<10;i++)if(a[i]<a[p])_______________;printf("%d,%d\n",a[p],p);}A)i=pB)a[p]=a[i]C)p=jD)p=i)D18、以下程序的输出结果是________。main(){inti,p=0,a[10]={1,5,9,0,-3,8,7,0,1,2};for(i=1;i<10;i++)if(a[i]<a[p])p=i;printf("%d,%d\n",a[p],p);}A)-3,4B)0,1C)9,2D)2,9]A19、有如下说明:inta[10]={0,1,2,3,4,5,6,7,8,9};则数值不为9的表达式是________。A)a[10-1]B)a[8]C)a[9]-0D)a[9]-a[0]B20、有如下程序main(){intn[5]={0,0,0},i,k=3;`for(i=0;i<k;i++)n[i]=i+1;printf("%d\n",n[k]);}该程序的输出结果是________。A)不确定的值B)4C)2D)0D21、有如下程序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)20D)21A22、以下程序的输出结果是________。…main(){inti,x[9]={9,8,7,6,5,4,3,2,1};for(i=0;i<4;i+=2)printf("%d",x[i]);}A)52B)51C)53D)97D23、以下程序的输出结果是________。main(){inti,x[3][3]={9,8,7,6,5,4,3,2,1};、for(i=0;i<3;i+=1)printf("%5d",x[1][i]);}A)654B)963C)951D)987A24、以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,当输入负数时结束。划线处应分别填入_________。main(){floatx[1000],sum=,ave,a;intn=0,i;(printf("Entermark:\n");scanf("%f",&a);while(a>=&&n<1000){sum+=______;x[n]=a;n++;scanf("%f",&a);}ave=________;printf("Output:\n");printf("ave=%f\n",ave);for(i=0;i<n;i++)-if(x[i]<ave)printf("%f\t",x[i]);}A)a和sum/nB)x[n]和sum/nC)a和sum/iD)a和sum/1000A25、下面程序的输出结果是________。main(){inta[]={1,8,2,8,3,8,4,8,5,8};printf("%d,%d\n",a[4]+3,a[4+3]);!}A)6,6B)8,8C)6,8D)8,6C26、如有定义语句inta[]={1,8,2,8,3,8,4,8,5,8};,则数组a的大小是________。A)10B)11C)8D)不定A*27、以下程序的输出结果是_________。main(){inti,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf("%d,",x[i][2-i]);printf("\n");}A)1,5,9,B)1,4,7,C)3,5,7,D)3,6,9,C#28、以下程序的输出结果是________。main(){inti,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf("%d,",x[i][i]);printf("\n");}A)1,5,9,B)1,4,7,C)3,5,7,D)3,6,9,A^29、以下程序的输出结果是________。main(){inta[3][3]={{1,2,3},{3,4,5},{5,6,7}},i,j,s=0;for(i=0;i<3;i++)for(j=i;j<3;j++)s+=a[i][j];printf("%d\n",s);}A)26B)36C)19D)22D(30、下面程序的输出是________。main(){inta[10]={1,2,3,4,5,6,7,8,9,10};printf("%d\n",a[a[1]*a[2]]);}A)3B)4C)7D)2C31、下面程序的输出是________。^main(){intaa[3][3]={{2},{4},{6}};inti,p=aa[0][0];for(i=0;i<2;i++){if(i==0)aa[i][i+1]=p+1;else++p;printf("%d",p);}}?A)23B)26C)3D)36A32、以下程序的输出结果是________。main(){inta[4][4]={{1,2,3,4},{3,4,5,6},{5,6,7,8},{7,8,9,10}};intj,s=0;for(j=0;j<4;j++)s+=a[j][j];'printf("%d\n",s);}A)36B)26C)22D)20C33、以下程序执行后的输出结果是________。(设a[0][0]是数组a中的第1个元素)#include<>main(){inta[4][5]={1,2,4,8,10,-1,-2,-4,-8,-10,3,5,7,9,11};{inti,j,n=9;i=n/5;j=n-i*5-1;printf("NO.%d:%d,%dis%d\n",n,i,j,a[i][j]);}A)第n个元素所在的行和列及其该元素的值B)第n行的最大元素所在的行和列及其最大值C)第i行的最大元素所在的行和列及其最大值D)以上都不对A!34、下面程序统计3个学生,每个学生4门课程的考试成绩,要求输出每个学生的总成绩、每个学生的平均成绩、12个学生的总成绩。正确的说法是________。main(){intstu[3][4],i,j,t[3];floatsum=0,a[3];for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",&stu[i][j]);for(i=0;i<3;i++){a[i]=0;"for(j=0;j<3;j++){sum+=stu[i][j];t[i]+=stu[i][j];printf("%-6d",stu[i][j]);}a[i]=t[i]/3;printf("%-6.2f\n",a[i]);}printf("average=%.2f\n",sum/;}A)数组a的每个元素中存放的是每个学生的总成绩。B)数组t的每个元素中存放的是每个学生的平均成绩C)从键盘上输入成绩的顺序是按课程输入D)从键盘上输入成绩的顺序是按学生输入D数组a的每个元素中存放的是每个学生的平均成绩数组t的每个元素中存放的是每个学生的总成绩35、下面程序的功能是________。#include<>#include<>]main(){chara[]="clanguage",t;inti,j,k;k=strlen(a);for(i=0;i<=k-1;i+=1)for(j=i+1;j<k;i+=1)for(j=i+1;j<k;j+=1)if(a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;}puts(a);printf("\n");}/A)将字符数组a中的元素从小到大排序B)将字符数组a中的元素从大到小排序C)求字符数组a中的最大元素D)将字符数组a中的最小元素A36、下面程序的运行以后的结果是________。main(){chara[]="clanguage",t;inti,j,k;k=strlen(a);for(i=0;i<=k-1;j+=1)}for(j=i+1;j<k;i+=1)错了if(a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;}puts(a);printf("\n");}A)clanguageB)alancueggC)egauganlcD)cgalgnaueB无限循环—改成main(){chara[]="clanguage",t;inti,j,k;k=strlen(a);for(i=0;i<=k-1;i+=1)for(j=i+1;j<k;j+=1)if(a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;}puts(a);printf("\n");输出是aacegglnu{37、以下程序的功能是:将无符号八进制数字构成的字符串转换为十进制整数。例如,输入的字符串为:556,则输出十进制整数366,划线处应填________。#include<>main(){chars[6];intn,j;gets(s);if(s[0]!='\0')n=s[0]-'0';j=1;while(s[j++]!='\0')____________;printf("%d\n",n);#}A)n=n*8+s[j]B)n=n*8+s[j-1]-'0'C)n=n*8+s[j]-'\0'D)n=n*8+s[j-1]-'\0'B‘0’j=1n=(s[0]-'0')*8+s[1]-‘0’j=2n=(s[0]-'0')*82+(s[1]-‘0’。38、有如下程序main(){charch[2][5]={"6937","8254"};inti,j;longs=0;for(i=0;i<2;i++)for(j=0;ch[i][j]>'\0';j++)s=10*s+ch[i][j]-'0';printf("%ld\n",s);}该程序的输出结果是________。@A)69825B)693825C)6385D)D39、有如下程序main(){charch[80];intj;longs=0;printf("Enteranumeralstring\n");gets(ch);for(j=0;ch[j]>'\0';j++).s=10*s+ch[j]-'0';printf("%ld\n",s);}如果运行时,从键盘上输入由数字组成的字符串,该程序的功能是________。A)测字符数组ch的长度B)将数字字符串ch转换成十进制数C)将字符数组中的小写字母转换成大写D)将字符数组中的大写字母转换成小写B|40、有如下程序main(){charch[80]="123abcdEFG*&";intj;longs=0;puts(ch);for(j=0;ch[j]>'\0';j++)if(ch[j]>='a'&&ch[j]<='z')ch[j]=ch[j]-'b'+'B';puts(ch);}该程序的功能是________。A)测字符数组ch的长度<B)将数字字符串ch转换成十进制数C)将字符数组ch中的小写字母转换成大写D)将字符数组ch中的大写字母转换成小写Cch[j]=ch[j]-'b'+'B';-'b'+'B'是-3241、有如下程序main(){charch[80]="123abcdEFG*&";intj;longs=0;,for(j=0;ch[j]>'\0';j++);printf("%d\n",j);}该程序的功能是________。A)测字符数组ch的长度B)将数字字符串ch转换成十进制数C)将字符数组ch中的小写字母转换成大写D)将字符数组ch中的大写字母转换成小写A42、以下程序的输出结果是________。:main(){chara[10]={'1','2','3',0,'5','6','7','8','9','\0'};printf("%s\n",a);}A)123B)1230C)9D)90A'\0'代表ASCII码为0的字符,ASCII为0的字符不是一个可显示的字符,而是一个“空操作符”,即它什么也不做。用它来作为字符串结束标志不会产生附加的操作或增加有效字符,只起到供辨别的标志。printf输出时遇到第一个“\0”<43、以下程序的输出结果是________。main(){intn[3][3],i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)n[i][j]=i+j;for(i=0;i<2;i++)for(j=0;j<2;j++)n[i+1][j+1]+=n[i][j];printf("%d\n",n[i][j]);}A)14B)0(C)6D)值不确定C原数组012123234后数组012124246、44、以下程序的输出结果是________。main(){chars[]={""};intv[4]={0,0,0,0},k,i;for(k=0;s[k];k++){switch(s[k]){case'1':i=0;break;case'2':i=1;break;case'3':i=2;break;case'4':i=3;},v[i]++;}for(k=0;k<4;k++)printf("%d",v[k]);}A)4211B)0008C)4678D)8888A45、以下程序输出的结果是________。#include<>main()"{inta[]={1,2,3,4,5},i,j,s=0;j=1;for(i=4;i>=0;i--){s=s+a[i]*j;j=j*10;}printf("s=%d\n",s);}A)s=12345B)s=12345C)s=54321D)s=54321A46、以下程序输出的结果是________。#include<>:main(){inta[]={1,2,3,4,5},i,j,s=0;for(i=0;i<5;i++)s=s*10+a[i];printf("s=%d\n",s);}A)s=12345B)s=12345C)s=54321D)s=54321A47、以下程序运行,如果从键盘上输入4<回车>,则输出结果是________。》#include<>main(){inta[20]={1,2,3,4,5,-1,-2,-3,-4,-5,1,2,3,4,5,-1,-2,-3,-4,-5};inti,m,n,f=0;scanf("%d",&n);for(i=0;i<20;i++)if(a[i]==n){f=1;m=i;}if(f!=0)printf("%d,%d\n",n,m+1);elseprintf("%dnotfound!\n",n);}'A)4,4B)4,14C)4,5D)4,15B48、下面的程序运行后,输出结果是________。main(){inti,j,a[7][7],x=0;for(i=0;i<3;i++)for(j=0;j<3;j++)a[i][j]=3*j+i;for(i=2;i<7;i++)x+=a[i][i];printf("%d\n",x);}}A)8B)不确定值C)20D)0B只赋值了一部分初始化的时候可以只给一部分元素赋值,未赋值的元素值为0。不是初始化的时候必须给全部元素赋值。49、下面程序运行后,输出结果是________。#include<><main(){inta[10]={1,2,3,4,5,6},i,j;for(i=0;i++<3;){j=a[i];a[i]=a[5-i];a[5-i]=j;}for(i=0;i<6;i++)printf("%d",a[i]);}A)654321B)123456C)154326D)153426Di=0,i++后,i=1;|j=a[1]=2,a[1]=a[4]=5,a[4]=2i=1,i++后,i=2;j=a[2]=3,a[2]=a[3]=4,a[3]=3i=2,i++后,i=3;j=a[3]=3,a[3]=a[2]=4,a[2]=450、下面程序的功能是________。#include<>main(){inta[5][4],i,j,max,row,col;for(i=0;i<5;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);?max=a[4][0];row=4;col=0;for(i=4;i>=0;i--)for(j=0;j<4;j++)if(max<a[i][j]){max=a[i][j];row=i;col=j;}printf("max=%d,row=%d,col=%d\n",max,row,col);}A)求二维数组中第4行中的最大元素及位置B)求二维数组中的最大元素及位置C)求二维数组中最小元素及位置D)求二维数组中每一行的最大元素及位置B-51、以下程序的输出结果是___

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论