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

那么使用方法如下:

在这个框中输入想要查找的函数


那么本篇文章的内容到此结束,喜欢我的小伙伴可以给我点个关注哦,我们下期再见,拜拜!

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

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

相关文章

基于python的k-means聚类分析算法,对文本、数据等进行聚类,有轮廓系数和手肘法检验

K-means算法是一种常见的聚类算法,用于将数据点分成不同的组(簇),使同一组内的数据点彼此相似,不同组之间的数据点相对较远。以下是K-means算法的基本工作原理和步骤: 工作原理: 初始化&#x…

Elasticsearch之入门与安装

Elaticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es也使用Java开发并使用Lucene作为其核心来…

探索python循环逻辑的魅力:从无限到有限

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言:循环逻辑的初步认识 二、无限循环:持续运转的引擎 三、有…

通过 PW6606 快充电压诱骗芯片,了解 USB-A 与 USB-C 快充协议

充电器一般分两种: 1, A 口充电器,就是我们常见的 USB 口,如下图,这种通用快充协议叫: QC3.0,QC2.0 快充,是属于快充刚开始的充电协议,支持 5V,9V,12V 和 20V 电压输出充电器&#x…

国内信创数据库生态

国内信创数据库生态 国内信创数据库主要包括但不限于以下几种: 数据库类型与厂商: 达梦 (武汉达梦) 官网 https://www.dameng.com/DM8.html 人大金仓 (北京) 官网 https://www.kingbase.com.cn/tyxsjk/i…

Open3D(C++) OTSU点云二值化

目录 一、算法原理二、代码实现三、结果展示1、原始点云2、二值化本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理 最大类间方差法(Between-class scatter method)是一种用于分割的方法,它通过计算图…

Moto和Inter字节序

inter: 低地址按照start_bit位放低字节依次往高字节填充 MotoLsb: 低地址按照start_bit位放高字节,依次往低字节填充MotoMsb:高字节按照start_bit位放低地址,依次往高字节填充

【linux】服务器sshd服务导致CPU负载过高问题

一、背景 一台服务器突然访问ssh特别缓慢,top命令查看后,服务器Load Average占用很高。看相关异常进程都是sshd服务导致。 二、排查思路 查看服务器内存,磁盘io都是正常,在用连接数也不多。 一开始就怀疑是不是服务器被恶意攻…

grpc、多集群、多租户

gRPC和服务发现 一个A high-performance, open-source universal RPC framework,高性能、开源的通用 RPC 框架。使用protobuf 语言基于文件定义服务,通过 proto3 工具生成指定语言的数据结构、服务端接口以及客户端 Stub。移动端上面则是基于标准的 HTTP…

snmp学习小结

背景 很多厂商网络设备获取网络信息接口不一样,snmp用来统一接口 官网Net-SNMP 模型 每个主机可以安装自己的snmp agent,它可以监控目标机器的网络流量,当外部查询snmp信息时,请求会发到目标机器的snmp agent,由sn…

谷歌地图 | Google I/O ‘24 重磅发布助力企业拓展海外市场的新功能!

编者按:本文是 Google I/O 2024 系列的一部分,该系列分享了Google 年度开发者大会上最新的 Google Maps Platform 新闻。 距全球首个 Google Maps API 问世已近 20 年。它引领了网络和移动端地理空间体验的革命。从那时起,Google Maps Platf…

深入剖析—【服务器硬件】与【Nginx配置】:从基础到实战

服务器硬件部分: Processor (CPU):服务器的计算核心,负责处理数据和执行程序。Memory (RAM):用于暂时存储和快速访问数据,决定了系统的运行速度和并发处理能力。Storage (HDD/SSD):长期存储数据的设备&…

力扣hot100:146. LRU 缓存

力扣hot100:146. LRU 缓存 听说华为实习笔试考了这题 如何使得插入操作时 O ( 1 ) O(1) O(1)呢?我们需要维护一个时间的长短,以便于取出离现在最长的时间,这个时间比较容易实现,我们维护一个time表示当前时间&#x…

kettle学习之子映射组件

映射组件就跟java中的函数方法一样,类似一个子流程。 练习开始 根据数据库表中的id查询出想要的字段,并把字段存到excel表中 一、表输入 二、子映射 映射输入规范,类似java方法中的形参 name vsxcd是方法返回的参数 三、excel输出 运行结果…

VS2022编译CMake的工程

开源项目大都是用Make文件组织项目代码编译。对熟悉Window体系,一直用VS套件工作的人,还是有不小的隔阂。 好在有大神们帮助我们解决此类问题,使用CMake工具,可以自动转换工程类型。 1、解压缩代码,找到CMakeList.tx…

Python考试复习--day3

1.统计字符串个数 ninput() z0 s0 k0 o0 for i in n:if i.isalpha():zz1elif i.isnumeric():ss1elif i.isspace():k1else:o1 print(字母有{}个,数字有{}个,空格有{}个,其他字符{}个.format(z,s,k,o))2.分类统计字符 ninput() x0 d0 s0 k0 o0 for i in n:if i.islower():x1elif …

韩愈,文起八代之衰的儒学巨匠

💡 如果想阅读最新的文章,或者有技术问题需要交流和沟通,可搜索并关注微信公众号“希望睿智”。 韩愈,字退之,生于唐代宗大历三年(公元768年),卒于唐穆宗长庆四年(公元82…

武汉网红餐馆火灾背后的安全警示:可燃气体报警器需定期校准

在餐饮业快速发展的今天,安全问题一直是行业内外关注的重点。 最近,武汉一家网红餐馆在就餐高峰期突发火灾,事件迅速成为公众关注的焦点。这一事故不仅给餐馆带来了重大损失,也引发了对于餐馆安全管理的深思。 尤其是可燃气体报…

基于SqlSugar的开发框架循序渐进介绍(20)-- 在基于UniApp+Vue的移动端实现多条件查询的处理

在做一些常规应用的时候,我们往往需要确定条件的内容,以便在后台进行区分的进行精确查询,在移动端,由于受限于屏幕界面的情况,一般会对多个指定的条件进行模糊的搜索,而这个搜索的处理,也是和前…

关于亚马逊、速卖通、虾皮、Lazada等平台自养号测评IP的重要性

在自养号测评中,IP的纯净度是一个至关重要的问题,它直接关系到账号的安全性和稳定性如果使用了被平台识别为异常或存在风险的IP地址,那么账号可能会面临被封禁的风险。这将对账号的正常使用和测评过程中造成严重影响。而使用纯净的IP地址&…