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把流入的数据输出到终端(控制面板)上。这就是一个基本的输出.

cpp 复制代码
#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的输入操作,运用的是和输出相反的>>符号,就像是把数据流到对应的变量中一样,然后放入对应的变量按照对应变量的顺序依次放入数据。

相关推荐
sparEE几秒前
c++字符串和自定义字面量
开发语言·c++
蜡笔小马1 小时前
03.C++设计模式-原型模式
c++·设计模式·原型模式
神仙别闹1 小时前
基于QT(C++)实现线性表的建立、插入、删除、查找等基本操作
java·c++·qt
salipopl2 小时前
C/C++ 中 volatile 关键字详解:原理、作用与实际应用
开发语言·c++
张赫轩(不重名)2 小时前
图论3:连通性问题(复杂度均为 O(N + M) )
c++·算法·图论·拓扑学
AIminminHu2 小时前
(让 C++ 程序长出大脑:从“语音遥控器”到具身智能 Agent 的进化之路)------OpenGL渲染与几何内核那点事------(二-1-(15))
开发语言·c++·agent·具身智能
君义_noip2 小时前
CSP-J 2025 入门级 第一轮(初赛) 完善程序(1)
c++·算法·信息学奥赛·csp 第一轮
哭泣方源炼蛊3 小时前
AtCoder Beginner Contest 456 E补题(分层图 + 有向环检测 )
c++·算法·深度优先·图论·拓扑学
Yuk丶4 小时前
UE4 与 UE5:技术差异深度解析
c++·ue5·游戏引擎·ue4·游戏程序·虚幻
故事和你914 小时前
洛谷-数据结构2-1-二叉堆与树状数组1
开发语言·数据结构·c++·算法·动态规划·图论