问题标题: 求c++函数及其头文件和句式

0
0

1
已采纳
张梓沫
张梓沫
资深守护
资深守护

一堆头文件扔给你

#include<iostream>
#include<cstdio>
#include<cmath>
#include<iomanip>
#include<cstring>
#include<string>
#include<list>
#include<vector>
#include<ctime>
#include <algorithm>
#include <conio.h>
#include <windows.h>
#include<stdio.h>
#include<process.h>
#include<conio.h>
#include<time.h>
#include<stdlib.h>
#define WIDTH 40
#define HEIGH 12
#include<stdlib.h>
#include <assert.h>   
#include <ctype.h>    
#include <errno.h>     
#include <float.h>      
#include <limits.h>    
#include <locale.h>   
#include <math.h>     
#include <stdio.h>      
#include <string.h>      
#include <wchar.h>     
#include <wctype.h>    
#include <algorithm>  
#include <bitset>    
#include <cctype>
#include <cerrno>
#include <clocale>
#include <cmath>
#include <complex>    
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <deque>      
#include <exception>   
#include <fstream>
#include <functional>   
#include <limits>
#include <list>    
#include <map>       
#include <iomanip>
#include <ios>      
#include <iosfwd>     
#include <istream>   
#include <ostream>    
#include <queue>      
#include <set>      
#include <sstream>     
#include <stack>     
#include <stdexcept>    
#include <streambuf>   
#include <string>     
#include <utility>     
#include <vector>     
#include <cwchar>
#include <cwctype>
#include <complex.h>   
#include <fenv.h>   
#include <inttypes.h>  
#include <stdbool.h>   
#include <stdint.h>  
#include <tgmath.h> 

c++的,绝对能用,不信你测试一下

还有,72个,几乎所有都在里面

去重,去掉会编译错误的我都帮你干了

2
王子健
王子健
初级天翼
初级天翼

#include<iostream>

是标准的C++头文件,任何符合标准的C++开发环境都有这个头文件。

当使用<iostream.h>时,相当于在C中调用库函数,使用的是全局命名空间,也就是早期的C++实现;当使用<iostream>的时候,该头文件没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout

#include <cstdlib>

是C++里面的一个常用函数库, 等价于C中的<stdlib.h>

所包涵的函数:

1.函数名称: calloc 
函数原型: void * calloc(unsigned n,unsign size); 
函数功能: 分配n个数据项的内存连续空间,每个数据项的大小为size 
函数返回: 分配内存单元的起始地址,如果不成功,返回0

2.函数名称: free 
函数原型: void free(void* p); 
函数功能: 释放p所指的内存区 
参数说明: p-被释放的指针

3.函数名称: malloc 
函数原型: void * malloc(unsigned size); 
函数功能: 分配size字节的存储区 
函数返回: 所分配的内存区地址,如果内存不够,返回0

4.函数名称: realloc 
函数原型: void * realloc(void * p,unsigned size); 
函数功能: 将p所指出的已分配内存区的大小改为size,size可以比原来分配的空间大或小 
函数返回: 返回指向该内存区的指针.NULL-分配失败

5.函数名称: rand 
函数原型: int rand(void); 
函数功能: 产生0到32767间的随机整数(0到0x7fff之间) 
函数返回: 随机整数

6.函数名称: abort 
函数原型: void abort(void) 
函数功能: 异常终止一个进程.

7.函数名称: exit 
函数原型: void exit(int state) 
函数功能: 程序中止执行,返回调用过程 
参数说明: state:0-正常中止,非0-非正常中止

8.函数名称: getenv 
函数原型: char* getenv(const char *name) 
函数功能: 返回一个指向环境变量的指针 
函数返回: 环境变量的定义 
参数说明: name-环境字符串

9.函数名称: putenv 
函数原型: int putenv(const char *name) 
函数功能: 将字符串name增加到DOS环境变量中 
函数返回: 0:操作成功,-1:操作失败 
参数说明: name-环境字符串

10.函数名称: labs 
函数原型: long labs(long num) 
函数功能: 求长整型参数的绝对值 
函数返回: 绝对值

11.函数名称: atof 
函数原型: double atof(char *str) 
函数功能: 将字符串转换成一个双精度数值 
函数返回: 转换后的数值 
参数说明: str-待转换浮点型数的字符串

12.函数名称: atoi 
函数原型: int atoi(char *str) 
函数功能: 将字符串转换成一个整数值 
函数返回: 转换后的数值 
参数说明: str-待转换为整型数的字符串

13.函数名称: atol 
函数原型: long atol(char *str) 
函数功能: 将字符串转换成一个长整数 
函数返回: 转换后的数值 
参数说明: str-待转换为长整型的字符串

14.函数名称: ecvt 
函数原型: char *ecvt(double value,int ndigit,int *dec,int *sign) 
函数功能: 将浮点数转换为字符串 
函数返回: 转换后的字符串指针 
参数说明: value-待转换底浮点数,ndigit-转换后的字符串长度

15.函数名称: fcvt 
函数原型: char *fcvt(double value,int ndigit,int *dec,int *sign) 
函数功能: 将浮点数变成一个字符串 
函数返回: 转换后字符串指针

<cstdlib>常用函数分类

1.字符转换函数:atof,atoi,atol,strtod,strtol,strtoul

2.伪随机数函数:rand,srand

3.动态分配内存函数:calloc,free,malloc,realloc

4.环境函数:abort,atexit,exit,getenv,system

5.查找,分类函数:bsearch,qsort

6.整数计算函数:abs,div,labs,ldiv,

7.多字节文字(中日韩文)函数:mblen,mbtowc,wctomb,mbstowcs,wcstombs,

8.宏:EXIT_FAILURE,EXIT_SUCCESS,MB_CUR_MAX,NULL,RAND_MAX

9.类型:div_t,ldiv_t,size_

#include <algorithm>

STL 通用算法

非修改性序列操作(12个)

1.循环 
对序列中的每个元素执行某操作 for_each() 
2.查找 
在序列中找出某个值的第一次出现的位置 find() 
在序列中找出符合某谓词的第一个元素 find_if() 
在序列中找出一子序列的最后一次出现的位置 find_end() 
在序列中找出第一次出现指定值集中之值的位置 find_first_of() 
在序列中找出相邻的一对值 adjacent_find() 
3.计数 
在序列中统计某个值出现的次数 count() 
在序列中统计与某谓词匹配的次数 count_if() 
4.比较 
找出两个序列相异的第一个元素 mismatch() 
两个序列中的对应元素都相同时为真 equal() 
5.搜索 
在序列中找出一子序列的第一次出现的位置 search() 
在序列中找出一值的连续n次出现的位置 search_n()

修改性序列操作(27个)

1.复制 
从序列的第一个元素起进行复制 copy() 
从序列的最后一个元素起进行复制 copy_backward() 
2.交换 
交换两个元素 swap() 
交换指定范围的元素 swap_ranges() 
交换由迭代器所指的两个元素 iter_swap() 
3.变换 
将某操作应用于指定范围的每个元素 transform() 
4.替换 
用一个给定值替换一些值 replace() 
替换满足谓词的一些元素 replace_if() 
复制序列时用一给定值替换元素 replace_copy() 
复制序列时替换满足谓词的元素 replace_copy_if() 
5.填充 
用一给定值取代所有元素 fill() 
用一给定值取代前n个元素 fill_n() 
6.生成 
用一操作的结果取代所有元素 generate() 
用一操作的结果取代前n个元素 generate_n() 
7.删除 
删除具有给定值的元素 remove() 
删除满足谓词的元素 remove_if() 
复制序列时删除具有给定值的元素 remove_copy() 
复制序列时删除满足谓词的元素 remove_copy_if() 
8.唯一 
删除相邻的重复元素 unique() 
复制序列时删除相邻的重复元素 unique_copy() 
9.反转 
反转元素的次序 reverse() 
复制序列时反转元素的次序 reverse_copy() 
10.环移 
循环移动元素 rotate() 
复制序列时循环移动元素 rotate_copy() 
11.随机 
采用均匀分布来随机移动元素 random_shuffle() 
12.划分 
将满足某谓词的元素都放到前面 partition() 
将满足某谓词的元素都放到前面并维持原顺序 stable_partition()

序列排序及相关操作(27个)

1.排序 
以很好的平均效率排序 sort() 
排序,并维持相同元素的原有顺序 stable_sort() 
将序列的前一部分排好序 partial_sort() 
复制的同时将序列的前一部分排好序 partial_sort_copy() 
2.第n个元素 
将第n各元素放到它的正确位置 nth_element() 
3.二分检索 
找到大于等于某值的第一次出现 lower_bound() 
找到大于某值的第一次出现 upper_bound() 
找到(在不破坏顺序的前提下)可插入给定值的最大范围 equal_range() 
在有序序列中确定给定元素是否存在 binary_search() 
4.归并 
归并两个有序序列 merge() 
归并两个接续的有序序列 inplace_merge() 
5.有序结构上的集合操作 
一序列为另一序列的子序列时为真 includes() 
构造两个集合的有序并集 set_union() 
构造两个集合的有序交集 set_intersection() 
构造两个集合的有序差集 set_difference() 
构造两个集合的有序对称差集(并-交) set_symmetric_difference() 
6.堆操作 
向堆中加入元素 push_heap() 
从堆中弹出元素 pop_heap() 
从序列构造堆 make_heap() 
给堆排序 sort_heap() 
7.最大和最小 
两个值中较小的 min() 
两个值中较大的 max() 
序列中的最小元素 min_element() 
序列中的最大元素 max_element() 
8.词典比较 
两个序列按字典序的第一个在前 lexicographical_compare() 
9.排列生成器 
按字典序的下一个排列 next_permutation() 
按字典序的前一个排列 prev_permutation() 
使用该头文件中的函数可以节省很多代码量

#include <set>

是C++里面的模板类 “集合”的头文件

set是C++标准库中的一种关联容器。所谓关联容器就是通过键(key)来读取和修改元素。与map关联容器不同,它只是单纯键的集合。 
1)set容器的每一个键只能对应一个元素,即不存在键相同的不同元素 
创建了一个int型的vector容器,存储20个数据,0~9每个数字都出现了两次。用整个vector初始化一个int型set容器,这个set容器却只有10个元素,0~9每个数字只出现一次。证实了set容器的每一个键只能对应一个元素。 
2)可以使用insert操作向set容器添加元素 
insert()的参数既可以是一个键,也可以是一对迭代器,它们都可以实现向set容器中添加元素,只不过函数的返回值不同。另外,向set容器中添加元素后,它会自动排序。 
3)获取元素 
与map容器不同,set容器不支持下标操作访问元素。

使用count()函数可以查询元素是否存在,如果查询的元素存在则返回1,反之则0。使用find()函数,如果查询的元素存在则返回指向该元素的迭代器,反之则返回超出末端迭代器。 
使用count()和find()函数查询同一元素5,count()函数返回的是该元素在set容器中的数量,find()函数则返回指向该元素的迭代器。需要注意的是,虽然使用find()函数可以返回指向该元素的迭代器,但只能对其做读操作,任何试图修改键值的操作都是非法的。

#include <iterator>

是迭代器(Iterator)模式,又叫做游标(Cursor)模式

GOF给出的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。 
从定义可见,迭代器模式是为容器而生。很明显,对容器对象的访问必然涉及到遍历算法。你可以一股脑的将遍历方法塞到容器对象中去;或者根本不去提供什么遍历算法,让使用容器的人自己去实现去吧。这两种情况好像都能够解决问题。通常与#include <set>连用

#include <ctime>

功能是把日期和时间转换为字符串

日期和时间函数: 本类别给出时间和日期处理函数 
时间操作函数得到处理器时间 clock 
得到时间差 difftime 
设置时间 mktime 
得到时间 time 
时间转换函数 得到以ASCII码表示的时间 asctime 
得到字符串表示的时间 ctime 
得到指定格式的时间 strftime

#include< local.h>

地区化: 本类别的函数用于处理不同国家的语言差异。 
地区控制 地区设置 setlocale 
数字格式约定查询 国家的货币、日期、时间等的格式转换 localeconv

以上是用于原博主编程使用,属于不完整版本,完整版本请见: 
C/C++常用头文件及函数汇总

2
赵逸凡
赵逸凡
初级启示者
初级启示者

基础

max()函数 头文件iostream,格式max(a,b),求a,b两数间最大的数

min()函数 头文件iostream,格式min(a,b),求a,b两数间最小的数

swap()函数 头文件iostream,格式swap(a,b),交换a,b位置所在的值

main()函数 头文件iostream或者cstdio或者stdio.h,格式main(程序运行前的函数void),通常最早运行的函数,在主程序写代码

(以上都能用万能头文件实现)

入门

sizeof()函数 头文件iostream,格式sizeof(参数内型int或者参数本身a),求内存字节数或返回一个变量

sqrt()函数 头文件cmath,格式sqrt(a),得到a的平方根

abs()函数 头文件cmayh,格式abs(a),求a的绝对值

int,float,double,char......函数 头文件 每个内型对应的头文件,格式int(a),double(a),float(a),char(a)......返回a在不同内型下的值

入门+

字符串函数

字符数组函数

memset()函数 格式memset(数组名,从哪开始,清0多长)

memcpy()函数 格式memcpy(把这个数组,移到那个数组去)

windows()内部恶搞函数

beep,system.......

发帖者:赵逸凡

赵逸凡在2018-10-17 12:26:37追加了内容

字符串函数表

字符串函数

1
周骞珏
周骞珏
中级守护
中级守护

我万能头文件#include<bits/stdc++.h>秒杀全场

几乎通用

1
丁振轩
丁振轩
资深光能
资深光能

C/C++头文件一览
C、传统 C++
#include <assert.h> //设定插入点
#include <ctype.h> //字符处理
#include <errno.h> //定义错误码
#include <float.h> //浮点数处理
#include <fstream.h> //文件输入/输出
#include <iomanip.h> //参数化输入/输出
#include <iostream.h> //数据流输入/输出
#include <limits.h> //定义各种数据类型最值常量
#include <locale.h> //定义本地化函数
#include <math.h> //定义数学函数
#include <stdio.h> //定义输入/输出函数
#include <stdlib.h> //定义杂项函数及内存分配函数
#include <string.h> //字符串处理
#include <strstrea.h> //基于数组的输入/输出
#include <time.h> //定义关于时间的函数
#include <wchar.h> //宽字符处理及输入/输出
#include <wctype.h> //宽字符分类
//////////////////////////////////////////////////////////////////////////
标准 C++ (同上的不再注释)
#include <algorithm> //STL 通用算法
#include <bitset> //STL 位集容器
#include <cctype>
#include <cerrno>
#include <clocale>
#include <cmath>
#include <complex> //复数类
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <deque> //STL 双端队列容器
#include <exception> //异常处理类
#include <fstream>
#include <functional> //STL 定义运算函数(代替运算符)
#include <limits>
#include <list> //STL 线性列表容器
#include <map> //STL 映射容器
#include <iomanip>
#include <ios> //基本输入/输出支持
#include <iosfwd> //输入/输出系统使用的前置声明
#include <iostream>
#include <istream> //基本输入流
#include <ostream> //基本输出流
#include <queue> //STL 队列容器
#include <set> //STL 集合容器
#include <sstream> //基于字符串的流
#include <stack> //STL 堆栈容器
#include <stdexcept> //标准异常类
#include <streambuf> //底层输入/输出支持
#include <string> //字符串类
#include <utility> //STL 通用模板类
#include <vector> //STL 动态数组容器
#include <cwchar>
#include <cwctype>
using namespace std;
//////////////////////////////////////////////////////////////////////////
C99 增加
#include <complex.h> //复数处理
#include <fenv.h> //浮点环境
#include <inttypes.h> //整数格式转换
#include <stdbool.h> //布尔环境
#include <stdint.h> //整型环境
#include <tgmath.h> //通用类型数学宏

0
0
0
陈天宇
陈天宇
资深守护
资深守护

C/C++头文件一览
C、传统 C++
#include <assert.h> //设定插入点
#include <ctype.h> //字符处理
#include <errno.h> //定义错误码
#include <float.h> //浮点数处理
#include <fstream.h> //文件输入/输出
#include <iomanip.h> //参数化输入/输出
#include <iostream.h> //数据流输入/输出
#include <limits.h> //定义各种数据类型最值常量
#include <locale.h> //定义本地化函数
#include <math.h> //定义数学函数
#include <stdio.h> //定义输入/输出函数
#include <stdlib.h> //定义杂项函数及内存分配函数
#include <string.h> //字符串处理
#include <strstrea.h> //基于数组的输入/输出
#include <time.h> //定义关于时间的函数
#include <wchar.h> //宽字符处理及输入/输出
#include <wctype.h> //宽字符分类
//////////////////////////////////////////////////////////////////////////
标准 C++ (同上的不再注释)
#include <algorithm> //STL 通用算法
#include <bitset> //STL 位集容器
#include <cctype>
#include <cerrno>
#include <clocale>
#include <cmath>
#include <complex> //复数类
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <deque> //STL 双端队列容器
#include <exception> //异常处理类
#include <fstream>
#include <functional> //STL 定义运算函数(代替运算符)
#include <limits>
#include <list> //STL 线性列表容器
#include <map> //STL 映射容器
#include <iomanip>
#include <ios> //基本输入/输出支持
#include <iosfwd> //输入/输出系统使用的前置声明
#include <iostream>
#include <istream> //基本输入流
#include <ostream> //基本输出流
#include <queue> //STL 队列容器
#include <set> //STL 集合容器
#include <sstream> //基于字符串的流
#include <stack> //STL 堆栈容器
#include <stdexcept> //标准异常类
#include <streambuf> //底层输入/输出支持
#include <string> //字符串类
#include <utility> //STL 通用模板类
#include <vector> //STL 动态数组容器
#include <cwchar>
#include <cwctype>
using namespace std;
//////////////////////////////////////////////////////////////////////////
C99 增加
#include <complex.h> //复数处理
#include <fenv.h> //浮点环境
#include <inttypes.h> //整数格式转换
#include <stdbool.h> //布尔环境
#include <stdint.h> //整型环境
#include <tgmath.h> //通用类型数学宏

0
刘雨沐
刘雨沐
新手光能
新手光能
#include < assert.h>  
void assert( int expression );

功 能: 测试一个条件并可能使程序终止.

   C++ assert()函数的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。使用C++ assert()函数的缺点是,频繁的调用会极大的影响程序的性能,增加额外的开销。在调试结束后,可以通过在包含#include < assert.h>的语句之前插入 #define NDEBUG 来禁用assert调用,示例代码如下:

 

 

#include < stdio.h>  
#define NDEBUG  
#include < assert.h>

  用法总结与注意事项:

1)在函数开始处检验传入参数的合法性.

如:

 

int resetBufferSize(int nNewSize)
{
//功能:改变缓冲区大小,
//参数:nNewSize 缓冲区新长度
//返回值:缓冲区当前长度
//说明:保持原信息内容不变 nNewSize<=0表示清除缓冲区
assert(nNewSize >= 0);
assert(nNewSize <= MAX_BUFFER_SIZE);
...
}

 

2)每个assert只检验一个条件,因为同时检验多个条件时,如果断言失败,无法直观的判断是哪个条件失败.

不好: assert(nOffset>=0 && nOffset+nSize<=m_nInfomationSize);

好: assert(nOffset >= 0);

assert(nOffset+nSize <= m_nInfomationSize);

3)不能使用改变环境的语句,因为assert只在DEBUG生效,如果这么做,会使用程序在真正运行时遇到问题

错误: assert(i++ < 100)

这是因为如果出错,比如在执行之前i=100,那么这条语句就不会执行,那么i++这条命令就没有执行。

正确: assert(i < 100)

i++;

4)assert和后面的语句应空一行,以形成逻辑和视觉上的一致感

5)有的地方,assert不能代替条件过滤。

 

参考代码1:

 

/* assert example */
#include <stdio.h>      /* printf */
#include <assert.h>     /* assert */
void print_number(int* myInt) {
  assert (myInt!=NULL);
  printf ("%dn",*myInt);
}
int main ()
{
  int a=10;
  int * b = NULL;
  int * c = NULL;
  b=&a;
  print_number (b);
  print_number (c);
  return 0;
}

 

参考代码2:

 

#include < stdio.h>  
#include < assert.h>  
#include < stdlib.h>  
int main( void )  
{  
FILE *fp;  
fp = fopen( "test.txt", "w" );//以可写的方式打开一个文件,如果不存在就创建一个同名文件  
assert( fp ); //所以这里不会出错  
fclose( fp );  
fp = fopen( "noexitfile.txt", "r" );//以只读的方式打开一个文件,如果不存在就打开文件失败  
assert( fp ); //所以这里出错  
fclose( fp ); //程序永远都执行不到这里来  
return 0;  
}

 

参考代码3:

 

#include < stdio.h>  
#include < assert.h>  
#include < stdlib.h>  
struct ITEM
{
int key;
int value;
};
/* add item to list, make sure list is not null */
void additem(struct ITEM *itemptr) {
assert(itemptr != NULL);
/* add item to list */
}
int main(void)
{
additem(NULL);
return 0;
}

 

 

0
陶旭杰
陶旭杰
中级光能
中级光能

为啥复制的这么多?

就不能不复制粘贴吗?

能自己打吗?

0
陶旭杰
陶旭杰
中级光能
中级光能

我没百度,自己打的。

这是最常用的几个。

#include<iostream> 

cout<<n,cin>>n什么的都用它。

#include<cstdio>

scanf("%.d",n),printf("%.d",n),还有文件操作freopen("xxx.in","r",stdin)fclose(stdin)都用它。

#include<cmath>

各种数学函数,例如abs(n),pow(m,n),sqrt(n)都用这个。

#include<cstring>

c语言中的字符串,也就是字符数组。字符数组的函数都在这个头文件里面。strlen(a)

#include<string>

c++中的字符串,个人感觉比字符数组好用些。字符串的函数都在这里。getline(cin,a)

#include<algorithm>

排序的头文件。sort(a+1,a+n+1,cmp)就在这里。

我一般就用这么多,而且不建议使用万能头文件。因为万能头文件并不是万能的,而且有些考试和测评系统无法辨别万能头文件。

希望可以帮到你!!!!

我要回答