C库函数详解(一)

        库函数并不是C语言的一部分。它是由人们根据需要编制并提供用户使用的。每一种C编译系统都提供了一批库函数,不同的编译系统所提供的库函数的数目和函数名以及函数功能是不完全相同的。ANSIC标准提出了一批建议提供的标准库函数。它包括了目前多数C编译系统所提供的库函数,但也有一些是某些C编译系统未曾实现的。考虑到通用性,本书列出ANSIC标准建议提供的、常用的部分库函数。对多数C编译系统,可以使用这些函数的绝大部分。由于C库函数的种类和数目很多(例如,还有屏幕和图形函数、时间日期函数、与系统有关的函数等,每一类函数又包括各种功能的函数),限于篇幅,不能全部介绍,只从需要的角度列出最基本的。读者在编制C程序时可能要用到更多的函数,请查阅所用系统的手册。

1.数学函数

使用数学函数时,应该在该源文件中使用以下命令行:

# include或# include"math.h

函数名

函数原型

功 能

返回值

说明

abs

int abs (int x)

求整数x的绝对值

计算结果

acoS

double acos (double x);

计算 cos(x)的值。

计算结果

x应在-1到1范围内。

asin

double asin (double x);

计算 sin(x)的值。

计算结果

x应在-1到1范围内。

atan

double atan (double x);

计算tan(x)的值。

计算结果

atan2

double atan2 (double x, double y);

计算 tan-1(x/y)的值。

计算结果

cos

double cos(double x);

计算cos(r)的值

计算结果

x的单位为弧度

cosh

double cosh (double x);

计算x的双曲余弦cosh(x)的值

计算结果

exp

double exp (double x);

求ex的值

计算结果

fabs

double fabs (double x);

求x的绝对值

计算结果

floor

double floor (double x);

求出不大于x的最大整数

该整数的双精度实数

fmod

double fmod (double x,double y);

求整除r/y的余数

返回余数的双精度数

frexp

 double frexp (double val,int*eptr);

把双精度数val分解为数字部分(尾数)x和以2为底的指数 n,即 val=x*2",n存放在eptr指向的变量中。

返回数字部分r

0.5≤x<1

log

double log(double x);

求 logex,即 In x。

计算结果

log10

double log10(double x);

求log10 x。

计算结果

modf

double modf (double val,double *iptr);

把双精度数 val分解为整数部分和小数部分,把整数部分存到iptr指分向的单元。

val 的小数部分

pow

double pow (double x,double y);

计算xy的值。

计算结果

rand

int rand (void);

产生-90到32767间的随机整数

随机整数

sin

double sin (double x);

计算 sinx 的值

计算结果

x单位为弧度

sinh

double sinh (double x);

计算x的双曲正弦函数 sinh(x)的值。

计算结果

sqrt

double tan (double x);

计算√x

计算结果

 x应≥0.

tan  

double sqrt (double x);

计算tan(x)的值。

计算结果

x单位为弧度

tanh

double tanh (double x);

计算x的双曲正切函数tanh(x)的值.

2.字符函数和字符串函数

ANSIC标准要求在使用字符串函数时要包含头文件“string.h”,在使用字符函数时

要包含头文件“ctype.h”。有的C编译不遵循ANSIC标准的规定,而用其他名称的头文件,请使用时查有关手册。

函数名

函数原型

功 能

返回值

包含文件

isalnum

int isalnum Gint ch);

检查 ch是否是字母(alpha)或数字(numerie)。

是字母或数字返回1;否则返回0.

ctype.h

isalpha

int isalpha (int ch);

检查ch是否字母。

是,返回1;不是则返回0.

ctype.h

iscntrl

int iscntrl (int ch);

检查ch是否控制字符(其ASCII 码在0和 0x1F之间)。

是,返回1;

不是,返回0.

ctype.h

isdigit

int isdigit (int ch);

检查ch是否数字(0~9)。

是,返回1;

不是,返回0.

ctype.h

isgraph

int isgraph (int ch);

检查ch是否可打印字符(其ASCII码在ox21到ox7E 之间),不包括空格。

是,返回1;

不是,返回0.

ctype.h

islower

int islower (intch);

检查ch是否小写字母(a~z)。

是,返回1;

不是,返回0.

ctype.h

isprint

int isprint (intch);

检查ch是否可打印字符(包括空格),其ASCII码在ox20到ox7E之间。

是,返回1;

不是,返回0.

ctype.h

ispunct

int ispunct (int ch);

检查ch是否标点字符(不包括空格),即除字母、数字和空格以外的所有可打印字符。

是,返回1;

不是,返回0.

ctype.h

isspace

int isspace (int ch);

检查ch是否空格、跳格符(制表符)或换行符。

是,返回1;

不是,返回0.

ctype.h

isupper

int isupper(int ch);

检查ch是否大写字母(A~Z).

是,返回1;

不是,返回0.

ctype.h

isxdigit

int isxdigit (int ch);

检查ch是否一个十六进制数字字符(即0~9,或A到F,或a~f).

是,返回1;

不是,返回0.

ctype.h

strcat

char * strcat ( char *strl, char*str2)

把字符串 str2 接到str1后面,strl最后面的'\0’被取消。

strl

string.h

strchr

char * strchr (char *str, int ch);

找出str指向的字符串中第一次出现字符 ch 的位置。

返回指向该位置的指针,如找不到,则返回空指针.

string.h

strcmp

int strcmp (char* strl,char *str2);

比较两个字符串strl、str2。

str1<str2,返回负数

str1=str2,返回0

str1>str2,返回正数

string.h

strcpy

char * strcpy (char *strl,char *str2);

把str2指向的字符串拷贝到str1中去。

返回str1。

string.h

strlen

unsigned int strlen(char*str);

统计字符串str 中字符的个数(不包括终止符‘\0')。

返回字符个数。

string.h

strstr

char* strstr (char* str1,char *str2);

返回该位置的指针,如找不到,返回空指针。

返回该位置的指针,如找不到,返回空指针。

string.h

tolower

int tolower (int ch);

ch字符转换为小写字母。

返回ch所代表的字符的小写字母。

ctype.h

toupper

int toupper (int ch);

将ch字符转换成大写字母。

与ch相应的大写字母。

ctype.h

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

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

相关文章

环形链表的约瑟夫问题

著名的 Josephus 问题&#xff1a; 据说著名犹太历史学家Josephus&#xff08;弗拉维奥约瑟夫斯&#xff09;有过以下的故事&#xff1a;在罗马人占领乔塔帕特后&#xff0c;39 个犹太人与Josephus及他的朋友躲到一个洞中&#xff0c;39个犹太人决定宁愿死也不要被敌人抓到&…

【哈希表专题】(1. 两数之和 面试题 01.02. 判定是否互为字符重排 217. 存在重复元素 219. 存在重复元素 II 49. 字母异位词分组)

文章目录 哈希表1. 两数之和面试题 01.02. 判定是否互为字符重排217. 存在重复元素219. 存在重复元素 II49. 字母异位词分组 哈希表 哈希表是什么&#xff1a;存储数据的容器 作用&#xff1a;快速查找某个元素。O(1) 当我们需要频繁的查找某一个数的时候&#xff0c;可以使…

LeetCode-Java:135.分发糖果

文章目录 题目解① 穷举法&#xff0c;用时3ms&#xff0c;超过26.93%②穷举法改进&#xff0c;用时2ms&#xff0c;超过97.78% 题目 n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求&#xff0c;给这些孩子分发糖果&#xff1a; 每个…

图像拼接——最小割准则提取拼接缝

一、最大流问题与Ford-Fulkerson算法介绍 二、最大流与最小割 显然,我们有对任意一个割,穿过该割的净流量上界就是该割的容量,即不可能超过割的容量。所以网络的最大流必然无法超过网络的最小割。最小割是指割的容量最小,最大流是指网络当中最大的净流量,简单的例子s是水龙…

速盾:cdn高防御服务器租用有哪些好处

随着互联网的发展&#xff0c;网络安全问题日益突出。攻击者利用各种手段不断对网站进行攻击&#xff0c;给网站的安全运行带来威胁。为了保障网站的正常运行和数据的安全&#xff0c;越来越多的网站开始租用CDN高防御服务器。那么&#xff0c;租用CDN高防御服务器有哪些好处呢…

【蓝桥备赛】异或和——树状数组、DFS

题目链接 异或和 思路分析 树上每个点都有一个点权&#xff0c;对树上的更新操作是修改指定点的点权&#xff0c;查询操作是查询指定点为根结点的子树点权异或和。 这里的这些操作都和树状数组的单点修改和区间查询非常相似&#xff0c;即我们在修改一个点时&#xff0c;同时…

蓝桥杯真题:递增序列

import java.util.Scanner; // 1:无需package // 2: 类名必须Main, 不可修改 public class Main {public static int is1(char ch[][],int m,int n){int ans0;for (int i0;i<m;i){for (int j0;j<n;j){int add1;while(jadd<n){if(ch[i][j]<ch[i][jadd]) ans; //横…

SAP新的扩展策略

在软件即服务&#xff08;SaaS&#xff09;应用的推动下&#xff0c;SAP Cloud优先的战略非常明显&#xff0c;随之带来的是SAP Clean core的战略&#xff0c;从经典的 ABAP 可扩展性模式转变为 SAP S/4HANA 现代可扩展性模式。那么Clean core战略到底是什么&#xff1f;新的扩…

基于向量数据库搭建自己的搜索引擎

前言【基于chatbot】 厌倦了商业搜索引擎搜索引擎没完没了的广告&#xff0c;很多时候&#xff0c;只是需要精准高效地检索信息&#xff0c;而不是和商业广告“斗智斗勇”。以前主要是借助爬虫工具&#xff0c;而随着技术的进步&#xff0c;现在有了更多更方便的解决方案&…

LongAdder 和 Striped64 基础学习

cs&#xff0c;表示 Cell 数组的引用&#xff1b;b&#xff0c;表示获取的 base 值&#xff0c;类似于 AtomicLong 中全局变量的 value 值&#xff0c;在没有竞争的情况下数据直接累加到 base 上&#xff0c;或者扩容时&#xff0c;也需要将数据写入到 base 上&#xff1b;v&am…

Linux第2课Windows下的环境配置-虚拟机安装

文章目录 Linux第2课Windows下的环境配置-虚拟机安装一、VMware虚拟机的安装&#xff08;一&#xff09;安装VMware&#xff08;二&#xff09;启动电脑本地的VMware相关服务 二、VirtualBox安装 Linux第2课Windows下的环境配置-虚拟机安装 本节课程提供了两种虚拟机的安装方法…

个人医疗开支预测项目

注意&#xff1a;本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 &#xff08;[www.aideeplearning.cn]&#xff09; 项目背景 随着医疗成本的持续上涨&#xff0c;个人医疗开支成为一个重要议题。理解影响医疗费用的多种因素对于医疗保险公司、政府机构以及个人…

磁环的使用方法

磁环的使用方法 磁环的工作原理共模滤波用法差模滤波用法各种材料磁环的对应频率磁环的感量计算 磁环的工作原理 共模滤波用法 差模滤波用法 各种材料磁环的对应频率 磁环的感量计算

Redis从入门到精通(四)Redis实战(二)商户查询缓存

↑↑↑请在文章头部下载测试项目原代码↑↑↑ 文章目录 前言4.2 商户查询缓存4.2.1 缓存介绍4.2.2 查询商户信息的传统做法4.2.2.1 接口文档4.2.2.2 代码实现4.2.2.3 功能测试 4.2.3 查询商户信息添加Redis缓存4.2.3.1 逻辑分析4.2.3.2 代码实现4.2.3.3 功能测试 4.2.3 数据一致…

软考之零碎片段记录(五)

一、设计模式 1.策略模式 可在运行时改变行为和算法。这种类型的设计模式属于行为模式。使得代码更加灵活和可维护。 2. 命令模式 将请求封装成独立的对象并通过参数传递。属于行为模式。 3. 观察者模式 当对象状态改变时&#xff0c;依赖于它的对象都会被通知并进行更新…

Java操作hdfs,总是报ClosedChannelException

现象 public boolean uploadFile(MultipartFile file, String dst) {try {long start System.currentTimeMillis();// 创建Hadoop配置对象Configuration config new Configuration();config.set("fs.defaultFS", hdfsUri);Path dstPath new Path(ROOT_PATH dst)…

【MATLAB源码-第177期】基于matlab的蜘蛛蜂优化算法(SWO)无人机三维路径规划,输出做短路径图和适应度曲线

操作环境&#xff1a; MATLAB 2022a 1、算法描述 蜘蛛蜂优化算法&#xff08;Spider Wasp Optimization, SWO&#xff09;是一种启发式算法&#xff0c;它受到自然界中蜘蛛和蜂这两种生物的行为模式启发而开发。这一算法主要模拟了蜘蛛捕食与蜂群社会行为之间的相互作用&…

Mac brew 安装软件

Mac brew 安装软件 homebrew 速度慢 将brew 切换到国内镜像源 # 速度一般 # 步骤一 cd "$(brew --repo)" git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git# 步骤二 cd "$(brew --repo)/Library/Taps/homebrew/homebr…

网络以太网之(1)基础概念

网络以太网之(1)基础概念 Author: Once Day Date: 2024年4月1日 一位热衷于Linux学习和开发的菜鸟&#xff0c;试图谱写一场冒险之旅&#xff0c;也许终点只是一场白日梦… 漫漫长路&#xff0c;有人对你微笑过嘛… 全系列文档可参考专栏&#xff1a;通信网络技术_Once-Day的…

C语言-----数据在内存中的存储(1)

1.整数在内存中的存储 我们之前就了解过整数的二进制写法分别有3种&#xff0c;分别为原码&#xff0c;反码&#xff0c;补码。整型在内存中存储的是补码。 原码&#xff0c;反码&#xff0c;补码都有自己的符号位和数值位&#xff0c;符号位为1时&#xff0c;则表示负数&…