选择题: 1若有以下说明和语句,且0 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 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
下列程序有无错误: I #include int fun(int); int fun(int) void maino i int i=12 int(fp(int); fp= fun; cout<<Funl: <<(fp)(i<<endl fp=fun cout<<"Fun2: <<(fp(i<<endl int fun(int k) {k=k*2+1: return k; int fun(int m) {m=m/2+1 return m; 9 C++程序设计课件设计制作:徐龙琴
C++程序设计课件 设计制作:徐龙琴 6 二 下列程序有无错误: 1、#include int fun1(int); int fun2(int); void main() { int i=12; int (*fp)(); fp = fun1; cout<<"Fun1:"<<(*fp)(i)<<endl; fp = fun2; cout<<"Fun2:"<<(*fp)(i)<<endl;} int fun1(int k) { k = k*2+1; return k;} int fun2(int m) { m = m/2+1; return m;} int (*fp)(int);
2 #include void maino i int i,*p i=10 p=&i; cout<<*p; C++程序设计课件设计制作:徐龙琴 7
C++程序设计课件 设计制作:徐龙琴 7 2、 #include void main() { int i, *p; i = 10; *p = i; cout<<*p; } p = &i;
3、分别指出下面的p各是什么。 int*p; /p为指针变量 int*pn;作p为指针数组 int(嶂p)m;/p为指向数组的指针变量 int*p();/为返回指针型的函数 int(p)();/p为函数指针 int*p; /p为指向指针的指针变量 C++程序设计课件设计制作:徐龙琴 8
C++程序设计课件 设计制作:徐龙琴 8 3、分别指出下面的p各是什么。 int *p; int *p[n]; int (*p)[n]; int *p( ); int (*p) ( ); int **p; //p 为指针变量 //p 为指针数组 //p 为指向数组的指针变量 //p 为返回指针型的函数 //p 为函数指针 //p 为指向指针的指针变量
4指出下列程序的错误。 #include void exchange(int&, int&); void maino (cout>a>>b cout<< Before Exchange: a=w<<a<<b="<<b<<endl exchange(a, b) cout<<After Exchange: a=<<a<<,b=<<b<<endl void exchange(int &x, int &y) Rint t; t-x;x-y;y=t 9
C++程序设计课件 设计制作:徐龙琴 9 4 指出下列程序的错误。 #include void exchange(int,int); void main() {cout>a>>b; cout void exchange(int*,int*); void main() {cout>a>>b; cout void exchange(int&,int&); void main() {cout>a>>b; cout<<"Before Exchange:a="<<a<<",b="<<b<<endl; exchange(a,b); cout<<"After Exchange:a="<<a<<",b="<<b<<endl; } void exchange(int &x,int &y) {int t; t=x;x=y;y=t; }
读程题: 1. #include<stdio. he void main i int*v, b: v=&b;b=100;xv+=b; printf("%od\n",b); 运行结果为: 200 C++程序设计课件设计制作:徐龙琴 10
C++程序设计课件 设计制作:徐龙琴 10 三 读程题: 1. #include void main() { int *v,b; v=&b; b=100; *v+=b; printf("%d\n",b); } 运行结果为: 200