c语言头文件instr,C/C++常用函数合集「建议收藏」

目录C标准库头文件1.memset()2.memcpy()3.strcpy()4.strncpy()5.strcat()6.getline()7.strlen()头文件1.tolower()/toupper()2.isalpha(),isdigit(),isprint()头文件1.pow()2.floor()3.ceil()4.atan()STL头文件1.min(),max()函数2.lower_…

大家好,又见面了,我是你们的朋友全栈君。

目录

C标准库

头文件

1.memset()

2.memcpy()

3.strcpy()

4.strncpy()

5.strcat()

6.getline()

7.strlen()

头文件

1.tolower()/toupper()

2.isalpha(),isdigit(),isprint()

头文件

1.pow()

2.floor()

3.ceil()

4.atan()

STL

头文件

1.min(),max()函数

2.lower_bound()

3.upper_bound()

4.next_permutation()/prev_permutation()

6.Sort()

7.fill()

8.reverse()

C标准库

头文件

1.memset()

函数原型:memset(void *s , int c , size_t n)

作用:将已开辟内存空间s的首n个字节的值设置为c。一般用于在对字符串进行初始化为‘\0’或‘ ’

注意:1.s为首地址,c为要赋予的字符,n为长度

2.一般不用于初始化数字数组

代码示例:

#include

#include

int main(){

char str[5]={‘1′,’2′,’3′,’4′,’5’};

printf(“原始字符数组:”);

for(int i=0;i<5;i++)

printf(“%c “,str[i]);

printf(“\n”);

//    内存初始化

memset(str,’\0′,5);

printf(“初始化后的字符数组:”);

for(int i=0;i<5;i++)

printf(“%c “,str[i]);

return 0;

}

2.memcpy()

函数原型:void *memcpy(void *dest, const void *src, size_t n);

作用:将以src开头,长度为n的内存空间里的内容拷贝到以dest开头的内存空间里去。

例:

char a[100],b[50];

memcpy(b,a,sizeof(b)); //将a的sizeof(b)个元素赋给b

注意:如果用sizeof(a),会造成b的内存地址溢出。

3.strcpy()

函数原型:char *strcpy(char* dest, const char *src);

作用:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间

例:

char a[100],b[50];

strcpy(a,b);

注意:遇到‘\0’时就结束拷贝。

4.strncpy()

函数原型:strncpy(char* dest,const char* src,int n)

作用:把src所指的字符串中以src地址开始的前n个字节复制到dest所指的空间中,并返回dest。

注意:1.结果dest不包括结束符NULL(‘\0’)

2.如果src的长度小于n个字节,则以NULL填充dest直到复制完n个字节

代码示例

#include

#include

using namespace std;

int main(){

char s[] = {“hello”};

char s2[10];

cout<

return 0;

}

5.strcat()

函数原型:char *strcat(char *dest, const char *src);

作用:将两个char类型数组相连,结果放在dest中,返回拼接后指向dest的指针。

代码示例

#include

#include

using namespace std;

int main(){

char s[] = {“hello”};

char s2[10];

//    将s2数组赋空字符

memset(s2,’\0′,10);

//    连接字符数组s和s2

strcat(s2,s);

for(int i=0;i<10;i++){

cout<

}

return 0;

}

6.getline()

函数原型:istream& getline ( istream &is , string &str , char delim );

参数解释

is进行读入操作的输入流,常用cinstr已声明的用于存储读入内容的对象,常为string类型delim终结符

作用:将输入流is中读到的字符存入str中,直到遇到终结符delim才结束。如果没有定义delim,则默认为 ‘\n'(换行符)。

注意:getline遇到delim时停止读入(但读入了delim),然后将所读内容存储到string对象中(不存delim)下次读入操作时,将在delim的下个字符开始读入。

代码示例:

#include

#include

int main(){

string str;

getline(cin,str,’o’);

printf(“%s”,str.c_str());  // string类型字符串不能直接使用printf输出,需要调用string中的c_str()函数

}

7.strlen()

函数原型:size_t strlen(const char *string);

作用:计算string字符串或者以char *声明的字符数组的长度。

头文件

1.tolower()/toupper()

作用:改变字母大小写

例:

char n=’h’;

cout<

注意:n的值并没有改变,仍然为‘h’。

2.isalpha(),isdigit(),isprint()

作用:用来对是否是字母,数字,可打印字符(非控制字符)进行判断

头文件

1.pow()

函数原型:double pow(double x, double y)

作用:返回x的y次方

2.floor()

函数原型:double floor(double x);

作用:用于输出浮点类型中小于此数的最大整数

注:floor(n+0.5)可用于进行四舍五入的处理

3.ceil()

函数原型:double ceil(double x);

作用:用于输出浮点类型中大于此数的最小整数

4.atan()

作用:用来求π的值:atan(1)=π/4    π=4.0*atan(1)

代码示例:

#include

#include

using namespace std;

// 求π的值,保留小数点后15为小数

int main(){

double pi = 4*atan(1);

printf(“%.15f”,pi);     //保留π后的十五位小数

}

运行结果:

STL

头文件

1.min(),max()函数

作用:返回两个元素中最小(最大)的一个

2.lower_bound()

函数原型:lower_bound(int* first,int* last,int val);

作用:查找有序区间[first,last]中第一个大于等于val的位置

代码示例:

#include

#include

using namespace std;

int main(){

int n[10];

for(int i=0;i<10;i++)

n[i]=i;

cout<

cout<

return 0;

}

运行结果:

3.upper_bound()

作用:大致和lower_bound()相同,不过查找的是有序区间[first,last]中第一个大于x的位置

4.next_permutation()/prev_permutation()

格式:next_permutation(数组名,数组名+数组长度)

作用:将数组的排序改为当前数组全排列的下/上一个

返回值:若当前数组存在下/上一个全排列,则返回ture,否则返回false。

解释:假设数组为a,b,c。则该数组的全排列为abc,acb,bac,bca,cab,cba。若当前数组为bac,则其全排列的上一个数组即为acb,下一个数组为bca

注意:若要求数组所有的全排列,需要将数组进行升序排列,否则只能找出该序列之后的全排列数。

代码示例:

#include

#include

using namespace std;

//输出abc的全排列

int main(){

char ans[3]={‘a’,’b’,’c’};

do{

for(int i=0;i<3;++i)

cout<

cout<

}while(next_permutation(ans,ans+3));

return 0;

}

运行结果:

6.Sort()

函数原型:void sort(RanIt first, RanIt last, Pred pr);

参数解释

first指向容器首地址的指针(数组名)last指向容器尾地址的指针(数组名+数组长度)pr比较方法(默认为升序)

具体用法:

sort(begain,end,less())   升序

sort(begain,end,greater()) 降序

注意:开始和结尾用的都是指针

示例代码:

#include

#include

using namespace std;

int main(){

char ch[5]={‘e’,’a’,’c’,’b’,’d’};

cout<

//     升序排列

sort(ch,ch+5);

cout<

//     降序排列

sort(ch,ch+5,greater());

cout<

return 0;

}

运行结果:

7.fill()

函数原型:void fill(first,last,val);

参数解释

first起始地址last末尾地址val将要替换的值

作用:可将数组的值初始化成指定值

例如:

1.初始化一维数组

int a[10];

fill(a,a+10,80);

2.初始化二维数组

int a[10][10];

fill(a[0],a[0]+10*10,90);

8.reverse()

函数原型:void reverse (BidirectionalIterator first, BidirectionalIterator last)

作用:将[first,last)范围内的字符顺序反转

代码示例:

#include

#include

#include

using namespace std;

int main ()

{

char s1[10]=”hello”;

string s2=”world”;

cout<

cout<

//    reverse的使用

reverse(s1,s1+strlen(s1));

reverse(s2.begin(),s2.end());

cout<

cout<

}

运行结果:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126713.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 强化学习——Q学习算法「建议收藏」

    强化学习——Q学习算法「建议收藏」强化学习的一些相关概念智能体(Agent):智能体对环境进行观察,决策出行动,获得一个从环境返回的奖励决策(Decision):意识层面的行动(Action,a):物质层面的环境(Environment):与智能体交互的对象状态(State,s):是历史信息的函数,包含所有已有的信息。奖励(Reward,R):是智能体采取行动后环境的一个反馈策略(Policy):是状态到动作的函数价值函数(Valuefunction):是评价状态的一个指标模型(Model):是个体对环境的建模

    2022年10月3日
    3
  • anaconda tensorflow pycharm_tensorflow搭建

    anaconda tensorflow pycharm_tensorflow搭建目录安装anaconda安装pycharm安装tensorflowpycharm新建有tensorflow模块的Project目前正在学习tensorflow库的深度学习的一些知识,基本的安装和环境配置做个记录。安装anaconda到官网上下载安装,ana2和ana3都可以,我这里都下载了。安装时候注意勾选写入路径。安装到某个盘,以后的环境会在那里生成。安装pycharm到官网上下载安装…

    2022年8月27日
    7
  • 使用Boostrap V4,左侧菜单栏可缩进,并根据屏幕宽度自适应大小。[通俗易懂]

    使用Boostrap V4,左侧菜单栏可缩进,并根据屏幕宽度自适应大小。[通俗易懂]使用Boostrap V4,左侧菜单栏可缩进,并根据屏幕宽度自适应大小。

    2022年4月21日
    44
  • sop流程图模板_SOP模板-标准操作流程编写程序.doc「建议收藏」

    sop流程图模板_SOP模板-标准操作流程编写程序.doc「建议收藏」SOP模板-标准操作流程编写程序PAGE第PAGE7页共NUMPAGES7页标准操作流程编写程序编制部门:商务部文件审核:文件批准:批准日期:2005.05.25修改记录修改时间修改摘要批准人修改申请单号2005-5-25修改部门编码1目的指导文件编写者能够高效的编写出符合文件编写标准程序的文件来。范围此文件适合所有编写标准操作流程的文件编写人员。3职责3.1…

    2022年5月26日
    71
  • 贴片电阻0805,1206是什么意思_贴片电阻识别及型号

    贴片电阻0805,1206是什么意思_贴片电阻识别及型号0805封装尺寸/0402封装尺寸/0603封装尺寸/1206封装尺寸封装尺寸与功率关系:  02011/20W  04021/16W  06031/10W  08051/8W  12061/4W封装尺寸与封装的对应关系  0402=1.0mmx0.5mm  0603=1.6mmx0.8mm  0805=2.0mmx1.2mm  120

    2022年8月21日
    16
  • 数据仓库ODS层的作用

    数据仓库ODS层的作用ODS(OperationalDataStore)是数据仓库体系结构中的一个可选部分,ODS具备数据仓库的部分特征和OLTP系统的部分特征,它是“面向主题的、集成的、当前或接近当前的、不断变化的”数据。  一般在带有ODS的系统体系结构中,ODS都设计为如下几个作用:  1)在业务系统和数据仓库之间形成一个隔离层  一般的数据仓库应用系统都具有非常复杂的数据来源,这些数据存放在不同

    2022年10月5日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号