GESP C++四级考试:指针

news/2025/1/18 17:13:23/文章来源:https://www.cnblogs.com/harddon/p/18678622

C++指针的考试内容
指针的基本概念
指针是一种特殊的变量,用于存储数据的内存地址。
指针变量中存储的是内存地址,定义指针变量时必须指定其指向的类型。
指针的类型
指针可以指向任意类型的数据,包括基本数据类型(如int、char、float等)和自定义复杂类型(如结构体)。
不同类型的数据占用的内存大小不同,指针类型的作用之一是保证指针在解引用时能获取正确大小内存的数据。
指针的运算
指针可以进行加减运算,指针加1或减1时,会根据其指向的数据类型所占的字节数来移动。
例如,int* p;,p++后,p的地址会增加sizeof(int)字节。
常量指针与指针常量
常量指针:指向常量的指针,其指向的值不能通过指针修改,但指针本身可以指向其他地址。语法为const 变量类型* 变量名或变量类型 const* 变量名。
指针常量:指针的常量,其指向的地址不能改变,但可以通过解引用修改指向的值。语法为变量类型* const 变量名。
指针与数组
数组名是数组中第一个元素的存储地址,可以作为指针使用。
例如,int arr[10];,arr等价于&arr[0]。
函数指针和指针函数
函数指针:指向函数的指针,可以用来调用函数。
指针函数:返回值为指针的函数。
多级指针
多级指针是指指针的指针,例如int** p;表示p是一个指向int类型的指针。
2023年12月GESP C++四级真题中涉及指针的考点题目及答案解析
单选题
题目:下列代码执行后,输出的是( )。
cpp复制
int arr[10] = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20};
int
p = arr;
p++;
cout << p;
选项:
A) 4
B) 6
C) 8
D) 10
答案:B
解析:数组名是数组第一个元素的地址,定义int类型指针p,赋值为arr,即p指向arr[0];p++,指针自增1,则p的指向往后移动一个int类型的存储空间,指向arr[1],
p指针解引用,输出p即输出p所指向的值,arr[1]的值为4,所以输出4。
单选题
题目:下列代码执行后,输出的是( )。
cpp复制
int x = 20;
int
p = &x;
cout << f(p);
选项:
A) 400
B) 20
C) 40
D) 800
答案:A
解析:定义函数f的功能:返回指针p指向数据的平方。主函数中定义int类型变量x初始化为20,int类型指针初始化为变量x的地址,将指针p作为实参进行函数调用,函数结果为20的平方400,赋值给p,输出p,所以输出400。
2024年3月GESP C++四级真题中涉及指针的考点题目及答案解析
单选题
题目:下列C++代码执行后,输出的是( )。
cpp复制
float fnum[2] = {1.1, 1.1};
int foo(float* f) {
return int(f * 2);
}
cout << fnum[0] + foo(fnum + 1);
选项:
A) 3.1
B) 3.2
C) 3.3
D) 3.4
答案:A
解析:foo函数的功能是传入一个float指针f,返回值为f指针指向的内容乘2的整数部分。数组fnum也是指针地址,指向数组第一个元素,fnum[1] = int(2 * 1.1) = 2,fnum[0] + fnum[1] = 1.1 + 2 = 3.1,所以输出3.1。
2023年6月GESP C++四级真题中涉及指针的考点题目及答案解析
单选题
题目:下列关于C++语言中指针的叙述,不正确的是( )。
选项:
A) 指针变量中存储的是内存地址。
B) 定义指针变量时必须指定其指向的类型。
C) 指针变量只能指向基本类型变量,不能指向指针变量。
D) 指针变量指向的内存地址不一定能够合法访问。
答案:C
解析:指针变量不仅可以指向基本类型变量,还可以指向指针变量,例如int** p;表示p是一个指向int
类型的指针。
模拟选择题
单选题
题目:下列代码执行后,输出的是( )。
cpp复制
int arr[5] = {1, 2, 3, 4, 5};
int* p = arr;
cout << (p + 3);
选项:
A) 1
B) 2
C) 3
D) 4
答案:D
解析:指针p指向数组arr的第一个元素,p + 3指向数组的第四个元素,
(p + 3)解引用后输出4。
单选题
题目:下列代码执行后,输出的是( )。
cpp复制
int x = 10;
int* p = &x;
p = 20;
cout << x;
选项:
A) 10
B) 20
C) 30
D) 40
答案:B
解析:指针p指向变量x的地址,通过解引用
p修改x的值为20,输出x的值为20。
单选题
题目:下列代码执行后,输出的是( )。
cpp复制
int arr[3][2] = {{1, 2}, {3, 4}, {5, 6}};
int (p)[2] = arr;
cout << ((p + 1) + 1);
选项:
A) 2
B) 4
C) 6
D) 8
答案:B
解析:p是一个指向二维数组的指针,p + 1指向第二行,
(p + 1)解引用后得到第二行的首地址,((p + 1) + 1)解引用后得到第二行第二个元素的值4。
单选题
题目:下列代码执行后,输出的是( )。
cpp复制
char* str = "Hello, World!";
cout << (str + 7);
选项:
A) H
B) e
C) W
D) o
答案:C
解析:str是一个指向字符串的指针,str + 7指向字符串的第8个字符(从0开始计数),
(str + 7)解引用后输出W。
单选题
题目:下列代码执行后,输出的是( )。
cpp复制
int a = 10;
int b = 20;
int* p1 = &a;
int* p2 = &b;
*p1 = p2;
cout << a << " " << b;
选项:
A) 10 20
B) 20 20
C) 10 10
D) 20 10
答案:B
解析:指针p1指向变量a的地址,指针p2指向变量b的地址。通过解引用
p1 = *p2,将b的值赋给a,所以a的值变为20,b的值仍为20,输出20 20。
希望这些内容对你有帮助!如果有任何其他问题或需要进一步的解释,请随时告诉我。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/871309.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

THREE.js学习笔记9——Materials

这一小节主要学习材质 材质用于为几何物理模型的每个可见像素添加颜色。 Materials are used to put a color on each visible pixel of the geometries. 决定每个像素颜色的算法是在程序中编写的,称为着色器。 Three.js 具有许多带有预制着色器的内置材料。 Algorithms that …

[HarekazeCTF2019]baby_rop2(read的libc)

一个normal的栈溢出,没有system和binsh,为ret2libc 这里也没有常见的write和puts,所以我们用read泄露libc基址,并使用printf打印read的地址 这里注意printf的第一个参数必须是格式字符串,即Welcome to the Pwn World again(地址为0x0400770,第二个参数设为read_got(got表…

Living-Dream 系列笔记 第93期

最大流 EK & Dinic本文讲解 EK & Dinic 算法。 最大流 最大流的模型:特别注意:这个流量上限不是单次流量不超过它,而是多次的总和不超过它。 EK 显然这个问题是可以使用 dfs 解决的,但是效率低下。 考虑如下的图。我们发现 dfs 有可能走了 \(S \to A \to B \to T\)…

【每日一题】20250118

我是时间唯一的主人。成为自己的时间的主人是一种奢侈。我认为这是人类能够送给自己的最奢侈的东西之一。【每日一题】 1.(16分) \(\hspace{0.6cm}\)如图所示,在以坐标原点 \(O\) 为圆心、半径为 \(R\) 的半圆形区域内,有相互垂直的匀强电场和匀强磁场,磁感应强度为 \(B\),…

思通数科舆情监测系统:精准实现数据监测与实时预警的应用意义

随着信息化社会的深入发展,舆情管理变得愈加复杂,尤其是在社交媒体和网络平台的广泛应用下,信息传播的速度与影响力呈现出指数级增长。如何高效监测和分析这些海量数据,成为各级政府、企业和公共机构亟待解决的问题。思通数科的舆情监测系统,凭借强大的数据监控与分析能力…

中考英语优秀范文-热点话题-传统文化-009 Dragon Boat Festival 端午节

1 写作要求 为弘扬中华传统文化,增强文化自觉,学校将举行一次英语演讲比赛。请以“ ___________Festival”为题,写一篇演讲稿,介绍一个你最喜欢的中国传统节日。 提示问题: What is your favorite traditional festival? Can you say some basic facts about it? How do…

在线json调试工具

在线json格式化工具,无需登录,打开即用 https://json.openai2025.com/

在线base64工具

在线base64工具,不需登录,打开即用 base64编码和解码功能。 https://base64.openai2025.com/

图像的卷积处理

实验名称:图像的卷积处理 实验描述:包含图像的平滑卷积和边缘卷积,通过实验观察和理解三种平滑卷积的差异性、理解边缘卷积提取图像边缘特征的作用。 实验步骤 一、平滑卷积 1. 加载图像并可视化 2. 生成带有雪花噪声的图像 3. 用均值卷积去噪声 4. 用中值卷积去噪 5. 用高斯…

从单数据源到多数据源的探讨

今天我想简单地分享一下如何将一个老项目从单数据源切换为多数据源的过程。这个项目是一个使用 WAR 部署的传统 JSP Web 项目,运行在 JDK 1.7 环境下,项目中并没有使用 Spring Boot,而仅仅采用了 Spring MVC 框架。我的主要任务是将原本使用单一数据源的架构,升级为支持多数…

eclipse thymeleaf 离线安装

下载zip包 https://github.com/thymeleaf/thymeleaf-extras-eclipse-plugin/releases 选择zip包参考 https://www.cnblogs.com/jiduoduo/p/15525430.html

Cisco ISR 1000 Series IOS XE Release 17.16.1a ED

Cisco ISR 1000 Series IOS XE Release 17.16.1a EDCisco ISR 1000 Series IOS XE Release 17.16.1a ED 思科 1000 系列集成多业务路由器 IOS XE 系统软件 请访问原文链接:https://sysin.org/blog/cisco-isr-1000/ 查看最新版。原创作品,转载请保留出处。 作者主页:sysin.or…