#C1106. 指针与引用专项练习
指针与引用专项练习
C++ 指针与引用 专项练习(10 题)
本卷共 10 题:单项选择题 6 题、多项选择题 3 题、判断题 1 题。
一、单项选择题
- 执行下方代码后,
*ptr最终数值是?
int currLv = 8, nextLv = 11;
int *ptr = &currLv;
*ptr = *ptr + 3;
ptr = &nextLv;
{{ select(1) }}
- 8
- 11
- currLv 的内存地址
- nextLv 的内存地址
- 已有
int a = 10, *p = &a;,执行int b = 20; p = &b;后,下列结果正确的是?
{{ select(2) }}
- a 的值变为 20
- p 存储的地址修改为变量 b 的地址
- *p 的值依旧是 10
- &a 的值发生改变
- 下方代码的输出是?
int a = 4;
int *p = &a;
*p += 6;
cout << a << " " << *p;
{{ select(3) }}
- 10 10
- 4 10
- 10 4
- 4 6
- 下方代码的输出是?
int a = 5, b = 10;
int *p = &a;
p = &b;
*p = 20;
cout << a << " " << b;
{{ select(4) }}
- 5 20
- 20 20
- 5 10
- 20 10
- 关于指针,下列说法正确的是?
{{ select(5) }}
- 指针存储的是变量的值
- 通过指针可以间接访问和修改它所指向的变量
- 指针只能指向整型变量
- 指针定义之后不能改变指向
- 下方代码的输出是?
int a = 9;
int *p = &a;
*p += 5;
cout << a;
{{ select(6) }}
- 14
- 9
- 5
- 编译报错
二、多项选择题
- 下列属于指针安全、合规操作的是
{{ multiselect(7) }}
- 直接给指针赋字面数字地址(如 0x1234)
- 使用
*解引用,读取指针指向内存存储的数据 - 两个同类型指针变量,可使用
> < ==比较地址大小 - 使用
&取普通变量地址,赋值给同类型指针
- 对比指针与引用,下列正确描述是
{{ multiselect(8) }}
- 引用定义时必须绑定已有变量,不能存在无主引用
- 指针变量可多次修改指向,切换指向不同变量
- 引用一旦绑定变量,无法重新绑定其他变量
- 指针和引用都不能修改外部原始变量的值
- 关于指针操作,下列说法正确的有
{{ multiselect(9) }}
&用于取变量地址*用于解引用,访问指针指向的内存- 多级指针(如
int **)可实现多级间接访问 - 指针只能用
&取址赋值,没有其他赋值方式
三、判断题
- C++ 中引用一旦绑定变量,后续可以通过赋值操作将其重新指向另一个变量。
{{ select(10) }}
- 正确
- 错误
相关
在以下作业中: