这个帖子记录一下 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语言库函数的更多相关文章

  1. C语言库函数--操作文件

    //C库函数读取文件的代码 I/O缓冲机制 C语言库函数写文件都是写在内存中,然后一次写入磁盘.提高了效率. 读写文件,不对系统进行操作,一般采用C语言库函数.移植可以在任何可以对C支持的操作系统,而 ...

  2. C语言库函数大全及应用实例十四

    原文:C语言库函数大全及应用实例十四                                       [编程资料]C语言库函数大全及应用实例十四 函数名: strset 功 能: 将一个串 ...

  3. C语言库函数大全及应用实例十三

    原文:C语言库函数大全及应用实例十三                                          [编程资料]C语言库函数大全及应用实例十三 函数名: stat 功 能: 读取打 ...

  4. C语言库函数大全及应用实例十一

    原文:C语言库函数大全及应用实例十一                                         [编程资料]C语言库函数大全及应用实例十一 函数名: setbkcolor 功 能 ...

  5. C语言库函数大全及应用实例十二

    原文:C语言库函数大全及应用实例十二                                          [编程资料]C语言库函数大全及应用实例十二 函数名: setrgbpalette ...

  6. C语言库函数大全及应用实例十

    原文:C语言库函数大全及应用实例十                                             [编程资料]C语言库函数大全及应用实例十 函数名: qsort 功 能: 使 ...

  7. C语言库函数大全及应用实例九

    原文:C语言库函数大全及应用实例九                                                [编程资料]C语言库函数大全及应用实例九 函数名: mktemp 功 ...

  8. C语言库函数大全及应用实例八

    原文:C语言库函数大全及应用实例八                                            [编程资料]C语言库函数大全及应用实例八 函数名: kbhit 功 能: 检查 ...

  9. C语言库函数大全及应用实例七

    原文:C语言库函数大全及应用实例七 [编程资料]C语言库函数大全及应用实例七 函数名: getw 功 能: 从流中取一整数 用 法: int getw(FILE *strem); 程序例: #i nc ...

  10. C语言库函数大全及应用实例五

    原文:C语言库函数大全及应用实例五                                                 [编程资料]C语言库函数大全及应用实例五 函数名: getcurdi ...

随机推荐

  1. MUI 混合开发移动app应用开发 --- app版本升级

    当我们的app开发完成之后,无可避免的以后会进行产品升级,那么我们希望在客户的手机上让app进行自动升级,可以分为自动升级和手动升级. 自动升级:一般在客户app第一次打开首页的时候. 手动升级:在a ...

  2. Java 向数组中添加一个元素

    方法 一般数组是不能添加元素的,因为他们在初始化时就已定好长度了,不能改变长度. 向数组中添加元素思路: 第一步:把 数组 转化为 集合 list = Arrays.asList(array); 第二 ...

  3. 20190728_收集的一些链接_关于opencv

    https://softwarebydefault.com/tag/pixel-neighbourhood-max/ https://www.cnblogs.com/happystudyeveryda ...

  4. Jenkins 结合 ANT 发送测试报告

    全局变量配置 点击 ManageJenkins进入Jenkins 管理 点击 Global Tool Configuration 进入全局变量配置 配置 Ant ,Name 自己定义一个比较好理解的名 ...

  5. DZY Loves Math II:多重背包dp+组合数

    Description Input 第一行,两个正整数 S 和 q,q 表示询问数量.接下来 q 行,每行一个正整数 n. Output 输出共 q 行,分别为每个询问的答案. Sample Inpu ...

  6. 划艇:dp/组合数/区间离散化

    Description 在首尔城中,汉江横贯东西.在汉江的北岸,从西向东星星点点地分布着 N 个划艇学校,编号依次为 1 到 N.每个学校都拥有若干艘划艇.同一所学校的所有划艇颜色相同,不同的学校的划 ...

  7. CSPS模拟 61

    T1 模拟 T2 ?? T3 哈希

  8. Docker的Ubuntu16.04容器如何汉化

    最近发现docker hub中的vnc镜像大部分是没有安装语言包的,试了好多天才把他搞出来. 下面为实现步奏. 网盘软件地址 ://pan.baidu.com/share/link?shareid=3 ...

  9. 理解np.nonzero()函数

    举三个例子,就能清楚的看到 np.nonzero() 这个函数返回值的意义 一. #例1 一维数组 import numpy as np a = [0,1,2,0,3,0] b = np.nonzer ...

  10. 洛谷P3452 [POI2007]BIU-Offices的思考

    这题就是坑人的,因为way我前一半存正图,后一半存反图,导致一般扩大两倍过不了,而是要扩大四倍,就是这个坑!!!!! #include<iostream> #include<cstd ...