您好,欢迎来到飒榕旅游知识分享网。
搜索
您的当前位置:首页(完整word版)指针综合练习题(带答案).

(完整word版)指针综合练习题(带答案).

来源:飒榕旅游知识分享网
(完整word版)指针综合练习题(带答案).

指针综合练习题

一、选择题

1.若有以下定义,则对a数组元素的正确引用是____d_____. int a[5],*p=a;

a)*&a[5] b)a+2 c)*(p+5) d)*(a+2)

2.若有定义:int a[2][3],则对a数组的第i行j列元素地址的正确引用为__d____. a)*(a[i]+j) b)(a+i) c)*(a+j) d)a[i]+j

3.若有以下定义,则p+5表示___a____。 int a[10],*p=a;

a)元素a[5]的地址 b)元素a[5]的值 c)元素a[6]的地址 d)元素a[6]的值

4.设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确 执行的赋值语句是____b____。

a)c=*p1+*p2; b)p2=c c)p1=p2 d)c=*p1*(*p2);

5.若有说明语句

char a[]=\"It is mine\"; char *p=”It is mine\";

则以下不正确的叙述是___d_____. a)a+1表示的是字符t的地址

b)p指向另外的字符串时,字符串的长度不受限制 c)p变量中存放的地址值可以改变 d)a中只能存放10个字符

二、填空题

1 指针变量保存了另一变量的 (1)值,不可以任意给指针变量赋一个地址值,只能赋给它 (2) 和 (3) 的

地址。使用变量名来访问变量,是按 (4) 来直接存取变量称为 (5) 方式;而借助指针变量取得另一变量的地址,访问该变量称为 (6) 方式。

答案:(1)地址

(2)NULL

(3)已经分配了内存的变量的地址 (4)按变量的地址 (5)直接访问 (6)间接访问

2 以下程序的功能是:通过指针操作,找出三个整数中的最小值并输出。 请填空。

void main()

{int *a,*b,*c,num,x,y,z; a=&x;b=&y;c=&z;

cou<〈”输入3个整数:\"; cin>>a〉〉b>〉c;

cout<〈*a<〈*b〈<*c; num=*a;

if(*a>*b) __num=*b____;

(完整word版)指针综合练习题(带答案).

if(num>*c) _num=*c_____; cout〈<\"输出最小整数:\"<〈num〈〈endl; }

3 下面程序段的运行结果是___ef_____.

char str[]=\"abc\\0def\\0ghi”,*p=str; cout<〈p+5; 4若有定义:int a[]={2,4,6,8,10,12},*p=a;则*(p+1)的值是__4____. *(a+5)的值是___12______. 5若有以下定义:int a[2][3]={2,4,6,8,10,12};则a[1][0]的值是__8___. *(*(a+1)+0))的值是____8____。

6以下程序将数组a中的数据按逆序存放,请填空。 #define M 8 //定义宏M代表了8 void main() {int a[M],i,j,t; for(i=0;i〈M;i++)

cin>〉a[i]; i=0;j=M—1; while(i〈j) {

t=*(a+i);_*(a+i)=*(a+j)_______;*(_a+j______)=t; i++;j-—; }

for(i=0;icout<〈*(a+i); }

三、简答题

1 指针变量与整型量的加减运算代表什么意义?

答:指针变量与整型量的加减表示移动指针,以指向当前目标前面或后面的若干个位置的目标.指针与整型量i的加减等于指针值(地址)与i*sizeof(目标类型)积的加减,得出新的地址.

2 设a为数组名,那么a++是否合法?为什么? 答:非法.因为a是指针常量。

3 有如下定义:

int ival=60021; int *ip; double *dp;

下面哪些赋值非法或可能带来错误,并加以讨论。

ival=*ip; ival=ip; *ip=ival; ip=ival; *ip=&ival; ip=&ival; dp=ip; dp=*ip; *dp=*ip;

解:ival=*ip; 错,未确定指针ip初值,用随机内存地址中的数据给ival赋值是危险的。但语法对。

ival=ip; 错,赋值类型错,指针型不能赋给整型.

*ip=ival; 错,未确定指针ip初值,用ival给随机内存赋值是危险的.但语法对。 ip=ival; 错,赋值类型错,整型不能赋给指针型。

*ip=&ival; 错,赋值类型错,地址(指针型)不能赋给整型。 ip=&ival; 对,地址赋给指针型。

dp=ip; 错,整型指针不能赋给双精度指针。

dp=*ip; 错,赋值类型错,整型不能赋给指针型。 *dp=*ip; 对,赋值类型转换

(完整word版)指针综合练习题(带答案).

四、编程题

要求用指针的方法完成:输入一串英文文字,统计其中字母(不区分大小写)的数目。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sarr.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务