根据提供的文件信息,我们可以详细分析每个题目中的知识点及其解答过程。 ### 1. 若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a, i; 其中0≤i≤9,则对a数组元素不正确的引用是 - **解析**: - `int a[]` 定义了一个整型数组 `a`。 - `*p=a` 表示指针 `p` 指向数组 `a` 的第一个元素。 - 选项分析: - A) `a[p-a]`:此表达式相当于 `a[0]`,因为 `p` 指向 `a` 的第一个元素,`p-a` 得到的结果为 0,故此引用正确。 - B) `*(&a[i])`:`&a[i]` 得到的是数组 `a` 第 `i` 个元素的地址,再通过 `*(&a[i])` 取其值,因此引用正确。 - C) `p[i]`:这是指针 `p` 使用下标访问的方式,由于 `p` 指向数组的第一个元素,因此 `p[i]` 实际上等同于 `a[i]`,引用正确。 - D) `a[p-a-1]`:`p-a` 得到 0,`p-a-1` 得到 -1,这意味着 `a[p-a-1]` 相当于 `a[-1]`,这在 C 语言中是不合法的,因为数组下标必须是非负数。 - **答案**:D ### 2. 已知指针p的指向如下图所示,则执行语句*--p;后*p的值是 - **解析**: - `p` 指向 `a[2]`,即 `30`。 - `--p` 使 `p` 向前移动一位,现在指向 `a[1]`,即 `20`。 - `*--p` 的值为 `20`。 - **答案**:B ### 3. 下面程序运行时,如果从键盘上输入3,5<回车>,程序输出的结果是 - **解析**: - `pa` 和 `pb` 分别指向 `a` 和 `b`。 - `scanf` 读入 `3` 和 `5` 分别赋值给 `a` 和 `b`。 - `*pa=a+b` 等同于 `a=a+b`,计算后 `a` 的值为 `8`。 - `*pb=a+b` 等同于 `b=a+b`,计算后 `b` 的值为 `13`。 - 最终输出 `a=8, b=13`。 - **答案**:C ### 4. 下列程序执行后的输出结果是 - **解析**: - `pmul` 指向二维数组 `a` 的第一个元素。 - 通过 `pmul[i]=i+1` 循环赋值,将 `1` 至 `9` 赋给数组的每个元素。 - 输出 `a[1][2]` 即数组中第三个元素的值,即 `6`。 - **答案**:B ### 5. 有如下程序段 int *p,a=10,b=1; p=&a; a=*p+b; - **解析**: - `p` 指向 `a`。 - `a=*p+b` 等同于 `a=a+b`,计算后 `a` 的值为 `11`。 - **答案**:B ### 6. 下面程序的输出结果是 - **解析**: - `p` 指向数组 `a` 的第一个元素。 - `*p` 获取 `a` 的第一个元素,即 `1`。 - `*p+9` 计算结果为 `10`。 - **答案**:C ### 7. 若有说明语句"int i,j =7,*p=&i;",则与i=j等价的语句是 - **解析**: - `*p=*&j`:`*&j` 等价于 `j`,所以 `*p=*&j` 等价于 `*p=j`,即 `i=j`。 - **答案**:B ### 8. 若有说明语句"int a[10],*p=a;",对数组元素的正确引用是 - **解析**: - `*(p+2)`:指针 `p` 加上一个偏移量 `2` 后取值,等同于 `a[2]`。 - **答案**:C ### 9. 执行语句"char a[10]={"abcd"},*p=a;"后,*(p+4)的值是 - **解析**: - `*(p+4)` 访问 `a` 数组第 5 个位置的值。 - 数组 `a` 中 `'abcd'` 后跟一个终止符 `\0`。 - 因此,`*(p+4)` 的值为 `\0`。 - **答案**:C ### 10. 下列程序执行后的输出结果是 - **解析**: - 函数 `func` 将 `a` 的值加 6 后赋给 `b[0]`。 - 主函数中 `a=0`,`b[0]=3`。 - 调用 `func` 后 `b[0]` 的值变为 `6`。 - **答案**:A ### 11. 下列程序的输出结果是 - **解析**: - `func` 函数中 `b+=*a`,`a` 的值被传入 `func`。 - `main` 函数中 `a=2`,调用 `func` 后 `b` 的值变为 `4`。 - 再次调用 `func` 并累加后,`res` 的值为 `6`。 - **答案**:B ### 12. 下列程序的输出结果是 - **解析**: - `fun` 函数先输出 `x` 和 `y` 的初始值。 - `main` 函数中 `x=1`,`y=2`。 - 调用 `fun` 时传入 `y` 和 `x` 的地址,输出 `21`。 - `fun` 改变 `x` 和 `y` 的值为 `3` 和 `4`,但主函数中 `x` 和 `y` 的值未改变。 - **答案**:2134
剩余12页未读,继续阅读
- 粉丝: 1456
- 资源: 7530
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- HtmlMate标签使用详解中文最新版本
- ATM机旁危险物品检测数据集VOC+YOLO格式1251张5类别.zip
- 网页优化meta标签使用方法及规则中文最新版本
- 网页万能复制 浏览器插件
- IMG_20241123_093226.jpg
- JavaScript的表白代码项目源码.zip
- springboot vue3前后端分离开发入门介绍,分享给有需要的人,仅供参考
- 全国297个地级市城市辖区数据1990-2022年末实有公共汽车出租车数人均城市道路建成区绿地面积供水供气总量医院卫生机构数医生人数GDP第一二三产业增加值分行业从业人员水资源农产品产量利用外资
- Python客流量时间序列预测模型.zip
- 故障预测-灰色预测模型C++源码.zip