选择题: 1若有以下说明和语句,且0<<10,则c是数组元素的错误引用 int all={1,2,3,4,5,6,7,8,9,0},p,i; P-a, a. (a+ b.alp-a c p+ d *(&ai 下面程序的输出是 #include <stdio.h> void main( {inta[10={1,2,3,45,6,7,8,9,10},*p=a; printf("%d",*(p+2);} a.3 b.4 C.1 d.2 C++程序设计课件设计制作:徐龙琴
C++程序设计课件 设计制作:徐龙琴 1 1 若有以下说明和语句,且0<i<10,则 是数组元素的错误引用。 int a[]={1,2,3,4,5,6,7,8,9,0},*p,i; p=a; a.*(a+i) b.a[p-a] c.p+i d.*(&a[i]) 2 下面程序的输出是: #include <stdio.h> void main( ) { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d", *(p+2)); } a. 3 b. 4 c. 1 d. 2 一、选择题: c a
3、若0<<10,则对数组元素地址的正确表示是:d nta={1,2,3,4,5,6,7,8,9,0},p,; p=a, a&(a+1) ba++ p d &pi 4、已知:inta,x=1;则下面正确的赋值语句是:c a.a=(a]+a2)/2; b.a-(a[+a2)/2; C.a=x+2; d. a="good" 5、若:inta={1,2,3,4,5,6},中p=a;执行下面语句p指向5的是:a ap+=3;(p++) bp+=5;p++ Cp+=4;*++p; dp+=4;++p C++程序设计课件设计制作:徐龙琴
C++程序设计课件 设计制作:徐龙琴 2 3、若0<i<10,则对数组元素地址的正确表示是: int a[]={1,2,3,4,5,6,7,8,9,0},*p,i; p=a; a.&(a+1) b.a++ c.*p d.&p[i] 4、已知:int a,x=1;则下面正确的赋值语句是: a. a=(a[1]+a[2])/2; b. a=(a[1]+a[2])/2; c. a=x+2; d. a="good"; 5、若:int a[]={1,2,3,4,5,6}, *p=a;执行下面语句p指向5的是: a.p+=3;*(p++); b.p+=5;*p++ ; c.p+=4;*++p; d.p+=4;++*p; d c a
6、若0<=k<6,则正确表示数组元素地址的语句是:C intx={1,9,10,7,32,4},ptr=x,k=1; ax++ b &ptr c &ptr[k d&(x+1) 7、若有说明: int1,j=7,p;p=&i;则与ij等价的语句是B a=*p; b.p=*&j; ci=&i d=**p; 8、设p1和p2是指向同一个int型一维数组的指针变量,k为int型变 量,则不能正确执行的语句是B ak=*p1+*p2; b p2=k; .pipi dk=*p1*(p2) C++程序设计课件设计制作:徐龙琴 3
C++程序设计课件 设计制作:徐龙琴 3 6、若0<=k<6,则正确表示数组元素地址的语句是: int x[]={1,9,10,7,32,4},*ptr=x,k=1; a.x++ b.&ptr c.&ptr[k] d.&(x+1) 7、若有说明:int i,j=7,*p;p=&i;则与i=j等价的语句是 a.i=*p; b.*p=*&j; c.i=&j d.i=**p; 8、设p1和p2是指向同一个int型一维数组的指针变量,k为int型变 量,则不能正确执行的语句是 a.k=*p1+*p2; b.p2=k; c.p1=p2; d.k=*p1*(*p2); C B B
9、设有以下函数定义,则该函数返回的值是a int* fun(int a) fint*t, n; n=a; t=&n; return t; a一个不可用的存储单元地址值b.一个可用的存储单元地址值 cn中的值 d形参a中的值 10、下面函数的功能是:a int fun(char*x) ichar * y=x; while(xy++)各}: return y-X-1i5 a.求字符串的长度 b.求字符串存放位置 c.比较两个字符串的大小d将字符串x连接到字符串y后面 C++程序设计课件设计制作:徐龙琴
C++程序设计课件 设计制作:徐龙琴 4 9、设有以下函数定义,则该函数返回的值是 int * fun(int a) {int *t,n; n=a;t=&n; return t;} a.一个不可用的存储单元地址值 b.一个可用的存储单元地址值 c.n中的值 d.形参a中的值 10、下面函数的功能是: int fun(char *x) {char *y=x; while(*y++){}; return y-x-1;} a. 求字符串的长度 b. 求字符串存放位置 c. 比较两个字符串的大小 d. 将字符串x连接到字符串y后面 a a
11、用new为int数组分配10个存储空间,下面哪个语句正确B A)int*p=new; B)int *p=new int 101: C) int*p=new intl; D)int*p=new int; 12、指向同一个数组的两个指针,作B运算是没有意义的 A)相减 B相加 C)比较 D)赋值 13、已知指针p的指向下图所示,则表达式*-p的值是:20 0在低地址,a[1在高地址 a[0] [2] [a[4]+ 63 48 29 7+ C++程序设计课件设计制作:徐龙琴
C++程序设计课件 设计制作:徐龙琴 5 11、用new为int数组分配10个存储空间,下面哪个语句正确 A) int *p=new; B) int *p=new int[10]; C) int *p=new int[]; D) int *p=new int; 12、指向同一个数组的两个指针,作 运算是没有意义的。 A)相减 B)相加 C)比较 D)赋值 13、已知指针p的指向下图所示,则表达式*--p的值是: a[0]在低地址,a[1]在高地址 B B 20