C语言函数—库函数

函数是什么?

数学中我们常见到函数的概念。但是你了解C语言中的函数吗?

维基百科中对函数的定义:子程序

在计算机科学中,子程序(英语:Subroutine, procedure, function, routine, method, subprogram, callable unit),是一个大型程序中的某部分代码, 由一个或多个语句块组成。它负责完成某项特定任务,而且相较于其他代 码,具备相对的独立性

一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏。这些代码通常被集成为软件库。

在数学中

f(x) = 2 * x + 1;这就是一个函数

image-20240312124951395

这就是C语言中的函数,a,b为输入,c 为输出

C语言中函数的分类:

  1. 库函数
  2. 自定义函数
库函数:
为什么会有库函数?
  1. 我们知道在我们学习C语言编程的时候,总是在一个代码编写完成之后迫不及待的想知道结果,想 把这个结果打印到我们的屏幕上看看。这个时候我们会频繁的使用一个功能:将信息按照一定的格 式打印到屏幕上(printf)。
    1. 在编程的过程中我们会频繁的做一些字符串的拷贝工作(strcpy)。
      1. 在编程是我们也计算,总是会计算n的k次方这样的运算(pow)。 像上面我们描述的基础功能,它们不是业务性的代码。我们在开发的过程中每个程序员都可能用的到, 为了支持可移植性和提高程序的效率,所以C语言的基础库中提供了一系列类似的库函数,方便程序员 进行软件开发。 那怎么学习库函数呢? 这里我们简单的看看:www.cplusplus.com

image-20240312125320370

image-20240312125342451

看看我们最熟悉的stdio头文件所定义的函数,每一个函数都解释的很详细

image-20240312125539030

简单的总结,C语言常用的库函数都有:

  • IO函数

    printf scanf putchar getchar

  • 字符串操作函数

    strcmp strlen

  • 字符操作函数

    toupper小写转大写

  • 内存操作函数

    memcpy memcmp memset

  • 时间/日期函数

    time

  • 数学函数

  • 其他库函数

如何学会使用库函数?

需要全部记住吗?No

需要学会查询工具的使用:

MSDN(Microsoft Developer Network)

www.cplusplus.com http://en.cppreference.com(英文版)

http://zh.cppreference.com(中文版)

英文很重要。最起码得看懂文献。

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

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

相关文章

VSCode调试C++项目时无法显示长字符串的所有内容

记录一次失败的尝试,参考解决vs code 调试golang时字符串显示不全的问题。_golang gin buf数据不全-CSDN博客 但是笔者当前使用的VSCode版本不支持在launch.json中添加dlvLoadConfig选项 笔者的思路是如果VSCode不支持,那就下降到下一层,VSC…

c++初阶------类和对象(下)

作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 ​🎂 作者介绍: 🎂🎂 🎂 🎉🎉&#x1f389…

判断、v-if判断显示隐藏,功能区循环案例。

判断条件 1.第一种 如果身份是管理员 &#xff0c; 那么全部显示 如果身份是员工 &#xff0c;那么除了value等于1的全部都显示 v-if"( user.state.level admin) || ( user.state.level staff && item.value ! 1)"<view class"funcBox">&…

Solidity Uniswap V2 factory contract

factory contract 工厂合约是所有已部署pair合约的注册表。我们不希望出现相同的pair&#xff0c;这样流动性就不会被分割成多个。factory合约还简化了pair合约的部署&#xff1a;无需手动部署pair合约&#xff0c;只需调用factory合约中的方法即可。 https://github.com/XuHug…

马斯克将在本周,开源类ChatGPT产品Grok

3月11日晚&#xff0c;马斯克在社交平台宣布&#xff0c;将在本周开源生成式AI产品——Grok。 Grok是马斯克旗下公司xAI在去年11月发布的&#xff0c;一款类ChatGPT产品&#xff0c;可以提供生成文本、代码、邮件、信息检索等功能。其测试性能超过GPT-3.5、LLaMA 2 70B&#x…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的铁轨缺陷检测系统(Python+PySide6界面+训练代码)

摘要&#xff1a;开发铁轨缺陷检测系统对于物流行业、制造业具有重要作用。本篇博客详细介绍了如何运用深度学习构建一个铁轨缺陷检测系统&#xff0c;并提供了完整的实现代码。该系统基于强大的YOLOv8算法&#xff0c;并对比了YOLOv7、YOLOv6、YOLOv5&#xff0c;展示了不同模…

Linux运维:深入了解 Linux 目录结构

Linux运维&#xff1a;深入了解 Linux 目录结构 一、 Linux 目录结构与 Windows之间的主要区别二、Linux根目录结构三、常见目录及其作用 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 一、 Linux 目录结构与 Windows之间的主要区别 1、根…

2024年备考软考,别犯这些常见错误!

距离2024年上半年软考正式考试还剩不到八十天的时间&#xff0c;留给考生的备考时间越来越少&#xff0c;因此大家在学习时要避免犯一些常见错误&#xff0c;尽量不浪费宝贵的学习时间&#xff0c;科学备考。 误区一&#xff1a;不制定学习计划 不制定学习计划意味着缺乏系统…

Kafka常见使用问题

消息丢失 生产者方&#xff1a;设置ack为1或-1/all可以防止生产的消息丢失&#xff0c;如果要做到生产消息成功率提高到最高&#xff0c;ack设置成all&#xff0c;把min.insync.replicas配置成分区备份数&#xff0c;把ack设置成1或者-1/all&#xff0c;这样生产者生产的消息发…

vivado clock ip核的使用

clock 偶数倍分频就是进行计数器计数&#xff0c;奇数倍分频如果不要求占空比的话也是进行计数&#xff0c;如果要求0.5的占空比的话&#xff0c;则需要进行两个计数器&#xff0c; 对于实现占空比为50%的N倍奇数分频&#xff0c;我们可以分解为两个通道&#xff1a; 上升沿触…

数据拯救指南:解决文件或目录损坏且无法读取的终极策略

在日常的计算机使用中&#xff0c;我们经常会遇到文件或目录损坏且无法读取的困扰。当这类问题发生时&#xff0c;无论是重要的文档、照片还是视频文件&#xff0c;都可能会变得无法访问&#xff0c;给我们的工作和生活带来极大的不便。面对这种情况&#xff0c;我们首先需要了…

落地灯哪个牌子好?五款品质可靠的落地灯,各具亮点

近年来&#xff0c;落地灯作为最适合目前用眼人群使用的照明电器&#xff0c;以显著的照明效果获得了广泛认可&#xff0c;并成为众多学生党、上班族用眼时的必备工具。其受欢迎的程度不断攀升&#xff0c;促使越来越多的人都选择入手落地灯。然而&#xff0c;我发现市场上也有…

关于JSP的打印调试,再来一篇巩固巩固

JSP实质上就是html混入了Java&#xff0c;或者说是HTMLJavaScriptCSSJava的混合⽂件&#xff0c;那么就会牵扯到各种语言之间的变量引用问题&#xff0c;既然基础是html&#xff0c;那么就先看看html怎么引用其他内容&#xff0c;以及其他内容间值的互引用。 1、Html获取JavaS…

数据结构之栈详解(C语言手撕)

&#x1f389;个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名乐于分享在学习道路上收获的大二在校生 &#x1f648;个人主页&#x1f389;&#xff1a;GOTXX &#x1f43c;个人WeChat&#xff1a;ILXOXVJE &#x1f43c;本文由GOTXX原创&#xff0c;首发CSDN&…

HYBBS 表白墙网站PHP程序源码,支持封装成APP

PHP表白墙网站源码&#xff0c;适用于校园内或校区间使用&#xff0c;同时支持封装成APP。告别使用QQ空间的表白墙。 简单安装&#xff0c;只需PHP版本5.6以上即可。 通过上传程序进行安装&#xff0c;并设置账号密码&#xff0c;登录后台后切换模板&#xff0c;适配手机和PC…

如何在Linux本地搭建Tale网站并实现无公网ip远程访问

文章目录 前言1. Tale网站搭建1.1 检查本地环境1.2 部署Tale个人博客系统1.3 启动Tale服务1.4 访问博客地址 2. Linux安装Cpolar内网穿透3. 创建Tale博客公网地址4. 使用公网地址访问Tale 前言 今天给大家带来一款基于 Java 语言的轻量级博客开源项目——Tale&#xff0c;Tale…

java 解压gzip json报文

import java.io.*; import java.util.zip.GZIPInputStream;public class GzipJsonParser {public static void main(String[] args) {try {// 读取GZIP压缩的JSON报文FileInputStream fis new FileInputStream("compressed.json.gz");GZIPInputStream gzipInputStre…

人工智能与挖矿 为什么要用显卡而不是CPU

人工智能&#xff08;AI&#xff09;和加密货币挖矿都是对计算资源要求很高的应用。在这两种情况下&#xff0c;使用显卡&#xff08;GPU&#xff09;而不是中央处理器&#xff08;CPU&#xff09;的原因主要是因为显卡在处理特定类型的计算任务时具有显著的优势。 1、并行处理…

JMeter 二次开发之环境准备

通过JMeter二次开发&#xff0c;可以充分发挥JMeter的潜力&#xff0c;定制化和扩展工具的能力以满足具体需求。无论是开发自定义插件、函数二次开发还是定制UI&#xff0c;深入学习和掌握JMeter的二次开发技术&#xff0c;将为接口功能测试/接口性能测试工作带来更多的便利和效…

【Linux/OS学习】基础文件控制/IO——内存文件

文章目录 一、 基础文件控制1.1 系统接口open函数1.2 Linux中文件描述符1.2 C语言FILE中的文件描述符 二、重定向1. 输出重定向2. 追加重定向3. 输入重定向 tips:fd的分配规则 一个文件要有一个唯一的文件标识&#xff0c;以便用户识别和引用。 文件名包含3部分&#xff1a;文件…