【C/C++】之C语言库函数
这个帖子记录一下 C语言 中经常用到的函数库中的函数及其用法。
1、<math.h>
math.h是进行数学操作的函数库。使用这个函数库,需要先导入包: #include <math.h> 。math包中的函数如下:
| 函数定义 | 函数功能 | 函数说明 |
|---|---|---|
| int abs(int x) | 求整数x的绝对值 | |
| double fabs(double x) | 求实数x的绝对值 | 小数部分不会被忽略 |
| double exp(double x) | 求e的x次方的值 | |
| double floor(double x) | 将实数x向下取整 | |
| double ceil(double x) | 将实数x向上取整 | |
| double log(double x) | 求以e为底x的对数的值 | |
| double log10(double x) | 求以10为底x的对数的值 | |
| double pow(double x, double y) | 求x的y次方的值 | |
| double sqrt(double x) | 将x开平方 | |
| double sin(double x) | 求弧度x的正弦值 | x是弧度值 |
| double cos(double x) | 求弧度x的余弦值 | x是弧度制 |
| double tan(double x) | 求弧度x的正切值 | x是弧度制 |
以下是利用上面的函数编写的代码:
#include <stdio.h>
#include <stdlib.h>
#include <math.h> int main() {
printf("-20的绝对值是:%d\n", abs(-));
printf("-20.5的绝对值是:%f\n", fabs(-20.5));
printf("e的二次方的值是:%f\n", exp());
printf("20.9向下取整是:%f\n", floor(20.9));
printf("20.1向上取整是:%f\n", ceil(20.1));
printf("以e为底100的对数是:%f\n", log());
printf("以10为底100的对数是:%f\n", log10());
printf("2的3次方的值是:%f\n", pow(, ));
printf("9开平方的值是:%f\n", sqrt());
return ;
}
运行结果如下:
-20的绝对值是:20
-20.5的绝对值是:20.500000
e的二次方的值是:7.389056
20.9向下取整是:20.000000
20.1向上取整是:21.000000
以e为底100的对数是:4.605170
以10为底100的对数是:2.000000
2的3次方的值是:8.000000
9开平方的值是:3.000000 Process returned 0 (0x0) execution time : 1.966 s
Press any key to continue.
2、<ctype.h>
ctype.h是进行字符操作的函数库。使用这个函数库需要先导入包: #include <ctype.h> 。ctype包中的函数如下:
| 函数定义 | 函数功能 | 函数说明 |
|---|---|---|
| int isalnum(int ch) | 判断字符是不是字母或数字 | 参数可以是ASCII码,也可以是一个字符 |
| int isalpha(int ch) | 判断字符是不是字母 | 参数可以是ASCII码,也可以是一个字符 |
| int isdigit(int ch) | 判断字符是不是数字 | 参数可以是ASCII码,也可以是一个字符 |
| int islower(int ch) | 判断字符是不是小写字母 | 参数可以是ASCII码,也可以是一个字符 |
| int isupper(int ch) | 判断字符是不是大写字母 | 参数可以是ASCII码,也可以是一个字符 |
| int ispunct(int ch) | 判断字符是不是除空格、字母、数字之外的可打印字符 | 参数可以是ASCII码,也可以是一个字符 |
| int isspace(int ch) | 判断字符是不是空格、制表或换行符 | 参数可以是ASCII码,也可以是一个字符 |
| int tolower(int ch) | 将大写字母转换成小写字母 | 参数可以是ASCII码,也可以是一个字符 |
| int toupper(int ch) | 将小写字母转换成大写字母 | 参数可以是ASCII码,也可以是一个字符 |
以下是利用上面的函数编写的代码:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h> int main() {
printf("m是不是数字或字母?%s\n", isalnum('m') ? "是" : "否");
printf("m是不是字母?%s\n", isalpha('m') ? "是" : "否");
printf("m是不是数字?%s\n", isdigit('m') ? "是" : "否");
printf("m是不是小写字母?%s\n", islower('m') ? "是" : "否");
printf("m是不是大写字母?%s\n", isupper('m') ? "是" : "否");
printf("%是不是除空格、字母、数字之外的可打印字符?%s\n", ispunct('%') ? "是" : "否");
printf("\\n是不是空格、制表符或换行符?%s\n", isspace('\n') ? "是" : "否");
printf("将m转为大写字母:%c\n", toupper('m'));
printf("将M转为小写字母:%c\n", tolower('M'));
return ;
}
运行结果如下:
m是不是数字或字母?是
m是不是字母?是
m是不是数字?否
m是不是小写字母?是
m是不是大写字母?否
是不是除空格、字母、数字之外的可打印字符?是
\n是不是空格、制表符或换行符?是
将m转为大写字母:M
将M转为小写字母:m Process returned 0 (0x0) execution time : 1.732 s
Press any key to continue.
3、<string.h>
string.h是进行字符串操作的函数库。使用这个函数库需要导入包: #include <string.h> 。string包中的函数如下:
| 函数定义 | 函数功能 | 函数说明 |
|---|---|---|
| char* strcat(char* s1, char* s2) | 将字符串s2拼接到字符串s1后面 | 字符串s1的长度必须足够 |
| char* strcpy(char* s1, char* s2) | 将字符串s2复制给字符串s1 | |
| int strcmp(char* s1, char* s2) | 字符串s1和s2进行比较 | 逐个字母比较,字母大的大;如果前面的字母都相同,则长的字符串大 |
| unsigned strlen(char* s) | 获取字符串s的长度 | |
| char* strstr(char* s1, char* s2) | 获取s1中s2第一次出现的地方后面的内容 | 包括s2 |
以下是利用上面的函数编写的代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h> int main() {
char s1[] = "I am string 1.";
char* s2 = "I am not string 2.";
printf("字符串1的值是:%s\n", s1);
printf("字符串2的值是:%s\n", s2);
printf("将s2拼接到s1后面得到:%s\n", strcat(s1, s2));
printf("s1和s2比较:%s\n", strcmp(s1, s2) ? "s1大" : "s2大");
printf("将s2复制给s1:%s\n", strcpy(s1, s2));
printf("字符串s1的长度:%d\n", strlen(s1));
printf("s1中not及之后的内容:%s\n", strstr(s1, "not"));
return ;
}
运行结果如下:
字符串1的值是:I am string 1.
字符串2的值是:I am not string 2.
将s2拼接到s1后面得到:I am string 1.I am not string 2.
s1和s2比较:s1大
将s2复制给s1:I am not string 2.
字符串s1的长度:18
s1中not及之后的内容:not string 2. Process returned 0 (0x0) execution time : 1.747 s
Press any key to continue.
【C/C++】之C语言库函数的更多相关文章
- C语言库函数--操作文件
//C库函数读取文件的代码 I/O缓冲机制 C语言库函数写文件都是写在内存中,然后一次写入磁盘.提高了效率. 读写文件,不对系统进行操作,一般采用C语言库函数.移植可以在任何可以对C支持的操作系统,而 ...
- C语言库函数大全及应用实例十四
原文:C语言库函数大全及应用实例十四 [编程资料]C语言库函数大全及应用实例十四 函数名: strset 功 能: 将一个串 ...
- C语言库函数大全及应用实例十三
原文:C语言库函数大全及应用实例十三 [编程资料]C语言库函数大全及应用实例十三 函数名: stat 功 能: 读取打 ...
- C语言库函数大全及应用实例十一
原文:C语言库函数大全及应用实例十一 [编程资料]C语言库函数大全及应用实例十一 函数名: setbkcolor 功 能 ...
- C语言库函数大全及应用实例十二
原文:C语言库函数大全及应用实例十二 [编程资料]C语言库函数大全及应用实例十二 函数名: setrgbpalette ...
- C语言库函数大全及应用实例十
原文:C语言库函数大全及应用实例十 [编程资料]C语言库函数大全及应用实例十 函数名: qsort 功 能: 使 ...
- C语言库函数大全及应用实例九
原文:C语言库函数大全及应用实例九 [编程资料]C语言库函数大全及应用实例九 函数名: mktemp 功 ...
- C语言库函数大全及应用实例八
原文:C语言库函数大全及应用实例八 [编程资料]C语言库函数大全及应用实例八 函数名: kbhit 功 能: 检查 ...
- C语言库函数大全及应用实例七
原文:C语言库函数大全及应用实例七 [编程资料]C语言库函数大全及应用实例七 函数名: getw 功 能: 从流中取一整数 用 法: int getw(FILE *strem); 程序例: #i nc ...
- C语言库函数大全及应用实例五
原文:C语言库函数大全及应用实例五 [编程资料]C语言库函数大全及应用实例五 函数名: getcurdi ...
随机推荐
- Life is short, I love Python~!
python学习目录 一:计算机基础 计算机基础 二:python基础 python基础 三:函数 函数 内置函数匿名函数 迭代器生成器 四:文件处理&异常 文件处理 异常处理 五:模块 常用 ...
- mysql多种备份与恢复方式一
基于mysql社区版5.7,严重声明:本文中图方便直接写入了-p数据库密码,在生产环境中如果指定了一定要使用history -C清空历史命令记录哦,所有博客作者原创纯手打,转载一定要注明本博客链接,感 ...
- [模板]tarjan——最后通牒
这么久了我还是不会板子,你们随便笑话我吧. 再不会打我实在是无能为力了. 这篇博客写的像个智障一样...写它的目的就是自嘲? 才不是,为了方便查阅,因为我真的记不住. 对于割边,要存储该点入边的编号, ...
- [考试反思]0815NOIP模拟测试22
40分,15名. 1-4:120 75 70 70 35分20名...总之差距极小不想说了 昨天教练说:以后的考试还是联赛知识点,但是难度比联赛高. 没听进去,以为是对于所有人而言的,也就是T1难度变 ...
- python学习之【第十一篇】:Python中的文件操作
1.前言 在Python中,对文件的操作主要遵循以下流程: 打开文件,得到文件句柄并赋值给一个变量 通过文件句柄对文件进行操作 关闭文件 2.打开文件 使用open函数,可以打开一个已经存在的文件,或 ...
- Consul安装集群搭建
1 consul的安装和配置 1.1 consul agent 命令介绍 下载consul_1.0.0_linux_amd64.zip解压,里面只有一个consul可执行文件,其中,consul最常用 ...
- 双十一还在盖楼?少年你应该掌握Docker 部署 Consul了
▶ Spring Boot 依赖与配置 Maven 依赖 <dependencyManagement> <dependencies> <dependency> &l ...
- 009.Kubernetes二进制部署kube-apiserver
一 部署master节点 1.1 master节点服务 kubernetes master 节点运行如下组件: kube-apiserver kube-scheduler kube-controlle ...
- 高德地图3D菱形 区域点击搜索
更新一波吧 <!doctype html> <html lang="zh-CN"> <head> <!-- 原始地址://webapi.a ...
- WebSocket插件
;!(function(window){ "use strict"; let Event = { wsMesEvent:function(message){ console.log ...