Visual C++第4版习题答案详解:指针与引用实战
需积分: 9 143 浏览量
更新于2024-07-22
收藏 154KB DOC 举报
本资源是一份针对Visual C++编程语言的实用教程第四版,作者是郑阿奇。该教程提供了一组详尽的习题及其参考答案,旨在帮助读者深入理解和掌握C++语言中的关键概念。以下是部分习题及解答,涵盖了指针、引用、数组、动态内存分配以及函数参数传递等核心知识点:
1. **指针和引用**:
- 题目要求计算表达式 `*pd * b`、`++(*pd) - b`、`*pd++` 和 `++(*pd)` 的值。其中 `pd` 是 `d` 的地址,`b` 是一个整数。根据C++运算规则,这些表达式分别计算为:`5 * 3 = 15`、`(5+1) - 3 = 3`、`5`(因为先自增再取值)和`6`(先自增`*pd`为6,然后取值)。答案依次是15, 3, 5, 6。
2. **数组和指针声明**:
- (1) 选择正确的数组声明是 `intN[4,9]`,因为它允许二维数组的创建。
- (2) `*p` 表示 `p` 指向的 `a` 变量的值,因此它的值是变量 `a` 的值,即 `100`。
- (3) 程序输出 `*(p++)` 会先取 `a[0]`(2),然后 `p` 自增到 `a[1]`(4),输出 2,`**q` 直接取 `p` 指向的元素,即 `a[0]`,输出 2。答案是 B(2,2)。
- (4) 计算 `x` 的值时,先取 `a[0][0]`(1),然后加2得到 `a[0][2]`(3),再次加4得到 `a[0][4]`(7),所以 `x` 为 15。
3. **引用与数组操作**:
- (5) 对于动态分配的二维数组 `int(*q)[3]`,引用 `*(*q+2)` 指向的是 `q` 指向的二维数组的第三个元素,因为索引从0开始。
- (6) 动态分配单个 `float` 类型的内存,用 `new float`,在声明指针时应明确类型,即 `float *p;`。
- (7) 正确的引用声明是 `int&x=m`,因为引用必须初始化为某个变量。
4. **函数与指针应用**:
- (57) 函数 `fun` 返回数组 `s` 中的元素引用,调用 `fun(3,s)=10` 实际上修改了 `s[3]` 的值,所以 `fun(3,s)` 输出 10。
- (58) 设计一个交换两个整数的函数,可以使用指针间接访问参数值,如:`void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; }`
- (59) 编写函数 `fun` 接收数组地址、数组长度和一个整数,用于交换指定位置的元素,具体实现依赖于实际需求。
通过解答这些习题,读者将加深对C++中指针、引用、数组操作、动态内存管理以及函数参数传递的理解,有助于提高编程技能。
2018-12-11 上传
2023-03-04 上传
2023-03-04 上传
2016-01-31 上传
2012-08-14 上传
164 浏览量
点击了解资源详情
2013-07-14 上传
sll82612114
- 粉丝: 2
- 资源: 2
最新资源
- 天池大数据比赛:伪造人脸图像检测技术
- ADS1118数据手册中英文版合集
- Laravel 4/5包增强Eloquent模型本地化功能
- UCOSII 2.91版成功移植至STM8L平台
- 蓝色细线风格的PPT鱼骨图设计
- 基于Python的抖音舆情数据可视化分析系统
- C语言双人版游戏设计:别踩白块儿
- 创新色彩搭配的PPT鱼骨图设计展示
- SPICE公共代码库:综合资源管理
- 大气蓝灰配色PPT鱼骨图设计技巧
- 绿色风格四原因分析PPT鱼骨图设计
- 恺撒密码:古老而经典的替换加密技术解析
- C语言超市管理系统课程设计详细解析
- 深入分析:黑色因素的PPT鱼骨图应用
- 创新彩色圆点PPT鱼骨图制作与分析
- C语言课程设计:吃逗游戏源码分享