【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 ...
随机推荐
- 前端技术之:常见前端UI相关开源项目
Bootstrap https://getbootstrap.com/BootstrapVue provides one of the most comprehensive implementatio ...
- windows上使用VsCode开发C/C++
使用VsCode+makefile开发C/C++ 1. 介绍 vscode作为现在越来越受欢迎的编辑器之一,因为可以使用插件让vscode支持几乎市面上所有的编程语言,由于笔者主要接触的是 C/C++ ...
- MIT线性代数:11.矩阵空间、秩1矩阵和小世界图
- CSPS模拟 45 乔迁之喜
搬家了qwq 暑假在机房藏的吃的还没来得及吃qwq 有缘人会发现它的(其实并没有) 我居然也能和skyh并列了啊sto T1 安排打怪 不可能让左边的人越过右边人打的怪去打更靠右的怪吧? $O(n^2 ...
- 实测Maven上传jar包到私服的方法归纳
Hello,各位小伙伴大家好,我是小栈君.好久不见,最近因为工作的缘故,导致了更新变慢,但是小栈君也在积极的做素材的规划,毕竟学习知识点的归纳和提炼需要一定的时间. 所以还请大家多多见谅,下一期的分享 ...
- 【IOS开发—视图控制器】
一.UIViewController 视图控制器是UIViewController类或者其子类对象,每个视图控制器都负责管理一个视图层次结构.在UIViewController中有一个重要的UIVie ...
- 在线WEB开发编辑器,edt.df5d.com
在线WEB开发编辑器,http://edt.df5d.com 本地服务端下载 : https://pan.baidu.com/s/11SlcoU_D-KbzGFbs-_9Dpg 即可加载本地磁盘,也可 ...
- 【algo&ds】【吐血整理】4.树和二叉树、完全二叉树、满二叉树、二叉查找树、平衡二叉树、堆、哈夫曼树、B树、字典树、红黑树、跳表、散列表
本博客内容耗时4天整理,如果需要转载,请注明出处,谢谢. 1.树 1.1树的定义 在计算机科学中,树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结 ...
- ThinkPHP v5.1.x POP 链分析
环境:MacOS 10.13 MAMAP Prophp 7.0.33 + xdebugVisual Studio Code前言我所理解的 POP Chain:利用魔术方法并巧妙构造特殊属性调用一系列函 ...
- pat 1149 Dangerous Goods Packaging(25 分)
1149 Dangerous Goods Packaging(25 分) When shipping goods with containers, we have to be careful not ...