资源描述:
《二维数组与指针.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、选择题(1)有以下程序main(){ int a[3][3],*p,i; p=&a[0][0]; for(i=0;i<9;i++) p[i]=i; for(i=0;i<3;i++) printf("%d",a[1][i]);}程序运行后的输出结果是 A)012 B)123 C)234 D)345(2)有以下程序main(){ int a[3][2]={0},(*ptr)[2],i,j; for(i=0;i<2;i++) {
2、 ptr=a+i; scanf("%d",ptr); ptr++; } for(i=0;i<3;i++) { for(j=0;j<2;j++) printf("%2d",a[i][j]); printf(""); }}若运行时输入:1 2 3<回车>,则输出结果为 A)产生错误信息 B)10 20 00 C)12 30 00 D)1
3、0 20 30(3)有以下程序main(){ int num[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j; for(i=0;i<4;i++) { for(j=1;j<=i;j++) printf("%c",''); for(j= j<4;j++) printf("%4d",num[i][j]); printf(""); }}若要按以下形式输出数组
4、右上半三角1 2 3 4 6 7 8 1112 16则在程序下划线处应填入的是 A)i-1 B)i C)i+1 D)4-i(4)以下能正确定义二维数组的是 A)inta[][3]; B)inta[][3]={2*3}; C)inta[][3]={}; D)inta[2][3]={{1},{2},{3,4}};(5)若有以下说明和语句,intc[4][5],(*p)[5];p=c;能正确引用c数组元
5、素的是 A)p+1 B)*(p+3) C)*(p+1)+3 D)*(p[0]+2))(6)有以下定义和语句inta[3][2]={1,2,3,4,5,6,},*p[3];p[0]=a[1];则*p[0]+1)所代表的数组元素是 A)a[0][1] B)a[1][0] C)a[1][1] D)a[1][2](7)有以下程序intf(intb[][4]){inti,j,s=0; for(j=0;j<4;j++) { i=j; if(i>2) i=
6、3-j; s+=b[i][j]; }returns;}main(){inta[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};printf(“%d”,f(A));}执行后的输出结果是 A)12 B)11 C)18 D)16(8)以下不能正确定义二维数组的选项是 A)int a[2][2]={{1},{2}}; B)int a[][2]={1,2,3,4}; C)int a[2][2]={{1},
7、2,3}; D)int a[2][]={{1,2},{3,4}};(9)若有定义:int *p[3];,则以下叙述中正确的是 A)定义了一个基类型为int的指针变量p,该变量具有三个指针 B)定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针 C)定义了一个名为*p的整型数组,该数组含有三个int类型元素 D)定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素(10)有以下程序main(){ int a[3][3],*p,i;p
8、=&a[0][0];for(i=0;i<9;i++)p[i]=i+1;printf("%d",a[1][2]);}程序运行后的输出结果是 A)3 B)6 C)9 D)2(11)以下能正确定义数组并正确赋初值的语句是 A)int N=5,b[N][N]; B)int a[1][2]={{1},{3}}; C)int c[2][]={{1,2},{3,4}}; D)int d[3][2]={{1,2},{3