C语言数组练习及答案
D. a2018. 若有定义:int b34=0;则下述正确的是(b ) 。 A. 此定义语句不正确B. 没有元素可得初值0C. 数组b中各元素均为0D. 数组b中各元素可得初值但值不一定为019. 若有以下数组定义,其中不正确的是(dA. a(1,2) B. a1,3 C. a12!1 ) 。 A. int a23;B int b3=0,1,2,3i17. 若说明:int a23; 则对a数组元素的正确引用是(c ) 。 ;C. int c100100=0;D. int d3=1,2,1,2,3,1,2,3,4;20. 若有以下的定义:int t54; B. !(x-ai) C. x-ai D. !x-a能正确引用t数组的表达式是(c )。A. t24 B. t50 C. t00 D. t0,021. 在定义int mreak;printf(%dn, flag);A. x!=ai 3=1,2,3,4,5,6;后,m10的值是(a )。 A. 4 or(i=0;i10;i+) if _______ flag=i+1; b B. 1 C. 2 D. 522. 在定义int n56后第10个元素是(c )。 A. n2;i+) scanf(%d,&ai);scanf(%d,&x);f5 B. n24 C. n13 D. n1423. 若二维数组c有m列,则计算任一元素cij在数组中的位置的公式为 main()int i,a10,x,flag=0;for(i=0;i10(d )。(假设c00位于数组的第一个位置)A. i*m+j B. j*m+i C. i*m+j-1 D. i*m+j+124组a中查找x。找到则输出x在10个整数中的序号(从1开始);找不到则输出0。程序缺少的是 (b )。. 若有以下定义语句,则表达式“x11*x22”的值是(a )。 fl D. 316. 下列程序的主要功能是输入10个整数存入数组a,再输入一个整数x,在数oat x33=1.0,2.0,3.0,4.0,5.0,6.0;A. 0.0 B. 4.0 C. 5.0 . 2 B. 1 C. 0 D. 6.0 25. 以下程序运行后,输出结果是 (a )。 main() int a44=1,3,5,2,4,6,3,5,7;printf(+) nj=ni+1;printf(%dn,n1); A%d%d%d%dn,a03,a12,a21,a30);ni=0;k=2;for (i=0;ik;i+)for (j=0;jk;j+A. 0650 B. 1470 C. 5430 D. 输出值不定26. 以下程序运行后,输出结果是(b )。 main( main( ) int n3,i,j,k;for(i=0;i3;i+) int aa44=1,2,3,4,5,6,7,8,3,9,10,2,4,2,9,6;int i,s=0;for(i=0;i4;i+) s+=a22 D. 2315. 以下程序运行后输出结果是(d )。 ai1;printf(“%dn”,s);A. 11 B,k);A. 20 B. 21 C. . 19 C. 13 D. 2027. 有以下程序 main( ) int a33=1,2,3,41);for (i=0;i3;i+) k+=pi*2;printf(%dn,5,6,i,j,s=0;for(i=1;i3;i+)for(j=0;j=i;j+) s+=aij;printf(%dn,s);该程序的输出结果是10;i+) ai=i;for (i=0;i3;i+) pi=ai*(i+(a )。A. 18 B. 19 C. 20n() int i,k,a10,p3;k=5;for (i=0;i D. 2128. 若定义如下变量和数组: int i;int x33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是(c D. 432114. 以下程序运行后,输出结果是(b )。mai)。for(i=0;i3;i+) printf(%d,xi2-i);A. 1 5 9 B. 1 4 7 C. 3 5 7 A. 1234 B. 1324 C. 2413 D. 3 6 9 29. 下述对C语言字符数组的描述中错误的是(c )。 A. +;for(k=0;k4;k+) printf(%d,ak);字符数组可以存放字符串B. 字符数组中的字符串可以整体输入、输出C. 可以在赋值语句中通过赋值运算符=对字符数组整体赋值D. 不可以用关系运算符对字符数组中的字符串进行比较30. ) ak=a1i+;else ak=a2j+下述对C语言字符数组的描述中正确的是 (a )。A. 任何一维数组的名称都是该数组存储单元的开始地址,且其每个元素按照顺序连续占存储空间B. 一维数组的元素在引用时其下标大小没有限制C. ,8,15,i=0,j=0,k;for(k=0;k4;k+)if(a1ia2j任何一个一维数组的元素,可以根据内存的情况按照其先后顺序以连续或非连续的方式占用存储空间D. 一维数组的第一个元素是其下标为1的元素31. 不能把字符串:Hello!赋给数组b的语句是(b )()int a10, a1 =1,3,6,9,10, a2 =2,4,7。 A. char str10= H, e, l, l, o, ! ;B. c D. 1010013. 以下程序运行后,输出结果是(a )。 mainhar str10;str=Hello!;C. char str10;strcpy(str,Hello!);D. char str10=Hello!;32. 合法的A. 10000 B. 10010 C. 00110 数组定义是(d )。A. int a=string; B. int a5=0,1,2,3,4,5;C. int s=string;0;j-) printf(%d,aj);printf(n);D. char a=0,1,2,3,4,5;y=y/2; while(y=1);for(j=i-1;j=33. 下列语句中,不正确的是(c )。A. static char a2=1,2; B. static char a2= 1, 2;C. 8;do ai=y%2; i+;static char a2= 1, 2, 3; D. static char a2= 1;34. 若给出以下定义: char x =abcdefg是(b )。 main() int y=18,i=0,j,a;char y =a,b,c,d,e,f,g; 则正确的叙述为(c )。A. C. 1 D. 012. 以下程序运行后,输出结果 数组x和数组y等价 B. 数组x和数组y的长度相同C. 数组x的长度大于数组y的长度 D. 数组x的长度小于数组y的长度3intf(%dn,nk);A. 不确定的值 B. 2 5. 若有数组定义: char array =China; 则数组 array所占的空间为(c )。 A. 4个字节 B. 5个字节 C. 6个字节 0,0,0,i,k=2;for(i=0;ik;i+) ni=ni+1;pr D. 7个字节36. 若有定义和语句: char s10;s=abcd;p11. 以下程序运行后,输出结果是(d )。 main()int n5=rintf(%sn,s);则结果是(以下代表空格)(d )。A. 输出abcd B. 输出a C. 输出abcd D. 编译不通过B. 741 C. 852 D. 36937. 下面程序运行后,输出结果是(c )。 main()char ch7= 65ab21;int i,s=0;for(i=rintf(%d%d%d,a2,a5,a8);A. 258 0;chi= 0&chi= 9;i+=2)s=10*s+chi- 0;print i, a10;for(i=9;i=0;i-) ai=10-i;pintf(%dn,s);A. 12ba56 B. 6521 C. 6 D. 6238. 运行下面的程序,如果从键 D. 1010. 以下程序的输出结果是(c ) main()盘上输入:123空格456空格789回车,输出结果是(d )。 A. 123,456,789 B. 1,456,789A. 不定值 B. 33 C. 30 C. 1,23,456,789 D. 1,23,456main() char s100; int 。 int k=3, s2;s0=k; k=s1*10; c, i;scanf(%c,&c); scanf(%d,&i); D. &a+i9. 执行下面的程序段后,变量k中的值为(a )scanf(%s,s);printf(%c,%d,%sn,c,i,s);39. 运行下面的程序,如果从键盘上输入: ab回车A. a+(i+) B. &ai+1 C. a+i c 回车def回车则输出结果为(c )。A. a t类型变量占用两个字节,其有定义:int x10=0,2,4;,则数组x在内存中所占字节数是(d )。 A. 3 B. 6 C. 10 D. 207. 若有以下说明: C. &bb0+ D. bb+16. 假定in 4 C. 6 D. 1244. 若有以下程序段,输出结果是(a )。 char s =141141abct;plen(str);上面程序片段的输出结果是 (c )。A. 3 B.rintf (%dn,strlen(s);A. 9 B. 12 1,12;char c=a,d,g;则数值为4的表达式是(har str =Beijing;则执行printf(%dn, strlen(strcpy(str,China);后的输出结果为 (a )。 A. 5 C. 13 D. 1445. 设有static c char str =abn012;printf(%d,str B. 7 C. 12 D. 14C. 11 D. 1243. 若有以下程序片段:tf(%dn,strlen(str); A. 6 B. 7 46. 以下程序运行后,输出结果是(b )。 main() char ch3 char str12= s,t,r,i,n,g; prine(strcmp(s1,s2)=0)42. 以下程序的输出结果是(a )。main()5=AAAA,BBB,CC;printf(%sn,ch1 C. while(strcmp(s1,s2)=0) D. whil while(s1=s2) B. while(s1=s2);A. AAAA B. BBB C. BBBCC D. ABC45678941. 判断两个字符串是否相等,正确的表达方式是(c )。A. A. ABC B. ABC9 C. 123456ABC s, 6789 );gets(ss);printf(%sn,ss); D. CC47. 以下程序运行后,输出的结果是(d )。 #incing.hmain() char ss10=12345;strcat(s下面的程序,如果从键盘上输入:ABC时,输出的结果是(a )。 #includestrlude stdio.h#includestring.hmain() ch putchar(ci); printf(n);40. 运行iN;ci=getchar(),i+);for( i=0;iN;i+)ar w 10=ABCD,EFGH,IJKL,MNOP,k;fochar cN;int i=0;for( ;ludestdio.h#define N=6main() r (k=1;k3;k+)printf(%sn,&wkk);A. A c dd def#incefb b cc BCD B. ABCDFGH B. a C. ab D. abcd10,i=0;while(i10) scanf(%d,________ );案填入(a )。 #includestdio.hmain()int a EFGKL D. ad-c8. 以下程序段给数组所有的元素输入数据,请选择正确答d )A. ag-c B. a4 C. ad-c IJMC. EFG int a12=1,2,3,4,5,6,7,8,9,10,1数组元bb1的地址的是(c )。 A. &bb0+1 B. &bb1 D. FGHJK m10=10*2; 5. 若有定义:int bb 8;。则以下表达式中不能代表;C. int m =0; D. int KLO 48. 以下程序运行后,输出结果是(a )。mm10=(0,0,0,0) ; B. int m10= 何类型的表达式4. 以下对一维数组m进行正确初始化的是(c )。 A. int ain() char arr24;strcpy(a是(c )。 A. 整型常量B. 整型表达式C. 整型常量或整型表达式D. 任t an; 3. 在C语言中,引用数组元素时,其数组下标的数据类型允许(%d,&n); int aSIZE;inrr,you); strcpy(arr1,me);arr03 D. #define SIZE 10scanf B. int n=10,an;C.int n; =&;printf(%s n,arr);A. you整型数组a的正确说明是(d )。 A.int a(10); 数组元素的类型必须相同D. 数组的大小是可变的,可以有不同的类型的数组元素2. 以下对一维&me B. you C. me D. er数组元素B. 数组的大小是可变的,但所有数组元素的类型必须相同C. 数组的大小是固定的,所有1. 以下关于数组的描述正确的是(c )。 A. 数组的大小是固定的,但可以有不同的类型的r8第四部分 数组41 选择题第四部分 数 组