潍坊住房与城市建设部网站/代写文章的平台有哪些

潍坊住房与城市建设部网站,代写文章的平台有哪些,曲靖公司网站建设,家装公司排名前十一、字符分类函数 c语言中有部分函数是专门做字符分类的,也就是一个字符是属于什么类型的字符,这些函 数的使用要包含一个头文件ctype.h中。 其具体如下图所示: 这些函数的使用方式都类似,下面我们通过一个函数来看其…

一、字符分类函数

          c语言中有部分函数是专门做字符分类的,也就是一个字符是属于什么类型的字符,这些函              数的使用要包含一个头文件ctype.h中。

           其具体如下图所示:

           

            这些函数的使用方式都类似,下面我们通过一个函数来看其使用方式:
                 

             islower函数是能够判断参数c是不是小写字母,如果参数c是小写字母那么就返回非0的整                 数,如果不是小写字母就返回0。

             下面我们通过一个练习来学习:

              将字符串中小写的字母变成大写的字母。

              思路:
              首先我们创建一个字符串数组存放这个字符串,然后遍历这个字符串,判断其是否为大                  写字母,如果不是则对其-32就可以变成大写字母了,然后我们将其打印出来看是否完                    成。记得要包含这个函数的头文件<ctype.h>

             

                

                运行结果:

               

二、字符转换函数

       c语言中提供了两个字符转换函数,要使用这两个函数也是一样要包含头文件<ctype.h>

                        

        那么我们上面的练习可以换个方式写:

         

          因为这两个函数的参数不是地址,那么其是值传递,那么其是不会改变实参的,不过其返回            的是变成大写后的字符,那么我们就通过一个第三者去接收其返回值,然后再赋值给这个字            符串。

         运行结果:

          

三、strlen的模拟实现 

          我们先看一下这个函数的原型:

          size_t  strlen(const char  * str);

          strlen函数的原理:

          字符串是以\0为结束的标志,strlen函数就是返回字符串中\0前面的字符个数(不包含\0)

          那么参数指向的字符串必须要以\0结尾

          注意函数的返回值为size_t类型,是无符号的类型。

          还有函数的使用要包含头文件string.h

          那么我们知道其计算字符串的长度的原理后我们来模拟实现这个函数吧。

          函数参数就和原型一样。

          函数实现:
          因为我们传递给函数的是个地址,那么我们可以使用断言,先判断传入的数据是可以使用              的。我们可以在函数的开始就对str参数使用assert对其进行断言,注意使用其要包含头文件            assert.h。

          然后我们创建一个指针变量来接收传入的参数的地址。

          然后通过循环对字符串的字符遍历,直到遇到\0就停止遍历。

          此时的指针变量和传入的参数的差值就是字符串的长度了。

          函数实现:

          

           上面为啥循环条件是对p进行解引用呢?那么因为字符串遍历中我们遇到\0就停止,然后我              们对其解引用刚刚好是0那么此时就可以停止循环了。

            函数测试:

                       

四、strcpy的使用和模拟实现 

          函数strcpy的作用的拷贝字符串,就是复制粘贴的功能,比如说我们现在要将数组arr2的字              符拷贝给数组arr1,那么我们就可以使用这个函数,使用其一样要记得包含头文件string.h,           下面我们看看函数的原型。

          char *strcpy(char * destination , const  char * source );

          函数解析:
          strcpy的第一个参数是我们要拷贝到的目的地的首地址,第二个参数是我们要拷贝的对象,            然后其返回值是接收这个拷贝的目标地址。

          下面为strcpy函数的要求:

           源字符串必须以"\0"结束

           其会将源字符串的"\0"也拷贝至目标空间

           目标空间必须要足够大,能够存放源字符串。

           然后目标空间的内容要是可以修改的。

           为了更好模拟实现strcpy函数,下面我们使用其看看其效果:

           

           可以看到我们将str2字符串的内容拷贝到了str1。

           下面我们来模拟实现其功能:

            函数名:my_strcpy

            参数:第一个字符指针接收目标空间的首地址,第二个接收要拷贝的字符串的首地址。

            函数实现分析:

            和前面的strlen函数实现一样,由于参数都是指针参数,我们可以在开始先使用断言,注意              使用断言要包含头文件assert.h。

            然后因为要返回目标空间的初始地址,那么我们就创建一个指针变量存放目标空间的首地              址 ,在最后返回这个地址。

            然后我们遍历要拷贝的字符串,对其解引用,然后赋值给目标空间的对应位置,没赋值一              次后对目标空间的字符串的地址和拷贝的字符串都进行+1操作,然后直到要拷贝的字符串              遇到\0,但是注意的是这个\0也要拷贝到目标空间,那么我们可以将循环的条件变成                        *str1=*str2,那么此时当要被拷贝的字符串的\0赋值给目标空间后,循环也结束。

            代码如下:

            

               运行结果:

                

五、strcat函数的使用与模拟

           strcat函数的功能是追加字符串,将一个字符串的内容追加到另一个字符串的末尾处,其使             用要包含头文件string.h。

          下面我们看看strcat函数的原型:

          strcat(char *str1,char*str2);

          可以看到其参数和strcpy函数一样,也是两个字符指针,其就是将第二个参数追加至第一个            参数的字符串,且其返回值也是被追加的字符串的首地址。

          下面是strcat函数一些要求:

           源字符串必须要以\0结束

           目标字符串也要有\0字符,因为追加是在\0的位置开始追加。

           被追加的空间要足够大,能够容纳追加的源字符串的内容。

           被追加的空间要能够给修改。

           下面我们来模拟实现strcat函数:

           和前面的一样,这里的函数的参数是两个指针变量,那么我们开始对其断言一下。

            然后我们思考一下如何追加,我们是将第二个字符串追加到\0的后面么,很明显,我们是                在被追加的字符串的\0的位置开始追加。

            那么我们追加前,先将被追加的字符串移动至\0的位置,然后开始追加。

            由于要返回的是被追加的字符串的首地址,那么我们在开始的时候创建一个字符指针变量              存放被追加字符串的首地址。

           代码实现:

           

             运行结果:

              

六、strcmp的使用和模拟实现 

           strcmp是用来比较两个字符串大小的,其比较的依据是字符的acsll码值,其使用也要包含              头文件string.h。

           下面我们看看其函数原型:

           int strcmp(const char * str1 ,const char * str2);

           可以看到其两个参数就是我们要比较的两个字符串的地址,然后其返回类型为整型,其就               是如果前一个字符串大于后一个字符串,那么其就返回一个大于0的数,反之就返回一个小             于0的数。

           下面是strcmp函数的一些特点:

            第一个字符串大于第二个字符串则返回大于0的数。

            第二个字符串大于第一个字符串则返回小于0的数。

           两个字符串如果相等则返回0。

           其比较的对应位置上的字符的acsll码值。

           下面我们使用其感受一下:

           

              下面我们模拟实现strcmp函数:

              函数实现分析:

              和前面一样由于参数是两个指针,所以我们开始对其断言一下。

              我们可以使用一个while循环,循环条件就是两个字符串对应位置的字符是否一样马,如                  果一样那么就继续往后面的位置找,直到说其中一个字符串到了\0的位置,此时两个字符                串的大小就是相等的,此时返回0,最后返回的值就用第一个字符串的值和第二个字符串                的值做差,那么大于0的数就是第一个字符串大,反之。

              函数实现:

               

              运行结果:
              

          感谢哥哥姐姐们的阅读,有不对的地方请指正!!! 

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

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

相关文章

六十天前端强化训练之第二天CSS选择器与盒模型深度解析

欢迎来到编程星辰海的博客讲解 目录 一、CSS 核心概念 1. 三种引入方式 2. CSS 注释 3. 常见单位系统 二、CSS选择器核心知识 1. 基础选择器类型 2. 组合选择器 3. 伪类选择器&#xff08;部分示例&#xff09; 4. 优先级计算规则 三、盒模型深度解析 1. 标准盒模型图…

【音视频】音视频录制、播放原理

一、音视频录制原理 通常&#xff0c;音视频录制的步骤如下图所示&#xff1a; 我们分别从音频和视频开始采样&#xff0c;通过麦克风和摄像头来接受我们的音频信息和图像信息&#xff0c;这通常是同时进行的&#xff0c;不过&#xff0c;通常视频的采集会比音频的采集慢&…

解锁养生密码,拥抱健康生活

在快节奏的现代生活中&#xff0c;养生不再是一种选择&#xff0c;而是我们保持活力、提升生活质量的关键。它不是什么高深莫测的学问&#xff0c;而是一系列融入日常的简单习惯&#xff0c;每一个习惯都在为我们的健康加分。 早晨&#xff0c;当第一缕阳光洒进窗户&#xff0c…

7种内外网数据交换方案全解析 哪种安全、高效、合规?

内外网数据交换方案主要解决了企业跨网络数据传输中的安全、效率与合规性问题。通过采用先进的加密技术、高效的数据传输协议以及严格的审批和审计机制&#xff0c;该方案确保了数据在内外网之间的安全交换&#xff0c;同时提高了传输效率&#xff0c;并满足了企业对数据合规性…

【WSL2】 Ubuntu20.04 GUI图形化界面 VcXsrv ROS noetic Vscode 主机代理 配置

【WSL2】 Ubuntu20.04 GUI图形化界面 VcXsrv ROS noetic Vscode 主机代理 配置 前言整体思路安装 WSL2Windows 环境升级为 WIN11 专业版启用window子系统及虚拟化 安装WSL2通过 Windows 命令提示符安装 WSL安装所需的 Linux 发行版&#xff08;如 Ubuntu 20.04&#xff09;查看…

Solidity study

Solidity 开发环境 Solidity编辑器&#xff1a;Solidity编辑器是一种专门用于编写和编辑Solidity代码的编辑器。常用的Solidity编辑器包括Visual Studio Code、Atom和Sublime Text。以太坊开发环境&#xff1a;以太坊开发环境&#xff08;Ethereum Development Environment&am…

【废物研究生零基础刷算法】DFS与递归(一)典型题型

文章目录 跳台阶递归实现指数级枚举递归实现排列型枚举上面两题总结 递归实现组合型枚举P1036选数 跳台阶 思路&#xff1a; 如果 n 1&#xff0c;只有一种走法&#xff08;走 1 级&#xff09;。如果 n 2&#xff0c;有两种走法&#xff08;11 或 2&#xff09;。对于 n &g…

【Python量化金融实战】-第1章:Python量化金融概述:1.1量化金融的定义与发展历程

本小节学习建议&#xff1a;掌握Python编程、统计学&#xff08;时间序列分析&#xff09;、金融学基础&#xff08;资产定价理论&#xff09;三者结合&#xff0c;是进入量化领域的核心路径。 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 文章目录 1.1 量化金…

观成科技:海莲花“PerfSpyRAT”木马加密通信分析

1.概述 在2024年9月中旬至10月&#xff0c;东南亚APT组织“海莲花”通过GitHub发布开源安全工具项目&#xff0c;针对网络安全人员发起了定向攻击。通过对相关攻击活动进行分析&#xff0c;可以将其与一些海莲花的样本关联起来。这些样本的通信数据结构与海莲花此前使用的攻击…

2024-2025 学年广东省职业院校技能大赛 “信息安全管理与评估”赛项 技能测试试卷(一)

2024-2025 学年广东省职业院校技能大赛 “信息安全管理与评估”赛项 技能测试试卷&#xff08;一&#xff09; 第一部分&#xff1a;网络平台搭建与设备安全防护任务书DCRS:DCFW:DCWS:WAF: 第二部分&#xff1a;网络安全事件响应、数字取证调查、应用程序安全任务书任务 1&…

2月25(信息差)

&#x1f30d;四川省人民医院接入DeepSeek 将AI技术应用于看病全流程 &#x1f384;机器人新风口&#xff01;OpenAI押注公司 采用这种新材料 更轻盈耐磨&#xff01;尼龙概念股名单 ✨小米15 Ultra、小米SU7 Ultra定档2月27日 雷军宣布&#xff1a;向超高端进发 1.深夜王炸&…

【栈与队列】二叉树最大宽度

文章目录 662. 二叉树最大宽度解题思路&#xff1a;队列 广度搜索 662. 二叉树最大宽度 662. 二叉树最大宽度 ​ 给你一棵二叉树的根节点 root &#xff0c;返回树的 最大宽度 。 ​ 树的 最大宽度 是所有层中最大的 宽度 。 ​ 每一层的 宽度 被定义为该层最左和最右的非…

大语言模型安全测试:WDTA 标准下的全面解读与实践展望

1.前言 在人工智能&#xff08;AI&#xff09;飞速发展的时代&#xff0c;大语言模型&#xff08;LLM&#xff09;凭借其强大的语言理解和生成能力&#xff0c;广泛应用于智能客服、智能写作、智能翻译等众多领域&#xff0c;深刻改变着人们的生活和工作方式。然而&#xff0c…

在WINDOWS系统使用CMake gui编译NLopt配合VSCode使用

1. 准备工作 安装CMake&#xff1a;从CMake官网下载并安装CMake。下载Nlopt源码&#xff1a;从Nlopt官网或GitHub仓库下载Nlopt源码。安装编译器&#xff1a;确保已安装Visual Studio或其他支持的编译器&#xff08;如MinGW&#xff09;。 2. 配置CMake 方式1 打开CMake GU…

C++ QT 6.6.1 QCustomPlot的导入及使用注意事项和示例 | 关于高版本QT使用QCustomPlot报错问题解决的办法

C QT 6.6.1 QCustomPlot的导入及使用注意事项和示例 | 关于高版本QT使用QCustomPlot报错问题解决的办法 记录一下 qmake .pro文件的配置 QT core gui printsupportgreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c17# You can make your code fail to compil…

LLM+多智能体协作:基于CrewAI与DeepSeek的邮件自动化实践

文章目录 引言理解 Flows&#xff08;工作流&#xff09;与 Crews&#xff08;协作组&#xff09;一、环境准备与工具安装1.1 Python环境搭建1.2 创建并激活虚拟环境1.3 安装核心依赖库&#xff08;crewai、litellm&#xff09; 二、本地DeepSeek R1大模型部署2.1 Ollama框架安…

window下kafka安装

kafka下载 下载好,直接解压即可 默认是带有zookeeper(注册中心) 需要先启动zookeeper zookeeper配置 先配置下zookeeper 这个data文件夹是自定建的 随意建在哪里 注意 这里斜杠用和linux一样 启动zookeeper 进入bin/windows目录 启动zookeeper zookeeper-server-start.ba…

浅谈 Redis 主从复制原理(二)

大家好&#xff0c;我是此林。 【浅谈 Redis 主从集群原理&#xff08;一&#xff09; 】 上一篇文章中&#xff0c;说到了 Redis 主从复制的全量同步和增量同步&#xff0c;repl_baklog 复制缓冲区&#xff0c;以及 slave 挂掉之后数据同步的措施。 下面介绍的上一篇遗留问…

Vue 中单向数据流原则

做一个 ElementUI 弹框组件的二次封装 效果如下: 点击取消按钮发现弹出如下报错信息 : [Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the …

网页版的俄罗斯方块

1、新建一个txt文件 2、打开后将代码复制进去保存 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>俄…