C++输入输出(I\O)

我们知道C++是由C语言发展而来的,几乎完全兼容C语言,换句话说,你可以在C++里面编译C语言代码。如下图:

C语言是面向过程的语言,C++在C语言之上增加了面向对象以及泛型编程机制,因此C++更适合中大型程序的开发,然而C++如果不使用高级特性,它的效率跟C并无差异。

C++是"C Plus Plus"的简称所以很多C++程序后缀都是.cpp,从语法上C语言是C++的一部分,所以C语言可以直接写在C++里面,现在对C和C++来说是两门独立的语言,但是在早期并没有C++,但是有"带类的C",带类的C是C语言的一个扩展和补充,它增加了很多新语法,目的是提高开发效率,这时的C++仅支持简单的面向对象,更没有自己的编译器,只是通过一个预处理程序(cfront),把C++代码翻译成C语言代码,再通过C语言编译器合成最终程序。随着C++语法的完善,它能够支持面向过程编程,面向对象编程和泛型编程,成了一门独立的语言,拥有了自己的编译方式。

C++关键字

在C中关键字有32个,而C++有63个关键字,其中有32是C语言的,如下:

asm         do        if     return     try        continue        auto        double        inline        short        typedef      for          bool        dynamic_cast        int        signed        typeid        public        break       else        long        sizeof        typename        throw        case        enum        mutable        static        union        wchar_t        catch        explicit        namespace              static_cast        unsigned        default        char        export        new        struct        using       friend        class        extern        operator        switch        virtual        register     const        flase        private        template        void        true        const_cast        float        protected    this          volatile        while        delete        goto        reinterpret_cast

输入输出(I/O流):

首先我们需要引入一个C++中头文件#include<iostream>用来支持输出输出。

cout输出流:

如下代码中,因为cout在std命名空间里所以要加std::,代码中使用cout来输出一句"hello world!"而他们之间的<<符号像一种水流的形式把"hello world!"流入cout,然后cout把流入的数据输出到终端(控制面板)上。这就是一个基本的输出.

#include<iostream>
int main(){std::cout<<"hello world!";return 0;
}

但是cout还能自动识别对应的C++类型,如下:

上述代码使用了endl来换行,同样也要在前面加std::不然会报错,或者也可以在字符串里面加\n同样也可完成换行功能。同样cout可以跟printf一次输出多种数据,如下:

可以看到C++的输出流不用输入对应的格式控制符他能自己检查对应的类型。每次使用endl的时候都需要加std::很不方便,但直接展开使用会有冲突的风险。指定展开可以解决这个问题;

如,我要展开endl的命名空间格式如下:

using std::endl;

这样就可以指定展开endl了而又不用担心全部展开的风险,同样cout也可以用同样的方式展开

cin输入流:

cin输入跟cout的输出相反,cout是从一个地方拿出数据输出,cin是从控制台或者其他地方拿取数据放到另一个地方去,cin的示例代码如下:

上述代码中cin的输入操作,运用的是和输出相反的>>符号,就像是把数据流到对应的变量中一样,然后放入对应的变量按照对应变量的顺序依次放入数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/721404.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kafka(三)springboot集成kafka(1)介绍

一、相关组件介绍 1、pom&#xff1a; <dependencies><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>3.0.0</version></dependency> </dependencies> 2、k…

vulhub中Wordpress 4.6 任意命令执行漏洞复现

由于Mysql初始化需要一段时间&#xff0c;所以请等待。成功运行后&#xff0c;访问http://your-ip:8080/打开站点&#xff0c;初始化管理员用户名和密码后即可使用&#xff08;数据库等已经配置好&#xff0c;且不会自动更新&#xff09;。 发送如下数据包&#xff0c;可见/tmp…

计网面试题整理上

1. 计算机网络的各层协议及作用&#xff1f; 计算机网络体系可以大致分为一下三种&#xff0c;OSI七层模型、TCP/IP四层模型和五层模型。 OSI七层模型&#xff1a;大而全&#xff0c;但是比较复杂、而且是先有了理论模型&#xff0c;没有实际应用。TCP/IP四层模型&#xff1a…

【三维重建】相移法+格雷码

本篇文章介绍一种稠密点云的获取方式——条纹结构光三维重建算法。 在学习此算法前&#xff0c;我们需要对基于视觉的三维重建算法有一定了解。 需要了解什么是相机模型、相机标定以及三角化的相关知识。 【三维重建】摄像机几何-CSDN博客 【三维重建】摄像机标定&#xff…

微信小程序-2

数据绑定 index.js Page({data: {info: hello world,randomNumber: Math.random() * 10,imgSrc:http://www.itheima.com/images/logo.png} })index.wxml <view>{{ info }}</view><view>{{ randomNumber > 5 ? 随机数大于等于5 : 随机数小于5 }}</v…

低密度奇偶校验码LDPC(七)——SPA和积译码算法的简化

往期博文 低密度奇偶校验码LDPC&#xff08;一&#xff09;——概述_什么是gallager构造-CSDN博客 低密度奇偶校验码LDPC&#xff08;二&#xff09;——LDPC编码方法-CSDN博客 低密度奇偶校验码LDPC&#xff08;三&#xff09;——QC-LDPC码概述-CSDN博客 低密度奇偶校验码…

神经网络推理优化方法总结

&#x1f380;个人主页&#xff1a; https://zhangxiaoshu.blog.csdn.net &#x1f4e2;欢迎大家&#xff1a;关注&#x1f50d;点赞&#x1f44d;评论&#x1f4dd;收藏⭐️&#xff0c;如有错误敬请指正! &#x1f495;未来很长&#xff0c;值得我们全力奔赴更美好的生活&…

Jenkins 的安装(详细教程)

文章目录 一、简介二、安装前准备三、windows 安装与启动1. 方式一2. 方式二3. 方式三 四、创建管理员用户五、常用设置1. 配置镜像地址2. 更改工作目录3. 开启可注册用户4. 全局变量配置 一、简介 官网&#xff1a;https://www.jenkins.io 中文文档&#xff1a;https://www.j…

【MGR】MySQL Group Replication快速开始

目录 17.2 Getting Started 17.2.1 Deploying Group Replication in Single-Primary Mode 17.2.1.1 Deploying Instances for Group Replication 17.2.1.2 Configuring an Instance for Group Replication Storage Engines Replication Framework Group Replication Sett…

Java基础概念 1-6注释关键字字面量变量-基本用法变量-使用方式和注意事项变量练习-计算公交车的人数

Java基础概念 1-注释 单行注释 // 多行注释 /* */ 文档注释 /** */ --暂时不用 例: public class HelloWorld{ //main方法,表示程序的主入口.public static void main (String[] args){/*输出语句(打印语句)会把小括号内的内容进行输出打印.*/System.out.…

Ethersacn的交易数据是什么样的(2)

分析 Raw Transanction RLP&#xff08;Recursive Length Prefix&#xff09;是一种以太坊中用于序列化数据的编码方式。它被用于将各种数据结构转换为二进制格式&#xff0c;以便在以太坊中传输和存储。RLP 是一种递归的编码方式&#xff0c;允许对复杂的数据结构进行编码。所…

鸿蒙实战应用开发:【拨打电话】功能

概述 本示例通过输入电话&#xff0c;进行电话拨打&#xff0c;及电话相关信息的显示。 样例展示 涉及OpenHarmony技术特性 网络通信 基础信息 拨打电话 介绍 本示例使用call相关接口实现了拨打电话并显示电话相关信息的功能 效果预览 使用说明 1.输入电话号码后&#…

EIP-1559

EIP EIP是以太坊改进提案&#xff08;Ethereum Improvement Proposal&#xff09;的缩写。它是一种标准化的提案制度&#xff0c;用于描述和讨论对以太坊区块链网络的改进和升级。EIP的目的是提供一个开放的、透明的过程&#xff0c;让社区成员、开发者和其他利益相关者能够共同…

paypal绑卡教程

绑定信用卡到PayPal账户的流程可能会有轻微变化&#xff0c;具体步骤可能根据您所在的地区和PayPal的最新政策而有所不同。以下是一般的流程&#xff1a; 登录PayPal账户&#xff1a; 打开PayPal的官方网站或应用程序&#xff0c;使用您的账户登录凭据登录。 导航至钱包&#…

Kafka面经

1.Kafka如何保证消息不丢失 生产者&#xff1a; 1.Producer 默认是异步发送消息&#xff0c;这种情况下要确保消息发送成功&#xff0c;有两个方法 a. 把异步发送改成同步发送&#xff0c;这样 producer 就能实时知道消息发送的结果。 b. 添加异步回调函数来监听消息发送的结…

redis02 安装

官网下载 传送门https://redis.io/download/#redis-downloads 安装Redis mac m1安装 下载你需要版本的软件包放到指定的目录下进行解压 cd 到解压好的redis目录 运行下面的命令进行编译测试 sudo make test 中途可能会提示你安装make工具&#xff0c;按提示安装即可&…

JWT身份验证

在实际项目中一般会使用jwt鉴权方式。 JWT知识点 jwt&#xff0c;全称json web token &#xff0c;JSON Web令牌是一种开放的行业标准RFC 7519方法&#xff0c;用于在两方安全地表示声明。具体网上有许多文章介绍&#xff0c;这里做简单的使用。 1.数据结构 JSON Web Token…

Unity 动态加载音频和音效

想要加载音效和音频需要两个组件&#xff1a; 听&#xff1a; 播&#xff1a; 一收一发 在层级中&#xff0c;右键创建 音频源 &#xff0c;放入物体的子物体中。 播放 方式一 拖动需要播放的音频文件到&#xff0c;音频源组件中。 using System.Collections; using Syst…

Guitar Pro 8.1中文版永久许可证激活2024最新24位注册激活码生成器

Guitar Pro是一款非常受欢迎的音乐制作软件&#xff0c;它可以帮助用户创建和编辑各种音乐曲谱。从其诞生以来就送专门为了编写吉他谱而研发迭代的。 尽管这款产品可能已经成为全球最受欢迎的吉他打谱软件&#xff0c;在编写吉他六线谱和乐队总谱中始终处于行业领先地位&#…

Java求职技能清单(2024版)

一、Java基础扎实&#xff08;反射、集合、IO、NIO、多线程、设计模式、通信协议等基础技术&#xff09; &#xff08;一&#xff09;Java &#xff08;二&#xff09;网络IO &#xff08;三&#xff09;NIO模型 &#xff08;…