【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 ...
随机推荐
- python3openpyxl库的简单使用
python3操作表格有很多库,现在主要给大家介绍一下我比较喜欢用的openpyxl库,安装直接pip安装,对pip安装有疑问可以参考我有关于pip使用的文章. wb=Workbook()#新建表格 ...
- window10系统下,彻底删除卸载mysql
本文介绍,在Windows10系统下,如何彻底删除卸载MySQL...1>停止MySQL服务开始->所有应用->Windows管理工具->服务,将MySQL服务停止.2> ...
- [Luogu5384][Cnoi2019] 雪松果树
传送门 虽然这题是一道二合一,也不算难,但还是学到了很多东西啊,\(k\) 级儿子个数的五种求法!!我还是觉得四种比较好( \(k\) 级儿子个数有五种求法,你知道么? --鲁迅 首先 \(k\) 级 ...
- 2、linu
一.常用linux命令 昨日内容回顾 linux基本命令 ls 查看目录和文件ls -la 查看所有文件和目录详情(包括隐藏文件, -l和-a可以单独使用)mkdirrmdirtouchcatcdrm ...
- 在linux用ueditor遇到的问题
在使用ueditor时,遇到很多问题.最大问题是就是服务器返回出错 最让人头疼的是preview没有任何信息.之前也找过很多的资料,很多资料都没有提到修改controller.php文件中error_ ...
- mysql update获取主键
mysql update获取主键<pre>SET @update_id := 0;UPDATE mobantestinfo1 SET info2 = 'value', id = (SELE ...
- php ffmpeg视频和序列帧转化
php ffmpeg视频和序列帧转化 <pre>$cmd=shell_exec("ffmpeg -i ".__DIR__ . "/shipin1.mp4 -r ...
- fcgi-2.4.1.tar.gz 和 spawn-fcgi-1.6.4.tar.gz 百度云
链接:https://pan.baidu.com/s/1nEzOkFC0-rfVMDy_BygLWg 提取码:ty0e 美好的东西都是免费滴
- Resource Path Location Type Target runtime Apache Tomcat v6.0 is not defined(项目报错)已解决
我换了开发工具后,导入的项目不是这里报错就是那里不错.不过,我喜欢.在tomcat里面部署项目后,定位到报错行时,总是提示我这句话:Description Resource Path Location ...
- cocos creator 3D | 蚂蚁庄园运动会星星球
上一篇文章写了一个简易版的蚂蚁庄园登山赛,有小伙伴留言说想要看星星球的,那么就写起来吧! 效果预览 配置环境 cocos creator 3d 1.0.0 小球点击 3d里节点无法用 cc.Node. ...