《2022年C语言数组练习及答案.pdf》由会员分享,可在线阅读,更多相关《2022年C语言数组练习及答案.pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第四部分数组41 选择题1. 以下关于数组的描述正确的是(c )。A. 数组的大小是固定的,但可以有不同的类型的数组元素B. 数组的大小是可变的,但所有数组元素的类型必须相同C. 数组的大小是固定的,所有数组元素的类型必须相同D. 数组的大小是可变的,可以有不同的类型的数组元素2. 以下对一维整型数组a 的正确说明是 (d )。 a(10); B. int n=10,an; n; D. #define SIZE 10 scanf(%d,&n); int aSIZE; int an; 3. 在 C语言中,引用数组元素时,其数组下标的数据类型允许是(c ) 。A. 整型常量B. 整型表达式C. 整
2、型常量或整型表达式D. 任何类型的表达式4. 以下对一维数组m进行正确初始化的是(c )。A. int m10=(0,0,0,0) ; B. int m10= ;C. int m =0; D. int m10=10*2; 5. 若有定义: int bb 8; 。则以下表达式中不能代表数组元bb1 的地址的是 (c ) 。A. &bb0+1 B. &bb1 C. &bb0+ D. bb+16. 假定 int类型变量占用两个字节,其有定义:int x10=0,2,4;,则数组 x 在内存中所占字节数是(d ) 。A. 3 B. 6 C. 10 D. 207. 若有以下说明: int a12=1,2
3、,3,4,5,6,7,8,9,10,11,12; char c=a,d,g;则数值为4 的表达式是 (d )A. ag-c B. a4 C. ad-c D. ad-c8. 以下程序段给数组所有的元素输入数据,请选择正确答案填入(a ) 。#includemain() int a10,i=0;while(i=0;i-) ai=10-i;printf(%d%d%d,a2,a5,a8);A. 258 B. 741 C. 852 D. 36911. 以下程序运行后, 输出结果是 (d ) 。main() int n5=0,0,0,i,k=2;for(i=0;i=1); for(j=i-1;j=0;j-
4、) printf(%d,aj); printf(n);A. 10000 B. 10010 C. 00110 D. 1010013. 以下程序运行后,输出结果是(a ) 。main()int a10, a1 =1,3,6,9,10, a2 =2,4,7,8,15,i=0,j=0,k;for(k=0;k4;k+)if(a1ia2j) ak=a1i+;else ak=a2j+; for(k=0;k4;k+) printf(%d,ak); A. 1234 B. 1324 C. 2413 D. 432114. 以下程序运行后,输出结果是(b ) 。main()精品资料 - - - 欢迎下载 - - -
5、- - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 8 页 - - - - - - - - - - int i,k,a10,p3;k=5;for (i=0;i10;i+) ai=i;for (i=0;i3;i+) pi=ai*(i+1);for (i=0;i3;i+) k+=pi*2;printf(%dn,k);A. 20 B. 21 C. 22 D. 2315. 以下程序运行后输出结果是(d ) 。 main( ) int n3,i,j,k;for(i=0;i3;i+) ni=0;k=2;for (i=0;ik;i+)for (j=0;j
6、k;j+) nj=ni+1;printf(%dn,n1); A. 2 B. 1 C. 0 D. 316. 下列程序的主要功能是输入10 个整数存入数组a, 再输入一个整数x, 在数组 a 中查找 x。找到则输出x 在 10 个整数中的序号(从1 开始) ;找不到则输出0。程序缺少的是 (b )。main()int i,a10,x,flag=0;for(i=0;i10;i+) scanf(%d,&ai);scanf(%d,&x);for(i=0;i2!1 D. a2018. 若有定义: int b34=0;则下述正确的是(b ) 。A. 此定义语句不正确B. 没有元素可得初值0C. 数组 b 中
7、各元素均为0D. 数组 b 中各元素可得初值但值不一定为019. 若有以下数组定义,其中不正确的是(d ) 。A. int a23;B int b3=0,1,2,3;C. int c100100=0;D. int d3=1,2,1,2,3,1,2,3,4;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 8 页 - - - - - - - - - - 20. 若有以下的定义:int t54;能正确引用t 数组的表达式是(c )。A. t24 B. t50 C. t00 D. t0,021. 在定
8、义 int m 3=1,2,3,4, 5,6;后, m10的值是 (a )。A. 4 B. 1 C. 2 D. 522. 在定义 int n56后第 10 个元素是 (c ) 。A. n25 B. n24 C. n13 D. n1423. 若二维数组c 有 m列,则计算任一元素cij在数组中的位置的公式为(d )。(假设 c00位于数组的第一个位置)A. i*m+j B. j*m+i C. i*m+j-1 D. i*m+j+124. 若有以下定义语句,则表达式“x11*x22”的值是 (a ) 。float x33=,;A. 0.0 B. 4.0 C. D. 25. 以下程序运行后,输出结果是
9、 (a )。main() int a44=1,3,5,2,4,6,3,5,7;printf(%d%d%d%dn,a03,a12,a21,a30);A. 0650 B. 1470 C. 5430 D. 输出值不定26. 以下程序运行后,输出结果是(b ) 。main() 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+=aai1;printf(“%d n”,s);A. 11 B. 19 C. 13 D. 2027. 有以下程序main( ) int a33=1,2,3,4,5,6,i,j,s=0;for(i
10、=1;i3;i+)for(j=0;j=i;j+) s+=aij;printf(%dn,s);该程序的输出结果是(a ) 。A. 18 B. 19 C. 20 D. 2128. 若定义如下变量和数组: int i;int x33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是(c )。for(i=0;i= 0&chi= 9;i+=2)s=10*s+chi- 0;printf(%dn,s);A. 12ba56 B. 6521 C. 6 D. 62精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5
11、页,共 8 页 - - - - - - - - - - 38. 运行下面的程序, 如果从键盘上输入:123456789, 输出结果是 (d ) 。A. 123,456,789 B. 1,456,789C. 1,23,456,789 D. 1,23,456 main() char s100; int c, i; scanf(%c,&c); scanf(%d,&i); scanf(%s,s); printf(%c,%d,%sn,c,i,s); 39. 运行下面的程序, 如果从键盘上输入: ab c def则输出结果为(c )。A. a B. a C. ab D. abcdefb b cc c dd
12、 def#include #define N=6 main() char cN; int i=0; for( ;iN;ci=getchar(),i+); for( i=0;iN;i+) putchar(ci); printf(n); 40. 运行下面的程序, 如果从键盘上输入:ABC时,输出的结果是(a ) 。#includemain() char ss10=12345;strcat(ss, 6789 );gets(ss);printf(%sn,ss); A. ABC B. ABC9 C. 123456ABC D. ABC45678941. 判断两个字符串是否相等,正确的表达方式是(c )。A
13、. while(s1=s2) B. while(s1=s2) C. while(strcmp(s1,s2)=0) D. while(strcmp(s1,s2)=0)42. 以下程序的输出结果是(a ) 。main() 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 8 页 - - - - - - - - - - char str12= s,t,r,i,n,g; printf(%dn,strlen(str); A. 6 B. 7 C. 11 D. 1243. 若有以下程序片段: char str
14、 =abn012;printf(%d,strlen(str);上面程序片段的输出结果是 (c )。A. 3 B. 4 C. 6 D. 1244. 若有以下程序段, 输出结果是 (a ) 。char s =141141abct;printf (%dn,strlen(s);A. 9 B. 12 C. 13 D. 1445. 设有 static char str =Beijing;则执行 printf(%dn, strlen(strcpy(str,China);后的输出结果为 (a )。A. 5 B. 7 C. 12 D. 1446. 以下程序运行后,输出结果是(b ) 。main() char c
15、h35=AAAA,BBB,CC;printf(%sn,ch1);A. AAAA B. BBB C. BBBCC D. CC47. 以下程序运行后,输出的结果是(d ) 。#include #includemain() char w 10=ABCD,EFGH,IJKL,MNOP,k; for (k=1;k3;k+)printf(%sn,&wkk);A. ABCD B. ABCDFGH EFGKL IJMC. EFG D. FGHJK KLO 48. 以下程序运行后,输出结果是(a ) 。 main() char arr24; strcpy(arr,you); strcpy(arr1,me);精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 8 页 - - - - - - - - - - arr03=&; printf(%s n,arr); A. you&me B. you C. me D. err精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 8 页 - - - - - - - - - -