"C语言指针习题详解" 本文档将详细解释C语言指针习题,涵盖了指针的基本概念、指针的声明和使用、指针和数组的关系、指针和函数的关系等方面。 一、指针的基本概念 1. 变量的指针,其含义是指该变量的地址。 解析:变量的指针是指向该变量的内存地址的指针。 2. 若有语句 `int *point,a=4;` 和 `point=&a;`,下面均代表地址的一组选项是 `a) point, *point, &a`。 解析:`point` 是一个指针变量,它指向变量 `a` 的地址,`*point` 是指针变量 `point` 所指向的值,即变量 `a` 的值,而 `&a` 是变量 `a` 的地址。 三、指针和数组的关系 6. 若有说明:`long *p,a;` 则不能通过 `scanf` 语句正确给输入项读入数据的程序段是 `C) scanf("%ld",&p=&a);`。 解析:`scanf` 语句需要将输入的值存储到变量中,而 `p` 是一个指针变量,不能直接将输入的值存储到指针变量中,需要将输入的值存储到变量 `a` 中,然后将变量 `a` 的地址赋给指针变量 `p`。 8. 有以下程序 `main(){ int m=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r; printf("%d,%d,%d,%d\n",m,n,*p,*q);}`程序运行后的输出结果是 `A)1,2,2,1`。 解析:在这个程序中,指针变量 `p`、`q` 和 `r` 之间的赋值操作,会导致指针变量的值被修改,从而影响到输出结果。 十一、指针和函数的关系 10. 在 16 位编译系统上,若有定义 `int a[]={10,20,30}, *p=&a;`,当执行 `p++;` 后,下列说法错误的是 `A)p 向高地址移了一个字节`。 解析:在 16 位编译系统上,指针变量 `p` 的增量操作 `p++` 会使得指针变量 `p` 向高地址移了一个存储单元,而不是一个字节。 十三、指针数组的应用 13. 若有以下定义:`int a[10],*p=a;`,则 `p+5` 表示元素 `a[5]` 的地址。 解析:在这个定义中,指针变量 `p` 指向数组 `a` 的首元素,`p+5` 将指针变量 `p` 移动到数组 `a` 的第 5 个元素的地址处。 十四、指针数组的遍历 14. 设已有定义:`int a[10]={15,12,7,31,47,20,16,28,13,19},*p;`,下列语句中正确的是 `C) for(p=a;p<(a+10);p++);`。 解析:在这个定义中,指针变量 `p` 指向数组 `a` 的首元素,使用 `for` 循环遍历数组 `a` 的所有元素,并且使用指针变量 `p` 来访问数组 `a` 的每个元素。



剩余12页未读,继续阅读






















- 粉丝: 878
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 数控编程与加工操作说课稿.ppt
- 交通目标检测识别,包含:行人、人骑车、机动车
- 数据结构精品课网站的方案设计书与实现大学本科方案设计书.doc
- 森林防火信息化建设与新技术应用实践探析.docx
- 《计算机网络与多媒体》教学模式创新研究.docx
- JSP网上商城后台管理系统设计文献综述.doc
- 试析我国互联网金融存在的风险及监管方案.docx
- 大数据助推社会发展.docx
- 美国欧盟本对儿童服装上绳带小部件安全项目管理的基本要求.doc
- 基于嵌入式教学模式的景观与园林设计课程改革.docx
- Flet框架实现的带柱子颜色变化带悬停交互效果的条形图自定义模板
- 大数据时代公民数据隐私困境及破解之道.docx
- 医疗器械软件研究分析模板.docx
- 二《C程序设计》dfgfg.doc
- 计算机自动视野计的临床应用.ppt
- 大数据时代的医院人事档案管理.docx



评论0