版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、指针练习题1对于基类型相同的两个指针变量,不能进行的运算是_。A) B)= C)+ D)-正确答案:C(知识点:指针变量的运算)试题分析:基类型相同的两个指针变量可以进行比较、赋值及相减运算。2若有说明int n=2,*p=&n,*q=p;,则以下非法的赋值语句为_。A)p=q B)*p=*q C)n=*q D)p=n正确答案:D(知识点:指针与指针变量的概念、指针变量的运算)试题分析:赋值运算必须遵循类型相同或类型兼容原则。 3以下程序的输出结果是_。main() char p=abcdefgh,r; long *q; q=(long*)p; q+; r=(char*)q; printf(%
2、sn,r);正确答案:efgh(知识点:指针变量的概念、用指针处理字符串)4设有以下程序:main() int a,b,k=4,m=6,*p1=&k,*p2=&m; a=p1= =&m; b=(*p1)/(*p2)+7; printf(a=%dn,a); printf(b=%dn,b);执行该程序后,a的值为_,b的值为_。正确答案:0 7(知识点:指针与指针变量的概念、指针变量的运算)试题分析:a的值是两个指针值p1与&m进行比较运算=的结果,p1的值为&k,不等于&m,a的值为0;b的值为(*p1)/(*p2)+7,即k/m+7,为7。5若有以下定义和语句double r=99,*p=&r
3、;*p=r;则以下正确的叙述是_。A)以上两处的*p含义相同,都说明给指针变量p赋值B)在“double r=99,*p=&r; ”中,把r的地址赋值给p所指向的存储单元C)语句“*p=r;”把变量r的值赋给指针变量pD)语句“*p=r;”把变量r的值放回r 中正确答案:D(知识点:指针与指针变量的概念)6有以下程序:main() int a33,*p,i; p=&a00; for(i=0;i9;i+) pi=i+1; printf(%dn,a12);程序运行后的输出结果是_。正确答案:6(知识点:二维数组元素的地址、指向二维数组元素的指针变量 7下列程序的输出结果是_。main() char
4、 a10=9,8,7,6,5,4,3,2,1,0,*p=a+5; printf(%dn,*-p);正确答案:5(知识点:一维数组的地址、指向一维数组的指针变量)8有以下程序:main() int a3=1,2,3,4,5,0,(*pa)3,i; pa=a; for(i=0;i3;i+) if(i2) pa1i=pa1i-1; else pa1i=1; printf(%dn,a01+a11+a12);执行后输出结果是_。正确答案:7(知识点:二维数组的地址、指向二维数组的指针变量、数组指针)试题分析:程序中定义了一个数组指针pa指向二维数组a,paij即为aij。 9以下程序通过函数指针p调用函
5、数fun,请在填空栏内写出定义变量p的语句。void fun(int *x, int *y)main() int a=10,b=20; _; p=fun; p(&a,&b); .正确答案:void (*p)()(知识点:函数指针)试题分析:函数指针的定义形式如下:类型标识符 (*标识符)( );10有以下程序段:main() int a=5,*b,*c; c=&b;b=&a;程序执行c=&b;b=&a;语句后,表达式*c的值是_。正确答案:变量a的值(知识点:指向指针的指针)试题分析:程序中定义了指向指针的指针变量c来指向指针变量b,指针变量b再指向整型变量a,*c是取其指向存储单元所指向的存
6、储单元的值,即变量a的值。11假定下列程序的可执行文件名为prg.exe, 则在该程序所在的子目录下输入命令行:prg hello good后,程序的输出结果是_。main(int argc,char *argv) int i; if(argc=0) return ; for(i=1;iargc;i+) printf(%c,*argvi);正确答案:hg(知识点:命令行参数、指针数组)12不合法的main函数命令行参数形式是_。A)main(int a ,char *c )B)main(int arc ,char *arc)C)main(int argc ,char *argv)D)main(
7、int argv ,char *argc )正确答案:C(知识点:命令行参数)(1) 有以下程序void f( int y,int *x)y=y+*x; *x=*x+y;main( ) int x=2,y=4; f(y,&x); printf(“%d %dn”,x,y);执行后输出的结果是【1】 。 (2) 下面程序的运行结果是: 2 。void swap(int *a,int *b) int *t;t=a; a=b; b=t;main() int x=3,y=5,*p=&x,*q=&y;swap(p,q);printf(“%d%dn”,*p,*q); (3) 设有以下程序:main() in
8、t a, b, k=4, m=6, *p1=&k, *p2=&m;a=pl=&m;b=(*p1)(*p2)+7;printf(“a=%dn”,a);printf(“b=%dn”,b);执行该程序后,a的值为【3】 ,b的值为【4】 。 (4) 下列程序的输出结果是 【5】 。void fun(int *n) while( (*n)-); printf(“%d”,+(*n);main() int a=100; fun(&a);(5) 以下函数用来求出两整数之和,并通过形参将结果传回,请填空。void func(int x,int y, 6 z) *z=x+y; (6) 函数 void fun(f
9、loat *sn, int n)的功能是:根据以下公式计算S,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。请填空。 void fun( float *sn, int n) float s=0.0, w, f=-1.0; int i=0; for(i=0; i=n; i+) f= 7 * f; w=f/(2*i+1); s+=w; 8 =s; (7) 以下函数的功能是,把两个整数指针所指的存储单元中的内容进行交换。请填空。 exchange(int *x, int *y) int t; t=*y; *y= 【9】 ; *x= 【10】 ; (8) 下面函数要求用来求出两个整数之和,并
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学三年级数学两位数乘两位数笔算过关自测口算题大全附答案
- 2024年03月江苏省扬州经济技术开发区事业单位2024年公开招聘卫生专业技术人员笔试参考题库附带答案详解
- 2024年03月广东碧桂园职业学院2024年退休教师招聘笔试参考题库附带答案详解
- 2024年03月安徽省铜陵市市直事业单位2024年度公开招聘102名工作人员51255笔试参考题库附带答案详解
- 2024年03月四川省泸州市龙马潭区2024年上半年事业单位公开考试招考23名工作人员笔试参考题库附带答案详解
- 2024年03月北京市门头沟区卫生健康系统事业单位2024年上半年公开招聘专业技术人员笔试参考题库附带答案详解
- 2024年02月陕西省渭南市事业单位2024年公开招聘(募)1234名工作人员笔试参考题库附带答案详解
- 2024年02月重庆市丰都县事业单位2024年第一季度公开招聘42名工作人员15笔试参考题库附带答案详解
- 2024年02月舟山市定海区融媒体中心2024年上半年公开招考4名编外用工人员笔试参考题库后附答案详解
- 2024年02月湖北省松滋市事业单位2024年统一公开招聘145名工作人员551笔试参考题库后附答案详解
- 陕中医大西医外科学教案20腹外疝
- 云南省03定额计价规则
- 2023年长江生态环保集团有限公司招聘笔试题库及答案解析
- 一模质量分析会
- 专精特新中小企业的培育知识课件PPT
- Group310、550版本终端培训v5.1.2课件
- 北京交通大学《概率论与数理统计》课程离线作业1
- 威廉立博赔率特点对比经验
- 10kV电缆横穿公路顶管施工方案
- 路基路面压实质量检测方法(ppt)
- 220kV城口输变电线路工程工程初步勘察报告
评论
0/150
提交评论