【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 ...
随机推荐
- 四、docker 仓库(让我们的镜像有处可存)
前言 前面讲完了docker 镜像和容器,以及通过Dockerfile 定制属于我们自己的镜像,那那现在就是需要将我们自己定制的镜像存放到仓库中供他们使用.这一套流程才算是正式走完了.从获取镜像,操作 ...
- Python3.8更新特性
Python 3.8.0稳定版 部分新特性: • PEP 572,赋值+表达式 :=可以将一个表达式或者一个 if (n := len(a)) > 10:#表达式仍然用,赋值也放一起,后面不用多 ...
- Linux基本指令与作用
在Linux操作系统中,有不同于windows的操作,可以用指令来进行操作. 指令 ls:查看文件 ls -a:查看隐藏文件 cd:移动到某个路径之中 clear:清屏rm:删除touch:创建mv: ...
- Spring Cloud gateway 三 自定义过滤器GatewayFilter
之前zuul 网关介绍.他有过滤器周期是四种,也是四种类型的过滤器.而gateway 只有俩种过滤器:"pre" 和 "post". PRE: 这种过滤器在请求 ...
- 通俗易懂了解Vuex
1.前言 在使用Vue进行开发的时候,关于vue组件通信的方式,除了通俗易懂了解Vue组件的通信方式这篇博文谈到三种通信方式,其实vue更提倡我们使用vuex来进行组件间的状态管理以及通信问题.Vue ...
- Hadoop3.2.1版本的环境搭建
最近有人提出能不能发一些大数据相关的知识,No problem ! 今天先从安装环境说起,搭建起自己的学习环境. Hadoop的三种搭建方式以及使用环境: 单机版适合开发调试: 伪分布式适合模拟集群学 ...
- wangkoala杂题总集(根据个人进度选更)
CQOI2014 数三角形 首先一看题,先容斥一波,求出网格内选三个点所有的情况,也就是C(n*m,3);然后抛出行里三点共线的方案数:C(n,3)*m; 同理就有列中三点共线的方案数:n*C(m,3 ...
- BigInt 的使用!
今天学长讲的卡特兰数真的是卡的一批,整个全是高精的题,这时我就使用重载运算符,然后一下午就过去了 首先来看一波水题(也就卡了2小时) . A. 网格 内存限制:512 MiB 时间限制:1000 ms ...
- Linux基础指令--韩顺平老师课程笔记
一.vi和vim编辑器 ①.三种模式 所有的 Linux 系统都会内建 vi 文本编辑器.vim 具有程序编辑的能力,可以看做是 vi 的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计. ...
- html5自动弹出软键盘的方法
html5自动弹出软键盘的方法<pre> <textarea placeholder="说点什么......" autofocus="autofocus ...