吴功宜《计算机网络》c语言指针习题__附答案

吴功宜《计算机网络》c语言指针习题__附答案

ID:41616216

大小:84.05 KB

页数:29页

时间:2019-08-29

吴功宜《计算机网络》c语言指针习题__附答案_第1页
吴功宜《计算机网络》c语言指针习题__附答案_第2页
吴功宜《计算机网络》c语言指针习题__附答案_第3页
吴功宜《计算机网络》c语言指针习题__附答案_第4页
吴功宜《计算机网络》c语言指针习题__附答案_第5页
资源描述:

《吴功宜《计算机网络》c语言指针习题__附答案》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、选择题1.变量的指针,其含义是指该变量的a)值b)地址c)名d)—个标志2.若有语句int*point,a二4;和point=&a;下面均代表地址的一组选项是a)a,point,*&ab)&*a,&appointc)*&point,^point,&ad)&a,&*point,point3.若有说明;int*p,m=5,n;以下正确的程序段的是a)p二&n;scanf(n%dn,&p);c)scanf(n%d",&n);*p=n;b)p二&n;scanf(”%cT,*p);d)p=&n;*p=m;4.以下程序中调用scnnf函数给变量a输入数值的方法是错误的,其错

2、误原因是・main(){int*p,*q,a,b;p=&a;printfC'inputa:");scanf(“%d",*p);}a)*p表示的是指针变量p的地址b)*p表示的是变量a的值,而不是变量a的地址c)*p表示的是指针变量p的值d)*p只能用来说明p是一个指针变量2.已有变量定义和函数调用语句:inta=25;print_value(&a);下而函数的止确输出结果是・voidprint_value(int*x){printf(“%d",++*x);}a)23b)24c)25d)266•若有说明:long*p,a;则不能通过scanf语句正确给输入项读

3、入数据的程序段是A)*p=&a;scanf(H%ldH,p);B)p=(long*)malloc(8);scanf(n%ldn,p);C)scanf(n%ldn,p=&a);D)scanf(n%ld&a);7•有以下程序#includemain(){intm=l,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf("%d,%d,%d,%drT,m,n,*p,*q);}程序运行后的输出结果是A)1,2,1,2B)1,2,2,1C)2,1,2,1D)2,1,1,28.有以下程序main(){inta=l,b=3,c=5;

4、int*pl=&a,*p2二&b,*p=&c;*p=*pl*(*p2);printf(n%dn,c);执行后的输出结果是A)1B)2C)3D)48.有以下程序main(){inta,k=4,m=4,*pl=&k,*p2二&m;a=pl==&m;printf(H%dn,a);}程序运行后的输岀结果是(C)A)4B)1C)0D)运行时出错,无定值a=p1==&m;等价于a=(p1==&m);//先判断p1与&m是否相等,将判断结杲赋给a。因为p1指向k,即p1的值为k的地址,因与m的地址不相同,因此p1==&m的结果为假,在C中,假用0表示。10•在16位编

5、译系统上,若有定义inta[]={10,20,30},*p=&a;,当执行p++;后,下列说法错误的是()A)p向高地址移了一个字节B)p向高地址移了一个存储单元C)p向高地址移了两个7节D)p与a+l等价11•有以下程序段inta[10]={l,2,3,4,5,6,7,&9,10},*p=&a[3],b;b=p⑸;b中的值是(D)A)5B)6C)8D)99p指向a[3],即40p[5]=*(P+5).对应关系P4p+1512•若有以下定义,则对a数组元素的正确引用是.inta[5],*p=a;a)*&a[5]b)a+2c)*(p+5)d)*(a+2)13•若有

6、以下定义,贝I」p+5表示・inta[10],*p二a;a)元素a[5]的地址b)元素a[5]的值c)元素a[6]的地址d)元素a[6]的值14•设已有定义:inta[10]二{15,12,7,31,47,20,16,28,13,19},*p;下列语句中正确的是()A)for(p=a;a<(p+10);a++);B)for(p二a;pv(a+10);p++);C)for(p=a,a=a+10;pva;p++);D)for(p=a;aintmain(){intx[]={10,20,30};i

7、nt*px=x;\指向元素首地址printf(n%d,H,++*px);\*px=10,++*px,用之前加1,所以输出11printf(H%d/*px);\还是11px=x;\又是令其为首地址,*px=l1;printf(n%d/(*px)++);\先输出11,然后加1printf(n%d/*px);\输出]2px=x;\这个代码无非就是蛊惑你的。没什么用printf(n%d;*px++);\还是12,用后加1printf(n%d;*px);\输岀13px=x;printf(n%d,,*++px);\注意,先px++,所以指向x

8、【1】,输出20prin

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。