C语言数组练习及答案.docx
- 文档编号:12380496
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:14
- 大小:58.77KB
C语言数组练习及答案.docx
《C语言数组练习及答案.docx》由会员分享,可在线阅读,更多相关《C语言数组练习及答案.docx(14页珍藏版)》请在冰豆网上搜索。
C语言数组练习及答案
第四部分数组
4.1选择题
1、以下关于数组得描述正确得就是(c)。
A、数组得大小就是固定得,但可以有不同得类型得数组元素
B、数组得大小就是可变得,但所有数组元素得类型必须相同
C、数组得大小就是固定得,所有数组元素得类型必须相同
D、数组得大小就是可变得,可以有不同得类型得数组元素
2、以下对一维整型数组a得正确说明就是(d)。
A、
inta(10);
B
、intn=10,a[n];
C、
intn;
D
、#defineSIZE10
scanf("%d",&n);
inta[SIZE];
inta[n];
3、在C语言中,引用数组元素时,其数组下标得数据类型允许就是(c)。
A、整型常量
B、整型表达式
C、整型常量或整型表达式
D、任何类型得表达式
4、以下对一维数组m进行正确初始化得就是(c)。
A、intm[10]=(0,0,0,0);B、intm[10]={};
C、intm[]={0};D、intm[10]={10*2};
5、若有定义:
intbb[8];。
则以下表达式中不能代表数组元bb[1]得地址得就是(c)
6、假定int类型变量占用两个字节,其有定义:
intx[10]={0,2,4};,则数组x在内存中所占字节数就是(d)。
A、3B、6C、10D、20
7、若有以下说明:
inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};
charc='a',d,g;
则数值为4得表达式就是(d)
A、a[g-c]B、a[4]C、a['d'-'c']D、a['d'-c]
8、以下程序段给数组所有得元素输入数据,请选择正确答案填入(a)。
#include
main()
{
inta[10],i=0;
while(i<10)scanf("%d",);
}
A、
a+(i++)B、
&a[i+1]C、a+i
D
、&a[++i]
9、
执行下面得程序段后
变量k中得值为(a)。
intk=3,s[2];
s[0]=k;k=s[1]*10;
A、
不定值B、
33C、30
D
、10
10、以下程序得输出结果就是(c)main()
inti,a[10];
for(i=9;i>=0;i--)a[i]=10-i;
printf("%d%d%d",a[2],a[5],a[8]);
}
A、258
B、741C
852
D、369
11、以下程序运行后,输出结果就是(d)。
main()
{
intn[5]={0,0,0},i,k=2;
for(i=0;i printf("%d\n",n[k]); } A、不确定得值B、2C、1D 12、以下程序运行后,输出结果就是(b)。 main() { inty=18,i=0,j,a[8]; do {a[i]=y%2;i++; y=y/2; }while(y>=1); for(j=i-1;j>=0;j--)printf("%d",a[j]); printf("\n"); A、10000B、10010C、00110D 13、以下程序运行后,输出结果就是(a)。 main() { inta[10],a1[]={1,3,6,9,10},a2[]={2,4,7,8,15},i=0,j=0,k; 10100 for(k=0;k<4;k++) if(a1[i] elsea[k]=a2[j++]; for(k=0;k<4;k++)printf("%d",a[k]); } A、1234B、1324 14、以下程序运行后,输出结果就是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、21 15、以下程序运行后输出结果就是 C、2413D (b)。 C、22(d)。 main() 、4321 D、23 intn[3],i,j,k; for(i=0;i<3;i++) n[i]=0; k=2; for(i=0;i for(j=0;j n[j]=n[i]+1; printf("%d\n",n[1]);} A、2B、1C、0D、3 16、下列程序得主要功能就是输入10个整数存入数组a,再输入一个整数x,在数组a中查 找x。 找到则输出x在10个整数中得序号(从1开始);找不到则输出0。 程序缺少得就是(b)。 main() { inti,a[10],x,flag=0; for(i=0;i<10;i++) scanf("%d",&a[i]);scanf("%d",&x); for(i=0;i<10;i++)if{flag=i+1;break;} printf("%d\n",flag); } A、x! =a[i]B、! (x-a[i])C、x-a[i]D、! x-a[i] 17、若说明: inta[2][3];则对a数组元素得正确引用就是(c)。 A、a(1,2)B、a[1,3]C、a[1>2][! 1]D、a[2][0] A、此定义语句不正确 B、没有元素可得初值0 C、数组b中各元素均为0 D、数组b中各元素可得初值但值不一定为0 19、若有以下数组定义,其中不正确得就是(d)。 A、inta[2][3]; Bintb[][3]={0,1,2,3}; C、intc[100][100]={0}; D、intd[3][]={{1,2},{1,2,3},{1,2,3,4}}; 20、若有以下得定义: intt[5][4];能正确引用t数组得表达式就是(c) A、 t[2][4]B 、t[5][0] C 、t[0][0] D 、t[0,0] 21、 在定义int m[][3]={1, 2,3,4, 5,6};后, m[1][0] 得值就是(a)。 A、 4B 、1 C 、2 D 、5 22、 在定义int n[5][6]后第 10个元素就是(c)。 A、 n[2][5]B 、n[2][4] C 、n[1][3] D 、n[1][4] 23、若二维数组c有m列,则计算任一元素c[i][j]在数组中得位置得公式为(d)(假设c[0][0]位于数组得第一个位置) A、i*m+jB、j*m+iC、i*m+j-1D、i*m+j+1 24、若有以下定义语句,则表达式“x[1][1]*x[2][2]”得值就是(a)。 floatx[3][3]={{1、0,2、0,3、0},{4、0,5、0,6、0}}; A、0、0B、4、0C、5、0D、6、0 25、以下程序运行后,输出结果就是(a)。 main() { printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]); } A、0650B、1470C、5430D 26、以下程序运行后,输出结果就是(b)。 main() { intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}}; inti,s=0; for(i=0;i<4;i++)s+=aa[i][1]; printf(“%d\n”,s); } A、11B、19C、13D 27、有以下程序 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)。 A、18B、19C、20D 28、若定义如下变量与数组: 输出值不定 、20 inti; 则下面语句得输出结果就是(c)for(i=0;i<3;i++)printf("%d",x[i][2-i]); A、159B、147C、357D、369 29、下述对C语言字符数组得描述中错误得就是(c)。 A、字符数组可以存放字符串 B、字符数组中得字符串可以整体输入、输出 C、可以在赋值语句中通过赋值运算符"="对字符数组整体赋值 D、不可以用关系运算符对字符数组中得字符串进行比较 30、下述对C语言字符数组得描述中正确得就是(a)。 A、任何一维数组得名称都就是该数组存储单元得开始地址,且其每个元素按照顺序连续占存储空间 B、一维数组得元素在引用时其下标大小没有限制 C、任何一个一维数组得元素,可以根据内存得情况按照其先后顺序以连续或非连续得方式占用存储空间 D、一维数组得第一个元素就是其下标为 31、 A、charstr[10]={'H','e','l','l','o','! '}; B、charstr[10];str="Hello! "; C、charstr[10];strcpy(str,"Hello! "); D、charstr[10]="Hello! "; 32、合法得数组定义就是(d)。 A、inta[]="string"; C、ints="string"; 33、下列语句中,不正确得就是(c) 1得元素 不能把字符串: Hello! 赋给数组b得语句就是(b) B、inta[5]={0,1,2,3,4,5}; D、chara[]={0,1,2,3,4,5}; C、staticchara[2]={'1','2','3'};D staticchara[2]={'1'}; 34、若给出以下定义: charx[]="abcdefg"; chary[]={'a','b','c','d','e','f','g'};则正确得叙述为(c)。 A、数组x与数组y等价 C、数组x得长度大于数组y得长度 35、若有数组定义: chararray[]="China";A、4个字节B、5个字节C 36、若有定义与语句: chars[10];s="abcd";printf("%s\n",s);则结果就是(以下└┘代表空格)(d)。 A、输出abcdB、输出aC37、下面程序运行后,输出结果就是(c)main() { charch[7]={"65ab21"}; inti,s=0; for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2)s=10*s+ch[i]-'0'; printf("%d\n",s); } A、12ba56B、6521C B、数组x与数组y得长度相同 D、数组x得长度小于数组y得长度则数组array所占得空间为(c)。 、6个字节D、7个字节 输出abcd└┘└┘└┘└┘D、编译不通过 、6D、62 38、运行下面得程序,如果从键盘上输入: 123<空格>456<空格>789<回车>,输出结果就是 (d) A、123,456,789B、1,456,789 C、1,23,456,789D、1,23,456 main() { chars[100];intc,i; scanf("%c",&c);scanf("%d",&i);scanf("%s",s); printf("%c,%d,%s\n",c,i,s); } 39、运行下面得程序,如果从键盘上输入: ab<回车> c<回车> def<回车> 则输出结果为(c)。 A、a B、a C 、ab D、abcdef b b c c c d d d e #include #defineN=6 main() charc[N]; inti=0; for(;i for(i=0;i } 40、运行下面得程序,如果从键盘上输入: ABC时,输出得结果就是(a) #include { charss[10]="12345"; strcat(ss,"6789");gets(ss);printf("%s\n",ss); A、ABC B、ABC9 C、123456ABCD、 ABC456789 41、判断两个字符串就是否相等,正确得表达方式就是(c) 43、若有以下程序片段 charstr[]="ab\n\012\\\""; printf("%d",strlen(str)); 上面程序片段得输出结果就是(c) 12 A、 chars[]="\\141\141abc\t"; printf("%d\n",strlen(s)); 45、 设有staticcharstr[]="Beijing"; 则执行printf("%d\n",strlen(strcpy(str,"China")));后得输出结果为(a)。 46、以下程序运行后,输出结果就是(b)main() { charch[3][5]={"AAAA","BBB","CC"}; printf("\"%s\"\n",ch[1]); } 47、以下程序运行后,输出得结果就是(d)#include main() charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k; for(k=1;k<3;k++)printf("%s\n",&w[k][k]); A、ABCD B、 ABCD FGH EFG IJ KL main()chararr[2][4]; strcpy(arr,"you");strcpy(arr[1],"me"); arr[0][3]='&'; printf("%s\n",arr); A、you&meB you me 、err
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 数组 练习 答案