当前位置: 首页 > news >正文

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…...

【编程题-错题集】奇数位丢弃(模拟 - 规律)

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

Docker安装MongoDB(Linux版)

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

【设计模式】JAVA Design Patterns——Commander(指挥官模式)

&#x1f50d;目的 用于处理执行分布式事务时可能遇到的所有问题。 &#x1f50d;解释 处理分布式事务很棘手&#xff0c;但如果我们不仔细处理&#xff0c;可能会带来不想要的后果。假设我们有一个电子商务网站&#xff0c;它有一个支付微服务和一个运输微服务。如果当前运输…...

解决vue3项目vite打包忽略.vue扩展名

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

Vue基础(数据绑定、export使用)

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

【传知代码】基于图神经网络的知识追踪方法(论文复现)

前言&#xff1a;本文将深入探讨基于图神经网络的知识追踪方法&#xff0c;旨在通过构建知识图谱来捕捉知识之间的复杂关联&#xff0c;并利用图神经网络强大的表示学习能力来建模学生的学习过程。我们将首先介绍图神经网络的基本原理和关键技术&#xff0c;然后详细阐述如何将…...

Vue与React、Angular的比较

Vue、React和Angular是前端开发中三个流行的JavaScript框架&#xff0c;它们各自具有不同的特点、优势和适用场景。以下是对这三个框架的比较&#xff1a; 1. 基本概念 Vue&#xff1a;Vue是一套用于构建用户界面的渐进式框架&#xff0c;其核心库专注于视图层&#xff0c;易…...

LINQ(二) —— 流式语句

总目录 C# 语法总目录 LINQ 二 —— 流式语句 1.1 序列相关部分运算符1.2 查询相关部分运算符 1.1 序列相关部分运算符 Take 运算符&#xff1a;Take 是拿出序列的几个数 Skip 运算符&#xff1a;Skip 是跳过序列的前几个数 Reverse 运算符&#xff1a;Reverse 是将序列反转 …...

怎么查看MySQL服务的最大连接,已经使用的连接数?怎么配置最大连接数?

要查看和配置MySQL服务的最大连接数以及已经使用的最大连接数&#xff0c;可以使用以下SQL语句和步骤&#xff1a; 查看MySQL服务的最大连接数和已经使用的最大连接数 查看当前最大连接数&#xff1a; SHOW VARIABLES LIKE max_connections;查看已经使用的最大连接数&#xff…...

微信小程序毕业设计-跑腿系统项目开发实战(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…...

stm32通过esp8266连接阿里云平台代码讲解

连接服务器 首先&#xff0c;按照一定的规则&#xff0c;获取连接阿里服务器所需要的ClientID&#xff08;客户端D&#xff09;、Username&#xff08;用户名&#xff09;、Passward(密码)&#xff0c;ServerIP&#xff08;域名&#xff09;&#xff0c;ServerPort&#xff08…...

突发!某大厂机房掉电,MySQL数据库无法启动,紧急恢复过程...

作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验&#xff0c; Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主&#xff0c;全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复&#xff0c; 安装迁移&#xff0c;性能优化、故障…...

SpringCloudAlibaba:6.2RocketMQ的普通消息的使用

简介 普通消息也叫并发消息&#xff0c;是发送效率最高&#xff0c;使用最多的一种 依赖 <?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 :点击趋势图中的某一点或是柱状图,出现弹窗,并传输数据

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

2024年上半年软考什么时候查成绩?附查询流程

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

Fastboot Enhance:革新性Windows一站式Android设备管理工具

Fastboot Enhance&#xff1a;革新性Windows一站式Android设备管理工具 【免费下载链接】FastbootEnhance A user-friendly Fastboot ToolBox & Payload Dumper for Windows 项目地址: https://gitcode.com/gh_mirrors/fa/FastbootEnhance 在Android开发与维护领域&…...

2025最权威的五大降重复率方案推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 当下&#xff0c;各种各样的AI生成内容检测系统变得越发精密&#xff0c;这给那些依赖AI进行…...

《算法题讲解指南:动态规划算法--子序列问题(附总结)》--32.最长的斐波那契子序列的长度,33.最长等差数列,34.等差数列划分II-子序列

&#x1f525;小叶-duck&#xff1a;个人主页 ❄️个人专栏&#xff1a;《Data-Structure-Learning》《C入门到进阶&自我学习过程记录》 《算法题讲解指南》--优选算法 《算法题讲解指南》--递归、搜索与回溯算法 《算法题讲解指南》--动态规划算法 ✨未择之路&#xff0…...

解锁B站4K视频下载:bilibili-downloader开源工具完全指南

解锁B站4K视频下载&#xff1a;bilibili-downloader开源工具完全指南 【免费下载链接】bilibili-downloader B站视频下载&#xff0c;支持下载大会员清晰度4K&#xff0c;持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 在数字内容爆炸的…...

Windows环境下Oracle 11g快速部署与优化配置指南

1. Windows下Oracle 11g安装前的准备工作 在开始安装Oracle 11g之前&#xff0c;我们需要做好充分的准备工作。首先&#xff0c;确保你的Windows系统满足最低硬件要求&#xff1a;至少2GB内存&#xff08;推荐4GB以上&#xff09;、10GB可用磁盘空间&#xff08;实际需要根据数…...

《SpaceOS:空间操作系统白皮书(终极封神版)》——从“像素认知”到“空间计算”,构建现实世界的智能操作体系

&#x1f680;《SpaceOS&#xff1a;空间操作系统白皮书&#xff08;终极封神版&#xff09;》——从“像素认知”到“空间计算”&#xff0c;构建现实世界的智能操作体系&#xff08;镜像视界&#xff08;浙江&#xff09;科技有限公司原创技术体系&#xff09;&#x1f534; …...

智慧车站三维空间智能管控系统白皮书——构建“全域感知 × 连续认知 × 动态调度”的交通枢纽空间智能中枢

智慧车站三维空间智能管控系统白皮书——构建“全域感知 连续认知 动态调度”的交通枢纽空间智能中枢&#xff08;镜像视界&#xff08;浙江&#xff09;科技有限公司空间计算技术体系支撑&#xff09;一、项目背景&#xff1a;车站正在成为“超复杂空间系统”现代车站&#…...

简化的Penman-Monteith公式变体

vic水文模型 VIC水文模型径流模拟 全程视频教学指导&#xff0c;讲解详细 从基础内容处理讲解到模型参数率定全程教学。 零基础可学。 自用模型&#xff0c;从零到实践&#xff0c;历时两周左右 全套教程最近在折腾VIC水文模型的径流模拟&#xff0c;发现这玩意儿就像搭乐高—…...

为你的项目量身定制,基于快马ai生成openclaw实战集成安装方案

最近在做一个图像处理相关的项目&#xff0c;需要在Ubuntu服务器上集成OpenClaw来处理图像数据&#xff0c;同时还要和OpenCV协同工作。整个过程踩了不少坑&#xff0c;今天就把我的实战经验分享给大家&#xff0c;特别是如何利用InsCode(快马)平台来快速生成定制化的安装方案。…...

使用VESTA快速生成XRD标准图谱:从CIF文件到可视化分析

1. 从零开始&#xff1a;获取CIF文件与VESTA基础操作 搞材料研究的朋友们应该都遇到过这种情况&#xff1a;手头有套晶体结构数据&#xff0c;想快速验证下XRD图谱是否匹配理论值。这时候VESTA就是你的神器。我第一次用这软件时&#xff0c;被它的可视化效果惊艳到了——原来晶…...