c语言从入门到函数速成(完结篇)
哈喽,小伙伴们大家好呀,本篇文章是这个系列的完结篇,希望大家看完后能有所收获哦
首先能看到这里的同学,一定也是自觉性比较强的了,我会在文章末尾给大家发点小福利
那么,我们先来通过数学中的函数来引入一下今天的内容吧。
相信大家在初中高中的时候都学过函数,这里我给大家简单地回忆一下
f(x) = x + 9
给了这个式子,再给出x的值,大家一定都能算出它的值来。其实c语言中的函数也是如此。
简单地给大家举个例子:
int sum(int c, int d)
{
return c + d;
}
int main()
{
int a = 9;
int b = 5;
int f = sum(a,b);
printf("%d\n",f);
return 0;
}
我们先来理解一下这串代码
代码理解
sum(a,b);这一步是将a 和 b的值传到sum函数中, 此时a 和 b 是被称为实参
int sum(int c, int d)//这里就是sum函数的整体了,大家可以这么理解,这一步是数学中的f(x),而这个c和d是形参
{
return c + d;//这一步就相当于x + 9
}
简单地带大家理解了一遍后,其实主题上就没有什么问题了,那么细心的小伙伴们或许也发现了猫腻,为什么要有int 和return 呢?
其实这个是我们的前辈们所规定的,当然也有情况是不需要return的,当然啦,上面的代码只是举个例子,c语言中的函数内部不可能只能是算式,还可以是各种各样的语句。
那么我给大家总结一下自定义函数的模板
自定义函数的模板
类型 函数名(类型 形参,类型 形参)//括号内部的类型与参数的类型有关,与函数的类型无关
{
语句;
//也许会有小伙伴会问为什么这里只有语句,没有return呢,因为有点时候用不上return。
}
这里的函数类型与一开始我们所学的变量类型是差不多的,另外当函数使用的类型是void(空型)时,函数不需要return。
那么,到这里为止,函数的基本内容也就结束了。
接下来给大家讲几个实用的函数,以及使用格式。
strlen函数
strlen 作用:计算字符串的大小与sizeof()的作用一样
其中string.h是strlen的头文件
strlen函数的总结
作用:计算字符串的大小与sizeof()的作用一样
模板:strlen(字符或字符串的变量名和数组名);
strcpy函数
当我们只是单纯使用这个函数时,会出现报错
那么如何解决呢?,其实解决方法和scanf的方法是一样的,这里就不解释如何处理啦
当运行这串代码后,效果如图所示。
那么看完后我们就来做个总结
strcpy函数的总结
作用:复制 变量的内容(注意只能复制字符或字符串的内容)
模板:strcpy(变量2, 变量1(被复制的内容))
// 接收复制内容 被复制者
stract函数
从图中我们看出这个函数的作用是拼接,那么问题来了该函数中还出现了strcpy函数,如果没有strcpy函数会不会影响到这串代码输出的结果呢?
很明显出现了问题,因此我们可以来做一下总结
stract函数的总结
作用:拼接字符串
模板:
stract(变量(一定是非空),拼接内容);
strcmp函数
那么大家可以从这张图中能够很清晰地理解这个函数的作用
strcmp函数的总结
作用:比较字符串的大小
模板:strcmp(数组名1,数组名2)
strcpy、stract、strcmp Vs strncpy、strnact、strncmp
相同点
模板以及作用相同
不同点
strcpy、stract、strcmp的参数
int strcmp ( const char * str1, const char * str2 );
char * strcpy ( char * destination, const char * source );
strncpy、strnact、strncmp的参数
大家可以很明显地发现加了n的函数参数中多了个num那么这个num有什么用呢?这里我也不卖关子了,这个num就是限制的个数。也许小伙伴此刻一定恍然大悟,这里我们还是做一下总结
区别
1.参数上加了n的多了个参数num
2.num作用是限制个数。 eg.如复制字符的个数。
那么到这里,本篇文章的主要内容就结束了,最后就是给大家分享个查c语言以及c++函数用的“小字典”,网站我就给大家放在下方啦大家自行保存一下哦
cplusplus.com - The C++ Resources Network
那么使用方法如下:
在这个框中输入想要查找的函数
那么本篇文章的内容到此结束,喜欢我的小伙伴可以给我点个关注哦,我们下期再见,拜拜!
相关文章:

c语言从入门到函数速成(完结篇)
哈喽,小伙伴们大家好呀,本篇文章是这个系列的完结篇,希望大家看完后能有所收获哦 首先能看到这里的同学,一定也是自觉性比较强的了,我会在文章末尾给大家发点小福利 那么,我们先来通过数学中的函数来引入一…...

关于linux磁盘告警问题
案例:我们在执行df命令时,查看到磁盘利用率很高,但是到相对应的目录执行du -sh *来找大文件时进行删除时,发现各个目录相加并不大,如下图: 使用df命令查看到根(/)目录使用到33G,而du命令显示只使…...

冯喜运:5.27黄金暴跌大阴后出现“暂定符”今日黄金原油操作策略
【黄金消息面分析】:金价虽然有大阴线暴跌,但依然属于超买后的调整而非熊市,对中长线投资者来说只是市场洗牌。因此,在出现企稳迹象之后,随时关注反弹时机的启动。未来几日,黄金空头可能在进一步发力之前需…...

前端JS必用工具【js-tool-big-box】学习,获取全球重点城市时间
我们去住一些旅馆的时候,或者一些国际性网站,经常可以看见他们的钟表会展示一些国家地区的时间,这个就是很常用的功能。但如果不常接触这个功能的开发网站呢,大家就看自己电脑右下角的时间展示,就是自己当前的具体时间…...

BioTech - 将蛋白质的 PDB 格式文件 转换成 mmCIF 格式文件 (Python)
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/139234247 蛋白质的三维结构信息通常可以通过两种格式的文件来获取:PDB (Protein Data Bank) 和 mmCIF (Macromolecular Crystallographic Information File…...

【编程题-错题集】奇数位丢弃(模拟 - 规律)
牛客对应题目链接:奇数位丢弃_牛客题霸_牛客网 (nowcoder.com) 一、分析题目 通过⼀两个例子的模拟,可以发现:每次起始删除的下标都是 2 的次方。根据这个规律,找到最后⼀次删除的起始位置的下标即可。 二、代码 #include <io…...

Docker安装MongoDB(Linux版)
文章目录 前言一、Docker环境的准备1.安装依赖2.安装Docker 二、使用Docker安装MongoDB1.mongo版本选取2.拉取合适的镜像3.宿主机创建MongoDB需要挂载的文件夹4.第一次无认证创建mongo用户5.启动需要认证的mongo容器 问题汇总总结 前言 本文章主要介绍在Centos系统,…...

【设计模式】JAVA Design Patterns——Commander(指挥官模式)
🔍目的 用于处理执行分布式事务时可能遇到的所有问题。 🔍解释 处理分布式事务很棘手,但如果我们不仔细处理,可能会带来不想要的后果。假设我们有一个电子商务网站,它有一个支付微服务和一个运输微服务。如果当前运输…...

解决vue3项目vite打包忽略.vue扩展名
项目打包时报could not relolve “...”,因为vite已不再默认忽略.vue扩展名。 解决方法如下: 在vite.config.js中配置vite使其忽略 .vue 扩展名(不建议忽略) 注意:即使忽略了.vue文件,在实际写的时候也要加…...

Vue基础(数据绑定、export使用)
1、简介 在使用vue开发的过程中,经常会遇到一些容易混淆的问题,因此,在本文中进行汇总操作,只有通过不断总结学习,才能更好掌握vue的使用(每天进步一点)。 2、数据绑定 在js中定义数据…...

【传知代码】基于图神经网络的知识追踪方法(论文复现)
前言:本文将深入探讨基于图神经网络的知识追踪方法,旨在通过构建知识图谱来捕捉知识之间的复杂关联,并利用图神经网络强大的表示学习能力来建模学生的学习过程。我们将首先介绍图神经网络的基本原理和关键技术,然后详细阐述如何将…...
Vue与React、Angular的比较
Vue、React和Angular是前端开发中三个流行的JavaScript框架,它们各自具有不同的特点、优势和适用场景。以下是对这三个框架的比较: 1. 基本概念 Vue:Vue是一套用于构建用户界面的渐进式框架,其核心库专注于视图层,易…...
LINQ(二) —— 流式语句
总目录 C# 语法总目录 LINQ 二 —— 流式语句 1.1 序列相关部分运算符1.2 查询相关部分运算符 1.1 序列相关部分运算符 Take 运算符:Take 是拿出序列的几个数 Skip 运算符:Skip 是跳过序列的前几个数 Reverse 运算符:Reverse 是将序列反转 …...
怎么查看MySQL服务的最大连接,已经使用的连接数?怎么配置最大连接数?
要查看和配置MySQL服务的最大连接数以及已经使用的最大连接数,可以使用以下SQL语句和步骤: 查看MySQL服务的最大连接数和已经使用的最大连接数 查看当前最大连接数: SHOW VARIABLES LIKE max_connections;查看已经使用的最大连接数ÿ…...

微信小程序毕业设计-跑腿系统项目开发实战(附源码+演示视频+LW)
大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:微信小程序毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计…...

stm32通过esp8266连接阿里云平台代码讲解
连接服务器 首先,按照一定的规则,获取连接阿里服务器所需要的ClientID(客户端D)、Username(用户名)、Passward(密码),ServerIP(域名),ServerPort(…...

突发!某大厂机房掉电,MySQL数据库无法启动,紧急恢复过程...
作者:IT邦德 中国DBA联盟(ACDU)成员,10余年DBA工作经验, Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主,全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复, 安装迁移,性能优化、故障…...

SpringCloudAlibaba:6.2RocketMQ的普通消息的使用
简介 普通消息也叫并发消息,是发送效率最高,使用最多的一种 依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSch…...

vue+echart :点击趋势图中的某一点或是柱状图,出现弹窗,并传输数据
样式 在趋势图中点击某一个柱状图,出现下面的弹窗 代码实现 主要是在趋势图页面代码中,在初始化趋势图的设置中,添加对趋势图监听的点击方法 drawChart() {const chartData this.chartData;let option {};if (!chartData.xData?.len…...

2024年上半年软考什么时候查成绩?附查询流程
考试一旦结束,并不意味着与考试相关的事情也就结束了。2024年上半年信息系统项目管理师等软考考试结束后,我们还需要关注考后和证书相关的事情,比如成绩查询、证书领取等等。 2024年上半年软考成绩查询 查询时间:预计在2024年7月…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...

用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...