顺序结构 ( 五 ) —— 数据输入输出 【互三互三】

文章目录

🍁序

🍁一、字符输入函数getchar

🍁二、字符输出函数putchar

🍁三、通过cout流输出数据

🍁四、通过cin流读入数据

🍁五、格式化输入函数scanf

 🍁六、格式化输出函数printf

 🍁七、几种输入输出格式的几点说明

 🍁总结 

 🍁备注


🚀欢迎互三👉:程序猿方梓燚 💎💎
🚀所属专栏:C++教程💎

🚀关注博主,后期持续更新系列文章

🚀如果有错误感谢请大家批评指出,及时修改

🚀感谢大家点赞👍收藏⭐评论✍ 

 ​

🍁

C++语言中没有提供专门的输入输出语句,所有的输入输出都是调用标准库函数中的输入输出函数来实现的。在使用时,应在源程序的开头使用如下语句:
 

#include<iostream>

#include<cstdio>

using namespace std;

C++语言标准函数库提供了许多标准输入、输出函数,本节将介绍6个最基本的输入、输出函数:字符输入getchar,字符输出putchar,格式化输入scanf,格式化输出prinf,流输入cin,流输出cout

🍁一、字符输入函数getchar

【格式】

getchar函数是接收从键盘输入的单个字符数据。它是一个无参函数,其语法格式为:

getchar();

【说明】

1)通常把输入的字符赋予一个字符变量,构成赋值语句。例如:

char  ch;
ch=getchar();

   
2) getchar函数只能接受单个字符,输入数字也按字符处理。

3)输入多于一个字符时,只接收第一个字符。

4) getchar函数等待用户输入,直到按回车键才结束,可用于暂停程序的运行,直到输入一个回车键。

5)如果在程序中连续有两个以上getchar()函数,应该一次性输入所需字符,最后再按回车键,否则会把回车作为一个字符传给后面的getchar()函数。

【例题】

 1. 利用getchar函数接收键盘输入。

#include<cstdio>
   #include<iostream>
   using namespace std;
   int main()
   { 
     char ch;
     ch=getchar();                      //读入字符
     cout<<"input="<<ch<<endl;
   }

🍁二、字符输出函数putchar

【格式】

putchar函数是字符输出函数,功能是向标准输出设备(如显示器)输出单个字符数据,其语法格式为:

 putchar(ch);                      //其中,ch为一个字符变量或常量。

【例题】 

2.利用putchar 函数输出字符。

#include<cstdio>
#include<iostream>
using namespace std;
int main(){
    char c='B';                          //定义字符变量c并赋值'B'
    putchar(c);                       //输出该字符
    putchar('\x42');                 //用转义字符输出字母'B'
    putchar(0x42);                 //用16进制ASCII码值输出字母'B'
    putchar(66);                     //用10进制ASCII码值输出字母'B'
}

运行结果:BBBB

🍁三、通过cout流输出数据

流插入运算符<<和cout结合在一起使用,可向显示器屏幕输出数据。

  • 格式1:
  •       功能:它把表达式的值输出到屏幕上,该表达式可以是各种基本类型的常量、变量或者由它们组成的表达式。输出时,程序根据表达式的类型和数值大小,采用不同的默认格式输出,大多数情况下可满足要求。
  •                若要输出多个数据,可以连续使用流插入运算符
  • 格式2:
  •      功能:将表达式的内容一项接一项的输出到屏幕上。

🍁四、通过cin流读入数据

流读取运算符>>和cin结合在一起使用,可从键盘输入数据。

格式1: 功能:是从键盘读取一个数据并将其赋给“变量”。

说明:在使用cin输入的时候必须考虑后面的变量类型。如果你要求输入一个整数,在 >>后面必须跟一个整型变量,如果要求一个字符,后面必须跟一个字符型变量。
 

声明一个整型变量age然后等待用户从键盘输入到cin并将输入值存储在这个变量中。     

int age;     

cin >> age; 

⭐⭐⭐也可以连续使用>>,实现从键盘对多个变量输入数据。

格式2: 这要求从键盘输入的数据的个数、类型与变量相一致。从键盘读取数据时,各数据之间要有分隔符,分隔符可以是一个或多个空格键、回车键等。

用cin 让用户输入多个数据 。     

cin >> a >> b; 

等同于:     
 

cin >> a;     

cin >> b;

🍁五、格式化输入函数scanf

scanf函数的功能是格式化输入任意数据列表,其一般调用格式为:

scanf(格式控制符,地址列表)

【说明】  

1)地址列表中给出各变量的地址,可以为变量的地址,也可以为字符串的首地址。        

2)格式控制符由%和格式符组成,作用是将要输入的字符按指定的格式输入,如%d,%c等。

scanf函数的格式符
格式符说  明
d,i用于输入十进制整数
u以无符号十进制形式输入十进制整数
o(字母)用于输入八进制整数
x用于输入十六进制整数
c用于输入单个字符
s用于输入字符串(非空格开始,空格结束,字符串变量以'\0'结尾)
f用于输入实数(小数或指数均可)
e与f相同(可与f互换)

scanf函数的附加格式说明符

附加格式说  明
l(字母)用于长整型数(%ld、%lo、%lx)或double型实数(%lf、%le)
h用于短整型数(%hd、%ho、%hx)
域宽(一个整数)指定输入所占列宽
*表示对应输入量不赋给一个变量

 🍁六、格式化输出函数printf

printf函数的功能是格式化输出任意数据列表,其一般调用格式为:

printf(格式控制符,输出列表)

【说明】

1)格式控制由输入格式说明和普通字符组成,必须用双引号括起来。

      ●格式说明由%和格式字符组成,作用是将要输出的字符转换为指定的格式,如%d,%c等。

      ●普通字符是在输出时原样输出的字符,一般在显示时起提示作用。    

2)输出列表是需要输出的一组数据(可以为表达式和变量),各参数之间用“,”分开。要求格式说明和各输出项在数量和类型上要一一对应,否则将会出现意想不到的错误。

printf函数的格式符
格式符说  明
d(或i)以带符号的十进制形式输出整数,正数的(+)号省略不输出
u以无符号十进制形式输出整数
x(或X)以十六进制无符号形式输出整数(不输出前导符0x)
o(字母)以八进制无符号形式输出整数(不输出前导符数字0)
c输出一个字符
s输出字符串
f以小数形式输出单、双精度,隐含输出6位小数        
e(或E)以指数形式输出单、双精度,隐含输出6位小数
g(或G)自动选用%f、%e或%E格式中输出宽度较小的一种使用
d格式符
参 数说  明
%d输出数字长为变量数值的实际长度
%md输出m位(不足补空格,大于m位时按实际长度输出)
%-mdm含义同上。左对齐输出
%ldl(小写字母)表示输出“长整型”数据
%m1d指定长整型输出宽度m位,左边补空格;否则,按实际位数输出
%0md,%0m1d0(数字0)表示位数不足m时补0
例如,对如下程序段
int i=1;
long  j=123;
printf("%d,%2d,%03d,%1d,%-4ld,%05ld",i,i,i,j,j,j);

输出:1, 1,001,123,123 ,00123

f格式符
参  数说  明
%f按实数格式输出,整数部分按实际位数输出,6位小数
%m.nf总位数m(含小数点),其中有n位小数         
%-m.nf同上,左对齐
s格式符
参  数说  明
%s按实际宽度输出一个字符串
%msm指定宽度(不足时左补空格,大于时按实际宽度输出)
%-ms左对齐,不足时右补空格
%m.ns输出占m个字符位置,其中字符数最多n个,左补空格
%-m.ns同上,右补空格

【例题】 

某幼儿园里,有5个小朋友编号为1,2,3,4,5,他们按自己的编号顺序围坐在一张圆桌旁。他们身上都有若干个糖果(键盘输入),现在他们做一个分糖果游戏。从1号小朋友开始,将自己的糖果均分三份(如果有多余的糖果,则立即吃掉),自己留一份,其余两份分给他的相邻的两个小朋友。接着2号、3号、4号、5号小朋友同样这么做。问一轮后,每个小朋友手上分别有多少糖果。

【分析】题目中有5位小朋友,他们初始时糖果的数目不确定,用a,b,c,d,e分别存储5个小朋友的糖果数,初始值由键盘输入

程序如下:

#include<cstdio>
using namespace std;
int main(){
    int a,b,c,d,e;
    scanf("%d%d%d%d%d",&a,&b,&c,&d,&e);
    a=a/3;b=b+a;e=e+a;  		          //1号小朋友分糖
    b=b/3;c=c+b;a=a+b;  		         //2号小朋友分糖
    c=c/3;d=d+c;b=b+c;  		         //3号小朋友分糖
    d=d/3;e=e+d;c=c+d; 		          //4号小朋友分糖
    e=e/3;a=a+e;d=d+e; 		          //5号小朋友分糖
    printf("%5d%5d%5d%5d%5d\n",a,b,c,d,e); //%5d按5位宽度输出
    return 0;
}

运行结果:

输入:8  9  10  11  12    

输出:   11    7    9   11   6

 🍁七、几种输入输出格式的几点说明

  • 1、cin和cout在Dev C++中只能调用<iostream>库,而其他输入输出格式要调用<stdio.h>库或<cstdio>库。
  • 2、cin和cout属于C++的概念,调用时涉及输入输出流,而scanf和printf属于C的概念,是C语言的标准输入/输出库中的函数,所以在时效上,scanf和printf优于cin、cout,对于大数据的输入输出,通常情况下应该用scanf、printf。    
  • 3、对于普通数据的输入输出,cin和cout比较方便,而在格式化方面,scanf和printf比较容易。cin效率比scanf低很多,尤其输入数据达到20万以上时非常明显,在100万时cin读入就会超时。    
  • 4、scanf和printf也缺点,cin和cout能够自动识别变量的数据类型,因此,在进行输入输出时,不需要指定数据类型,printf和scanf函数在输入输出时需指定数据类型。

 🍁总结 

有不懂的地方可以si我,和我一起学习C++吧。

 🍁备注

还没有下载DEV-C++的小伙伴们可以私我拿到免费安装包

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【每日一练】python面对对象的基本概念和用法(附实例)

面向对象编程&#xff08;OOP&#xff09;是一种程序设计方法&#xff0c;其基本概念包括对象、类、继承和封装。 对象&#xff1a;对象是系统中的基本单位&#xff0c;用于描述客观事物。每个对象包含一组属性和对这些属性进行操作的方法。对象是类的一个实例&#xff0c;具有…

高通开发系列 - LCD屏调试过程中的一些技巧

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 返回:专栏总目录 目录 打开开发者模式wifi adb shellmodetest测试使用异显CPU和GPU加速开性能模式进程绑定大核CPU设置和查询进程状态视频…

Java 中的阻塞 IO 和非阻塞 IO

Java 中的阻塞 IO 和非阻塞 IO 1、阻塞 IO&#xff08;Blocking IO&#xff09;2、非阻塞 IO&#xff08;Non-blocking IO&#xff09;3、区别与应用场景4、总结 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; IO&#xff08;输入输出&…

文华财经盘立方博易大师boll布林带指标公式源码

TT:TIME>850&&TIME<1150; MID:MA(CLOSE,26);//求N个周期的收盘价均线&#xff0c;称为布林通道中轨 TMP2:STD(CLOSE,26);//求M个周期内的收盘价的标准差 TOP:MID2*TMP2;//布林通道上轨 BOTTOM:MID-2*TMP2;//布林通道下轨 A:EVERY(ISDOWN,2)&&TT&&…

Python机器学习推理工程化落地步骤指南

目录 一、引言 二、数据准备 2.1 数据收集 2.2 数据清洗 2.3 特征工程 2.4 数据分割 三、模型训练 3.1 选择算法 3.2 训练模型 3.3 模型评估 3.4 模型调优 四、模型部署 4.1 模型序列化 4.2 构建推理服务 4.3 部署与监控 五、总结 在当今科技飞速发展的时代…

text prompt如何超过77个词

【深度学习】sdwebui的token_counter,update_token_counter,如何超出77个token的限制?对提示词加权的底层实现_prompt中token权重-CSDN博客文章浏览阅读1.6k次,点赞26次,收藏36次。文章探讨了如何在StableDiffusionProcessing中处理超过77个token的提示,涉及token_counte…

【面试题】防火墙的部署模式有哪些?

防火墙的部署模式多种多样&#xff0c;每种模式都有其特定的应用场景和优缺点。以下是防火墙的主要部署模式&#xff1a; 一、按工作模式分类 路由模式 定义&#xff1a;当防火墙位于内部网络和外部网络之间时&#xff0c;需要将防火墙与内部网络、外部网络以及DMZ&#xff0…

mindspore打卡20天之Shufflenet图像分类

ShuffleNet图像分类 当前案例不支持在GPU设备上静态图模式运行&#xff0c;其他模式运行皆支持。 ShuffleNet网络介绍 ShuffleNetV1是旷视科技提出的一种计算高效的CNN模型&#xff0c;和MobileNet, SqueezeNet等一样主要应用在移动端&#xff0c;所以模型的设计目标就是利用有…

对于人机结合+人工智能的一点思考

开题失败后看了不少论文&#xff0c;人机结合这个方向查了一下……作为毕业论文的题目还真没有&#xff0c;无论是知网公开的还是中科院自建库学生毕业论文都没有这个题目……这实验怎么设计啊……主观的&#xff0c;还要让模型像人&#xff0c;还要让模型更容易被人调教&#…

Android初学者书籍推荐

书单 1.《Android应用开发项目式教程》&#xff0c;机械工业出版社&#xff0c;2024年出版2.《第一行代码Android》第二版3.《第一行代码Android》第三版4.《疯狂Android讲义》第四版5.《Android移动应用基础教程&#xff08;Android Studio 第2版&#xff09;》 从学安卓到用安…

数字化时代的供应链管理综合解决方案

目录 引言背景与意义供应链管理综合解决方案的目标 &#x1f4c4;供应链管理系统主要功能系统优势 &#x1f4c4;物流管理系统主要功能系统优势 &#x1f4c4;订单管理系统主要功能应用场景 &#x1f4c4;仓储管理系统系统亮点主要功能系统优势 &#x1f4c4;商城管理系统主要功…

鸿蒙元服务API集全新呈现-开发更清晰高效

鸿蒙元服务API集全新呈现&#xff0c;开发更清晰高效&#xff0c;具体见如下截图&#xff0c;深黑色部分即本阶段公布支持的元服务API集。 本材料整理来源于HarmonyOS NEXT Developer Beta1官方公开的文档

SpringBoot项目架构实战之“网关zuul搭建“

第三章 网关zuul搭建 前言&#xff1a; 1、主要功能 zuul主要提供动态路由&#xff08;内置ribbon实现&#xff09;和过滤&#xff08;可以做统一鉴权过滤器、灰度发布过滤器、黑白名单IP过滤器、服务限流过滤器&#xff08;可以配合Sentinel实现&#xff09;&#xff09;功能…

jmeter-beanshell学习7-props获取全局变量和设置全局变量

继续写点不痛不痒的小东西。第一篇写了vars设置变量&#xff0c;但是vars只能作用在同一个线程组。跨线程组情况比较少&#xff0c;要是用到跨线程组&#xff0c;有个pros&#xff0c;用法和vars一样。 在setup线程组设置变量a&#xff0c;执行的时候&#xff0c;jmeter会先执行…

等保2.0丨5分钟速览:小白都能理解的等保2.0简介

等保2.0的概念 等保2.0全称网络安全等级保护2.0制度&#xff0c;是我国网络安全领域的基本国策、基本制度。以1.0的规范为基础&#xff0c;等级保护标准以积极的防御为重点&#xff0c;由被动的防御发展为安全可信、动态感知和全过程的事前、事中和事后的全过程的全方位的审核…

Java中关于File类的详解

File类 File类是文件和目录路径名称的抽象表示&#xff0c;主要用于文件和目录的创建、查找和删除等操作。在创建File对象的时候&#xff0c;需要传递一个路径&#xff0c;这个路径定位到哪个文件或者文件夹上&#xff0c;File就代表哪个对象。 File file new File("D:…

物联网系统中市电电量计量方案(一)

为什么要进行电量计量&#xff1f; 节约资源&#xff1a;电量计量可以帮助人们控制用电量&#xff0c;从而达到节约资源的目的。在当前严峻的资源供应形势下&#xff0c;节约能源是我们应该重视的问题。合理计费&#xff1a;电表可以帮助公共事业单位进行合理计费&#xff0c;…

CentOS7安装部署git和gitlab

安装Git 在Linux系统中是需要编译源码的&#xff0c;首先下载所需要的依赖&#xff1a; yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker方法一 下载&#xff1a; wget https://mirrors.edge.kernel.org/pub/s…

智慧科技照亮水利未来:深入剖析智慧水利解决方案如何助力水利行业实现高效、精准、可持续的管理

目录 一、智慧水利的概念与内涵 二、智慧水利解决方案的核心要素 1. 物联网技术&#xff1a;构建全面感知网络 2. 大数据与云计算&#xff1a;实现数据高效处理与存储 3. GIS与三维可视化&#xff1a;提升决策支持能力 4. 人工智能与机器学习&#xff1a;驱动决策智能化 …

探索 ASTRA.AI:打造低代码多模态 AI 应用的开源平台

声网&#xff08;Agora&#xff09;研发的 ASTRA 平台&#xff0c;作为一款面向大语言模型应用开发的开源解决方案&#xff0c;无疑为 AI 领域注入了新的活力。它巧妙地结合了 BaaS&#xff08;后端即服务&#xff09;概念与大型语言模型的运营&#xff0c;使得创建高性能的生成…