C++系统函数
作者:互联网
C++语言预先编写了很多常用函数提供给广大程序员使用,这些函数被统称为系统函数。C++语言全盘继承了C语言的标准C库,另外又增加了一些新的库(更多的是系统类库),这些新库被统称为C++标准库。
一、C语言系统函数
1、输入/输出函数(头文件<stdio.h>)
1)格式化输入函数scanf
int scanf(char *format,变量地址列表);format是一个char字符串,接收一个格式控制字符串,其中包含格式符和分隔符。格式符以%开头的字符串,用于指定输入数据的类型和格式。
变量地址列表指定保存输入数据的变量地址。一次可以为多个变量,多个变量地址之间通过逗号隔开。返回值int,表示输入数据的个数。
%d | 十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数 |
%f | float型浮点数 |
%lf | double型浮点数 |
%c | 单个字符 |
%s | 字符串 |
2)格式化输出0数printf
int printf(char *format,表达式列表);format是一个char字符串,接收一个格式控制字符串,其中包含格式符和分隔符。格式符以%开头的字符串,用于指定输入数据的类型和格式。
表达式列表指定需要输出的常量、变量或表达式。返回值int,表示输出数据的个数。
3)字符输入函数getchar
int getchar();调用该函数时,计算机将暂停程序的执行,等待用户从键盘输入一个字符并以回车键结束。返回值int型,返回输入字符的ASCII码值。
示例: char ch;ch = getchar();
4)字符串输出函数putchar
int putchar(int c);调用该函数将变量c中的字符输出到显示器上,变量c保存的时字符的ASCII码值。返回值int型,返回输出字符的ASCII码值。
示例:putchar('A'); putchar('A'+32);
2、数学函数(头文件<math.h>)
常用函数:平方根函数(sqrt)、指数函数、对数函数和各种三角函数(sin)。
3、字符串处理函数(头文件<string.h>)
常用函数:求字符串长度函数(strlen)、字符串拷贝函数(strcpy)、连接函数(strcat)等。
4、动态内存分配函数(头文件<stdlib.h>)
常用函数:分配内存函数(malloc)、释放内存函数(free)等。
二、C++命名空间
为了消除不同机构不同程序员之间定义的外部函数和外部全局变量重名的问题,C++引入了命名空间的概念。
1、在命名空间中定义函数和全局变量
namespace Kylin { int x,y; void fun1(); void fun2(); }
使用关键字namespace定义一个命名空间,同一命名空间中的函数或全局变量之间不能重名,不同命名空间之间的函数和全局变量可以重名。
2、访问命名空间的函数和全局变量
1)直接访问 以“命名空间名::标识符”的形式直接访问 其中::为作用域运算符
示例: Kylin::x = 10; Kylin::fun1();
2)先声明后访问 先以“using 命名空间名::标识符 ;”的形式单独声明命名空间中的各标识符,然后再通过标识符访问。
示例:using Kylin::x; x=10;
3) 统一声明 先以“using namespace 命名空间名;” 的形式统一声明命名空间里的所有标识符,然后再通过标识符访问。
示例: using namespace Kylin;x = 10; fun1();
4)命名空间中外部函数和外部全局变量的声明
使用其他程序文件中定义的外部函数和外部全局变量,需要“先声明,在使用”。
示例:
namespace Kylin { extern int x,y; void fun1(); void fun2(); }
三、C++语言中的系统函数
1、使用原标准C库
1)C++可以继续使用C语言的标准C库头文件,扩展名都是.h。所有原来编写好的C语言程序在C++编译器中也继续有效,可正常编译运行。
2)为了加入C++的类型安全检查和错误处理机制,C++标准库又重写了一套标准C库中的系统函数。新库在C++中不在使用.h扩展名,改为使用c字母的前缀,如<stdio.h>就修改为<cstdio>。新旧两套头文件语法和功能完全相同,建议C++程序员使用新的头文件。
2、使用C++标准库中新增的系统函数
C++标准库新增了一些系统函数(如交换变量值函数,swap),所有新增的系统函数都定义在命名空间std中。调用这些函数时除了使用#include将头文件包含进来,还需要声明其命名空间。
标签:头文件,函数,int,系统,C++,字符串,命名 来源: https://www.cnblogs.com/qlzstudy/p/16461862.html