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将头文件包含进来,还需要声明其命名空间。

C++系统函数的更多相关文章

  1. Sql Server函数全解(五)之系统函数

     系统信息包括当前使用的数据库名称,主机名,系统错误消息以及用户名称等内容.使用SQL SERVER中的系统函数可以在需要的时候获取这些信息.下面介绍系统函数的作用和使用方法. 1.返回表中指定字段的 ...

  2. Verilog学习笔记基本语法篇(十一)········ 常用系统函数

    1)系统任务:$monitor   格式: $monitor(p1,p2,p3...pn); $monitor; $monitoron; $monitoroff; 任务$monitor提供了监控输出列 ...

  3. Delphi常用系统函数总结

    Delphi常用系统函数总结 字符串处理函数 Unit System 函数原型 function Concat(s1 [, s2,..., sn]: string): string; 说明 与 S : ...

  4. 15系统函数&数据类型转换(必学)-大话数据库视频教程

    大纲:系统函数的用法,case...when的用法,cast关键字的用法,convert的用法 优酷超清地址: 腾讯超清地址: 百度网盘下载地址:http://pan.baidu.com/s/1dDe ...

  5. 【Linux程序设计】之环境系统函数综合实验

    这个系列的博客贴的都是我大二的时候学习Linux系统高级编程时的一些实验程序,都挺简单的.贴出来纯粹是聊胜于无. 实验题目:Linux环境下系统函数综合实验 实验目的:熟悉并掌握Linux环境下数学函 ...

  6. 描述了say_hello函数的具体内容,调用zend_printf系统函数在php中打印字符串

    下载一个php的源代码包,这里使用的是php 4.0.5版,解压后会看到php的根目录下会有README.EXT_SKEL这样一个文件,打开详细阅读了一下,发现了一个非常好用的工具,这个工具可以帮你构 ...

  7. Linux网络编程2——系统函数

    socket信息数据结构 #include <netinet/in.h> struct sockaddr { unsigned short sa_family; /*地址族*/ ]; /* ...

  8. Oracle的学习三:java连接Oracle、事务、内置函数、日期函数、转换函数、系统函数

    1.java程序操作Oracle java连接Oracle JDBC_ODBC桥连接 1.加载驱动: Class.forName("sun.jdbc.odbc.JdbcodbcDriver& ...

  9. Ubuntu vim+ ctags(包含系统函数) + taglist 配置 分类: vim ubuntu 2015-06-09 18:19 195人阅读 评论(0) 收藏

    阅读大型代码,我们经常需要打开很多的代码文件,搜索各种定义.windows下用惯了ide的朋友,转战Linux的时候可能会觉得很难受,找不到合适的阅读工具.其实万能的vim就可以实现.下面介绍一下vi ...

  10. PHP学习之[第05讲]PHP5.4 循环结构、系统函数和自定义函数

    一.while/for/break/continue: while (expr){ statements } for (expr1:expr2:expr3){ statement } break n  ...

随机推荐

  1. jQuery与JavaScript与Ajax三者的区别与联系

    简单总结: 1.JS是一门 前端语言. 2.Ajax是一门 技术,它提供了异步更新的机制,使用客户端与服务器间交换数据而非整个页面文档,实现页面的局部更新. 3.jQuery是一个 框架,它对JS进行 ...

  2. K8s 如何提供更高效稳定的编排能力?K8s Watch 实现机制浅析

    关于我们 更多关于云原生的案例和知识,可关注同名[腾讯云原生]公众号~ 福利: ①公众号后台回复[手册],可获得<腾讯云原生路线图手册>&<腾讯云原生最佳实践>~ ②公 ...

  3. VMware配置与管理DNS服务器

    一,安装DNS服务器角色 1,点击[开始]→[管理工具]→[服务器管理器]→"仪表板"选项的[添加角色和功能] 持续单击[下一步],直到出现"选择服务器角色"窗 ...

  4. linux系统如何查看内核版本、操作系统版本等信息

    有时候需要查看linux系统的内核版本,可以有多种方法,方法如下:(下面以优麒麟系统为例) 方法1: 打开mate终端,在命令行输入以下命令: uname -a 运行效果如下: ​​​ 如果只查看内核 ...

  5. 【mq】从零开始实现 mq-07-负载均衡 load balance

    前景回顾 [mq]从零开始实现 mq-01-生产者.消费者启动 [mq]从零开始实现 mq-02-如何实现生产者调用消费者? [mq]从零开始实现 mq-03-引入 broker 中间人 [mq]从零 ...

  6. HCNP Routing&Switching之MSTP

    前文我们了解了RSTP保护相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16255918.html:今天我们来了解下MSTP相关话题: MSTP技术背 ...

  7. 8┃音视频直播系统之 WebRTC 信令系统实现以及通讯核心并实现视频通话

    一.信令系统 信令系统主要用来进行信令的交换 在通信双方彼此连接.传输媒体数据之前,它们要通过信令服务器交换一些信息,如规范协商 若 A 与 B 要进行音视频通信,那么 A 要知道 B 已经上线了,同 ...

  8. 最佳案例 | 游戏知几 AI 助手的云原生容器化之路

    作者 张路,运营开发专家工程师,现负责游戏知几 AI 助手后台架构设计和优化工作. 游戏知几 随着业务不断的拓展,游戏知几AI智能问答机器人业务已经覆盖了自研游戏.二方.海外的多款游戏.游戏知几研发团 ...

  9. 690. Employee Importance - LeetCode

    Question 690. Employee Importance Example 1: Input: [[1, 5, [2, 3]], [2, 3, []], [3, 3, []]], 1 Outp ...

  10. linux篇-基于域名的apache服务器

    1承接上个博客说的,咱们继续扩展 Cd /usr/local/apache2/conf /usr/local/apache2/conf/extra扩展文件 Vi httpd-vhosts.conf & ...