----指针习题.docx----
需积分: 0 199 浏览量
更新于2021-03-11
收藏 57KB DOCX 举报
指针是C语言中一种强大的工具,用于存储变量的地址,从而间接地访问和修改变量的值。在处理指针时,理解它们的工作原理和如何正确使用是非常关键的。
1. 指针变量的含义是指该变量的**地址**(B)。这意味着,当声明一个指针并将其与变量关联时,指针存储的是该变量内存位置的地址,而不是其值。
2. 在赋值语句中,不能将整型变量赋值给指针(B),如`ptr2=k`。这是因为指针需要存储地址,而不是整数值。其他选项,如`k=*ptr1+*ptr2`,`ptr1=ptr2`和`k=*ptr1*(*ptr2)`都是合法的指针操作,它们涉及到指针的算术运算和值的传递。
3. 正确的指针操作是将指针指向变量并赋值,如`p = &n; *p=n;`(D)。这将使指针`p`指向变量`n`的地址,并通过解引用`*p`将值`n`赋给`m`。
4. 函数`print_value`接受一个整数指针并递增指针所指向的值,因此输出结果是`26`(D)。`print_value(&a)`会先递增`a`的值,然后打印。
5. 不正确的赋值语句是`p1=&m; *p1=*p2;`(D)。虽然可以将`p1`设置为指向`m`的地址,但直接将`*p1`赋值为`*p2`会导致将`m`的值改变为`n`的值,而这里`p1`和`p2`应该分别指向不同的变量。选项A中,`p2=&p1`创建了一个指向指针的指针,这不是赋值语句。
6. 代表地址的选项是`&a, &*p, p`(D)。`&a`是变量`a`的地址,`&*p`等同于`p`,因为`*p`表示解引用`p`得到的值的地址,而`p`本身就是指向`a`的地址。
7. 正确的判断是`char *s=”china”;`等价于`char *s; s=”china”;`(C)。这意味着可以在声明后立即初始化指针。
8. `for`循环的执行次数取决于非空字符的数量,考虑到`\t`是制表符,`\018`是八进制转义序列(通常表示一个控制字符),因此有6个非空字符(C)。
9. 能正确进行字符串赋值操作的是`char *s ; s=”ABCDE” ;`(C)。其他选项要么超出数组边界,要么没有正确初始化指针。
10. `printf`期望一个格式化字符串,但`s+=2`后的`s`是字符地址,所以输出是`字符'c'的地址`(C)。
11. 不能正确执行的赋值语句是`p2=c`(B),因为`p2`应指向字符变量`c`的地址,而不是`c`本身。
12. 正确的叙述是`*p`与`s[0]`相等(D),因为`p`和`s`都指向相同的字符串起始位置,`*p`是第一个字符,即`s[0]`。
13. 与库函数`strcpy`功能不相等的程序段是`strcpy4`(D),因为它缺少对结束条件的检查,可能会导致缓冲区溢出。
以上就是关于指针习题的详细解答,涵盖了指针的基本操作,如赋值、解引用、地址和值的传递,以及字符串操作。正确理解和使用指针对于编写高效且安全的C程序至关重要。
三度女青年
- 粉丝: 49
- 资源: 22
最新资源
- 基于springboot+Vue的老年一站式服务平台(Java毕业设计,附源码,部署教程).zip
- 杭州衡泰软件实施工程师面试问题docx
- 基于SpringBoot+Vue的老年人体检管理系统(Java毕业设计,附源码,部署教程).zip
- 基于SpringBoot+Vue的老年人体检管理系统2(Java毕业设计,附源码,部署教程).zip
- 基于springboot+Vue的科研项目验收管理系统(Java毕业设计,附源码,部署教程).zip
- 基于springboot+Vue的库存管理系统2(Java毕业设计,附源码,部署教程).zip
- 基于springboot+Vue的库存管理系统(Java毕业设计,附源码,部署教程).zip
- 基于springboot+Vue的酒店管理系统(Java毕业设计,附源码,部署教程).zip
- 基于SpringBoot+Vue的开发的精简博客系统的设计与实现(Java毕业设计,附源码,部署教程).zip
- 基于springboot+Vue的经方药食两用服务平台(Java毕业设计,附源码,部署教程).zip
- 堪培拉天气数据集.zip
- 基于springboot+Vue的交通管理在线服务系统的开发2(Java毕业设计,附源码,部署教程).zip
- 基于springboot+Vue的教学资料管理系统(Java毕业设计,附源码,部署教程).zip
- 基于springboot+Vue的教学资料管理系统2(Java毕业设计,附源码,部署教程).zip
- 基于SpringBoot+Vue的家政服务平台的设计与实现2(Java毕业设计,附源码,部署教程).zip
- 基于SpringBoot+Vue的家政服务平台的设计与实现(Java毕业设计,附源码,部署教程).zip