C++程序员笔试训练

面试题1:使用库函数将数字转换位字符串

  • 考点:c语言库函数中数字转换位字符串的使用

在这里插入图片描述

char *gcvt(double number, int ndigit, char *buf);

参数说明:

number:待转换的double类型数值。
ndigit:保留的小数位数。
buf:用于存储转换后的字符串的缓冲区。

  • 示例代码如下
void func()
{int numInt = 1333;double numDouble = 123.12;char strInt[20];char strDouble[20];char buffer[20];_itoa(numInt, strInt, 10);_gcvt(numDouble, 5, strDouble);sprintf(buffer, "%d", numInt);cout << strInt << endl;cout << strDouble << endl;cout << buffer << endl;}

面试题2:不使用库函数将整数转换为字符串

  • 考点:对数字转换为字符串,相关ASCII码的理解

解题思路:将整数的每一位上加上’0’转换成char类型并存到字符数组中

void func()
{int number = 12333;char str[20];int count = 0;while (number){int num = number % 10;str[count++] = num + '0';number = number / 10;}//对顺序进行调整char newstr[20];for (int i = 0; i < count; i++){newstr[i] = str[count - 1 - i];}newstr[count] = '\0';cout << newstr << endl;}

面试题3:编程实现strcpy函数

  • 考点:字符串复制的实现
    在这里插入图片描述
  • 示例代码如下
char* My_strcpy(char* strDest, const char* strSrc)
{int strSrc_len=strlen(strSrc);for (int i = 0; i < strSrc_len; i++){strDest[i] = strSrc[i];}strDest[strSrc_len] = '\0';return strDest;
}int getStrLen(const char* strSrc)
{int len = 0;while (*strSrc++ != '\0'){len++;}return len;
}int main()
{char strSrc[] = "abcdefg";char strDest[20];int len = 0;len=getStrLen( My_strcpy(strDest, strSrc));cout << strDest << endl;cout << "len=" << len << endl;system("pause");return 0;
}

在这里插入图片描述

面试题4:编程实现memcpy函数

  • 内存复制的实现
void *memcpy(void *dest, const void *src, size_t n);

其中,dest是目标地址,src是源地址,n是要复制的字节数。

memcpy函数可以用来复制任意长度的内存数据,但注意对于复杂数据类型(如结构体、类等),要确保其成员的内存布局是连续的,否则可能会导致数据被破坏。

  • 示例代码如下
void* memcpy2(void *dest,const void *src,size_t size)
{assert((dest != NULL) && (src != NULL));//强制转换char* newDest = (char*)dest;char* newSrc = (char*)src;while (size-- > 0){*newDest++ = *newSrc++;}return newDest;
}int main()
{char src[] = "asdfghjk";char dest[20];int len=strlen(src);memcpy2(dest, src, len);dest[len] = '\0';cout << dest << endl;system("pause");return 0;
}

面试题5:strcpy与memcpy的区别

  • strcpy和memcpy都是用来复制内存区域的函数,但是二者之间有几个关键的区别:
  1. strcpy用于复制字符串,其原型为char* strcpy(char* dest, const char* src)。它会从源字符串的地址开始复制字符,直到遇到空字符\0为止。因此,strcpy只能用来复制字符串,并且不需要指定复制的长度。

  2. memcpy用于复制任意类型的内存数据,其原型为void* memcpy(void* dest, const void* src, size_t n)。它需要传入要复制的数据的起始地址和长度,可以复制任意类型的数据,包括字符串。因此,memcpy是更通用的函数,可以处理任意类型的数据。

  3. strcpy会在目标字符串的末尾添加\0结束符,而memcpy则不会。因此,在使用memcpy复制字符串时,需要手动添加结束符。

  • 总的来说,strcpy主要用于复制字符串,而memcpy用于复制任意类型的内存数据。在复制字符串时,可以使用strcpy来保证字符串的正确复制及添加结束符。

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

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

相关文章

数智教育创新如何向未来?腾讯云与你探索革新之路

引言 随着科技革命的快速发展&#xff0c;掀起教育领域的变革&#xff0c;新理念、新技术、新模式、新应用正不断涌现&#xff0c;正塑造着教育的未来形态。未来科技还将如何赋能教育创新&#xff1f; 5月31日&#xff0c;由腾讯云TVP 与西安电子科技大学联合举办的「数智教育的…

LC1020:飞地的数量

题目 给你一个大小为 m x n 的二进制矩阵 grid &#xff0c;其中 0 表示一个海洋单元格、1 表示一个陆地单元格。 一次 移动 是指从一个陆地单元格走到另一个相邻&#xff08;上、下、左、右&#xff09;的陆地单元格或跨过 grid 的边界。 返回网格中 无法 在任意次数的移动…

C++访问Private,Protecd的一些方法总结

前言 在编写C程序中 我们偶尔会碰到这样的三种特殊修改变量值的需求&#xff1a; [1]在不修改类原本的实现下&#xff0c;访问修改类的Private变量 [2]在不修改类原本的实现下&#xff0c;修改类的Protected变量 Private变量访问 public类模版函数特化 这种办法利用了类模…

CMS与AI的融合:构建万能表单小程序系统

引言&#xff1a; 随着人工智能技术的飞速发展&#xff0c;MyCMS作为一款功能强大的内容管理系统&#xff0c;通过集成AI技术&#xff0c;进一步拓展了其应用范围和智能化水平。本文将探讨如何利用MyCMS结合AI技术&#xff0c;构建一个能够将用户提交的万能表单数据转化为智能提…

【Ardiuno】实验使用ESP32单片机根据光线变化控制LED小灯开关(图文)

今天小飞鱼继续来实验ESP32的开发&#xff0c;这里使用关敏电阻来配合ESP32做一个我们平常接触比较多的根据光线变化开关灯的实验。当白天时有太阳光&#xff0c;则把小灯关闭&#xff1b;当光线不好或者黑天时&#xff0c;自动打开小灯。 int value;void setup() {pinMode(34…

前端老古董execCommand——操作 选中文本 样式

文章目录 ⭐前言⭐exe command api用法&#x1f496; example示例&#x1f496; 测试效果 ⭐execommand和getSelection 的联系⭐总结⭐结束 ⭐前言 大家好&#xff0c;我是yma16&#xff0c;本文分享关于 前端老古董execCommand——操作选中文本。 execommand 当一个 HTML 文…

基于CentOS Stream 9平台安装Redis7.0.15

1. 官方下载地址 https://redis.io/downloads/#redis-downloads 1.1 下载或上传到/opt/coisini目录下&#xff1a; mkdir /opt/coisini cd /opt/coisini wget https://download.redis.io/releases/redis-7.0.15.tar.gz2. 解压 tar -zxvf redis-7.0.15.tar.gz 3. 创建软连接 或…

算法:分治(快排)题目练习

目录 题目一&#xff1a;颜色分类 题目二&#xff1a;排序数组 题目三&#xff1a;数组中的第k个最大元素 题目四&#xff1a;库存管理III 题目一&#xff1a;颜色分类 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums &#xff0c;原地对它们进行排序&#xff0c;…

【回文 马拉车】214. 最短回文串

本文涉及知识点 回文 马拉车 LeetCode214. 最短回文串 给定一个字符串 s&#xff0c;你可以通过在字符串前面添加字符将其转换为回文串。找到并返回可以用这种方式转换的最短回文串。 示例 1&#xff1a; 输入&#xff1a;s “aacecaaa” 输出&#xff1a;“aaacecaaa” 示…

【单元测试】Spring Boot 的测试库

Spring Boot 的测试库 1.了解回归测试框架 JUnit2.了解 assertThat3.了解 Mockito4.了解 JSONPath5.测试的回滚 单元测试&#xff08;unit test&#xff09;是为了检验程序的正确性。一个单元可能是单个 程序、类、对象、方法 等&#xff0c;它是应用程序的最小可测试部件。 单…

[大模型]XVERSE-7B-chat Transformers 推理

XVERSE-7B-Chat为XVERSE-7B模型对齐后的版本。 XVERSE-7B 是由深圳元象科技自主研发的支持多语言的大语言模型&#xff08;Large Language Model&#xff09;&#xff0c;参数规模为 70 亿&#xff0c;主要特点如下&#xff1a; 模型结构&#xff1a;XVERSE-7B 使用主流 Deco…

用于每个平台的最佳WordPress LMS主题

你已选择在 WordPress 上构建学习管理系统 (LMS)了。恭喜&#xff01; 你甚至可能已经选择了要使用的 LMS 插件&#xff0c;这已经是成功的一半了。 现在是时候弄清楚哪个 WordPress LMS 主题要与你的插件配对。 我将解释 LMS 主题和插件之间的区别&#xff0c;以便你了解要…

如何打开pak文件-翻译pak语言包

最近碰到一些程序的语言包是pak格式&#xff0c;用Notepad打开全是乱码&#xff0c;百度搜索了一下&#xff0c;pak是一种少见的压缩文件格式&#xff0c;是pak Quake系列游戏所采用的一种特殊压缩包格式&#xff0c;由Quake游戏公司开发&#xff0c;用高版本的winrar可以打开&…

测试 halcon算子 derivate_gauss 高斯一阶导数卷积

参上了 matlab fileexchange 有人上传了高斯 dx,dy一阶导卷积代码 卷积核的计算我修改成了核元素绝对值求做分母 归一化 和halcon的 derivate_gauss算子的计算结果对别如下 还是不知道怎么做到两者结果一致. 测试图像: 我的: halcon的: 获取两份图像的灰度值到数组并做对应位…

即时聊天系统

功能描述 该项目是一个前后端分离的即时聊天项目&#xff0c;前端采用vue2、后端使用springboot以mysql8.0作为数据库。 项目功能包含了单聊、群聊功能。在此基础上增加了对好友的功能操作&#xff0c;如备注设为通知、视频聊天、语音聊天、置顶、拉入黑名单、清空聊天记录等。…

【面试干货】Integer 和 int 的区别

【面试干货】Integer 和 int 的区别 1、基本类型与包装类型2、内存占用3、自动装箱与拆箱4、null 值5、常量池6、总结 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在Java中&#xff0c;Integer 和 int 是两种不同类型的变量&#xff0c;…

leetcode LRU 缓存

leetcode: LRU 缓存 LRU 全称为 Least Recently Used&#xff0c;最近最少使用&#xff0c;常常用于缓存机制&#xff0c;比如 cpu 的 cache 缓存&#xff0c;使用了 LRU 算法。LRU 用于缓存机制时&#xff0c;关键的是当缓存满的时候有新数据需要加载到缓存的&#xff0c;这个…

自动化测试断言

自动化判断测试用例的执行的结果是否成功&#xff0c;是通过判断测试得到的实际结果与预期结果是否相等决定的。这个时候就用到了断言。 检查点分为两个&#xff0c;一个是页面级别的检查&#xff0c;包括网页的标题和网址&#xff0c;以及是否包含某个文字 另一个检查点是页…

CSS从入门到精通——动画:CSS3动画延迟和完成后状态的保持

目录 任务描述 相关知识 动画状态 动画完成时的状态 动画延迟 编程要求 任务描述 本关任务&#xff1a;用 CSS3 实现小车等待红绿灯的效果。效果图如下&#xff1a; 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a;1.动画状态&#xff0c;2.动画完成时的状…

[Cloud Networking] SPDY 协议

文章目录 1. 背景2. SPDY 之前3. SPDY 项目目标4. SPDY 功能特点4.1 SPDY基本功能4.2 SPDY高级功能 1. 背景 TCP是通用的、可靠的传输协议&#xff0c;提供保证交付、重复抑制、按顺序交付、流量控制、拥塞避免和其他传输特性。 HTTP是提供基本请求/响应语义的应用层协议。 不…