当前位置: 首页 > ops >正文

【c++】c++输入和输出的简单介绍

C++输⼊&输出

• 是InputOutputStream的缩写,是标准的输⼊、输出流库,定义了标准的输⼊、输出对象。

• std::cin是istream类的对象,它主要⾯向窄字符(narrowcharacters(oftypechar))的标准输⼊流。

• std::cout是ostream类的对象,它主要⾯向窄字符的标准输出流。

• std::endl是操作符,底层实现是⼀个函数,流插⼊输出时,相当于插⼊⼀个换⾏字符加刷新缓冲区。

• <<是流插⼊运算符,>>是流提取运算符。(C语⾔还⽤这两个运算符做位运算左移/右移)

• 使⽤C++输⼊输出更⽅便,不需要像printf/scanf输⼊输出时那样,需要⼿动指定格式,C++的输⼊输出可以⾃动识别变量类型(本质是通过函数重载实现的),其实最重要的是 C++的流能更好的⽀持⾃定义类型对象的输⼊输出。

• IO流涉及类和对象,运算符重载、继承等很多⾯向对象的知识。

• cout/cin/endl等都属于C++标准库,C++标准库都放在⼀个叫std(standard)的命名空间中,所以要通过命名空间的使⽤⽅式去⽤他们。

• ⼀般⽇常练习中我们可以using name space std,实际项⽬开发中不建议using name space std。

• 这⾥我们没有包含<stdio.h>,也可以使⽤printf和scanf,因为包含间接包含了<stdio.h>。vs系列编译器是这样的,其他编译器可能会报错。

#include<iostream>  
using namespace std; 
int main() 
{ int a = 0; double b = 0.1; char c = 'x';cout << a << " " << b << " " << c << endl; std::cout << a << " " << b << " " << c << std::endl; scanf("%d%lf", &a, &b); printf("%d %lf\n", a, b); // 可以⾃动识别变量的类型  cin >> a; cin >> b >> c; cout << a << endl; cout << b << " " << c << endl; return 0; 
}
#include<iostream> 
using namespace std; 
int main() 
{ // 在io需求⽐较⾼的地⽅,如部分⼤量输⼊的竞赛题中,加上以下3⾏代码  // 可以提⾼C++IO效率  ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); return 0; 
} 
#include<iostream>
using namespace std;
int main()
{int i = 100;double d = 1.1;//任何变量都转换成字符串插入流中//自动识别类型cout << i << '\n' << "\n";//'\n'和"\n"都行cout << "hello world" << endl;//endl也相当于换行符,但是会刷新缓冲区,而"\n"不会刷新缓冲区cout << i << " " << d;return 0;}

运行结果
在这里插入图片描述

http://www.xdnf.cn/news/20043.html

相关文章:

  • Mac M4环境下基于VMware Fusion虚拟机安装Ubuntu24.04 LTS ARM版
  • 在 CentOS 9 上安装 Docker 的完整指南
  • 蚂蚁 S21 XP+ HYD 500T矿机评测:SHA-256算法与高效冷却技术的结合
  • 数字隔离器,新能源汽车PTC中的“电气安全卫士”
  • git命令解析
  • 家庭网络异常降速问题排查处理方案
  • 查找算法 -- 二分查找 O(log n)
  • 前端笔记2025
  • 快速了解迁移学习
  • Jupyter Notebook的交互式开发环境方便py开发
  • 一文看懂什么是GaN HEMT以及其工艺流程(氮化镓高电子迁移率晶体管)
  • 数据结构之双向链表
  • Nginx 配置详解与虚拟主机实战指南
  • 嵌入式|Linux中打开视频流的两种方式V4l2和opencv
  • Python的语音配音软件,使用edge-tts进行文本转语音,支持多种声音选择和语速调节
  • MySQL 主从复制详解:部署与进阶配置
  • NGUI--三大基础控件
  • VBA 中的 Excel 工作表函数
  • 新后端漏洞(上)- Java RMI Registry反序列化漏洞
  • Struts2 工作总结
  • B树,B+树,B*树(无代码)
  • React JSX 语法讲解
  • bat脚本- 将jar 包批量安装到 Maven 本地仓库
  • Highcharts 数据源常见问题解析:连接方式、格式处理与性能优化指南
  • React 样式隔离核心方法和最佳实践
  • 【展厅多媒体】AI虚拟数字人在展厅互动中的应用
  • [VF2] Boot Ubuntu和Debian发行版
  • 智慧城市SaaS平台之智慧城管十大核心功能(五):监督检查综合管理系统
  • AI急速搭建网站:Gemini、Bolt或Jules、GitHub、Cloudflare Pages实战全流程!
  • FastAPI 中的 Pydantic 的作用