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

相关推荐
视觉人机器视觉1 小时前
Visual Studio2022和C++opencv的配置保姆级教程
c++·opencv·visual studio
liulilittle1 小时前
C++ i386/AMD64平台汇编指令对齐长度获取实现
c语言·开发语言·汇编·c++
sun0077003 小时前
std::forward作用
开发语言·c++·算法
海棠玛卡3 小时前
C/C++内存管理
c++
虾球xz4 小时前
CppCon 2018 学习:THE MOST VALUABLE VALUES
开发语言·c++·学习
2401_881244405 小时前
牛客周赛99
c++
山登绝顶我为峰 3(^v^)38 小时前
如何录制带备注的演示文稿(LaTex Beamer + Pympress)
c++·线性代数·算法·计算机·密码学·音视频·latex
十五年专注C++开发11 小时前
CMake基础:条件判断详解
c++·跨平台·cmake·自动化编译
QuantumStack13 小时前
【C++ 真题】P1104 生日
开发语言·c++·算法
天若有情67313 小时前
01_软件卓越之道:功能性与需求满足
c++·软件工程·软件