c++之数据输入输出

C++语言中没有提供专门的输入输出语句,所有的输入输出都是调用标准库函数中的输入输出函数来实现的。在使用时,应在源程序的开头使用如下语句:
#include<iostream>
#include<cstdio>
using namespace std;
C++语言标准函数库提供了许多标准输入、输出函数,本节将介绍6个最基本的输入、输出函数:字符输入getchar,字符输出putchar,格式化输入scanf,格式化输出prinf,流输入cin,流输出cout。

字符输入输出函数getchar/putchar

  • 01

    getchar函数是接收从键盘输入的单个字符数据。它是一个无参函数,其语法格式为: getchar(); 【说明】 1)通常把输入的字符赋予一个字符变量,构成赋值语句。例如: char  a; a=getchar(); 2) getchar函数只能接受单个字符,输入数字也按字符处理。 3)输入多于一个字符时,只接收第一个字符。 4) getchar函数等待用户输入,直到按回车键才结束,可用于暂停程序的运行,直到输入一个回车键。 5)如果在程序中连续有两个以上getchar()函数,应该一次性输入所需字符,最后再按回车键,否则会把回车作为一个字符传给后面的getchar()函数。

  • 02

    putchar函数是字符输出函数,功能是向标准输出设备(如显示器)输出单个字符数据。

cin/cout流读入/出数据

  • 01

    流读取运算符>>和cin结合在一起使用,可从键盘输入数据。 格式1: 功能:是从键盘读取一个数据并将其赋给“变量”。 说明:在使用cin输入的时候必须考虑后面的变量类型。如果你要求输入一个整数,在 >>后面必须跟一个整型变量,如果要求一个字符,后面必须跟一个字符型变量。 int age; cin >> age; 也可以连续使用>>,实现从键盘对多个变量输入数据。 格式2: 这要求从键盘输入的数据的个数、类型与变量相一致。从键盘读取数据时,各数据之间要有分隔符,分隔符可以是一个或多个空格键、回车键等。

  • 02

    流读取运算符>>和cin的使用

  • 03

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

  • 04

    1.输出字符串和输出变量的区别 每当我们输出字符串常量的时候,必须用双引号把字符串引起来,以便将它和变量名明显的区分开来。 例 下面两个语句是不同的: cout << "Hello" ;                //打印字符串Hello到屏幕上cout << Hello ;                  //把变量Hello存储的内容打印到屏幕上

  • 05

    2.如何增强信息的可读性 为了增强输出信息的可读性,在输出多个数据时可以通过插入空格符,换行符或其他提示信息将数据进行组织,以获得更好的效果。 例: x=12; cout << "tom is my friend,he is"; cout << x; cout <<"years old"; 输出结果为tom is my friend,he is12year old

  • 06

    3.换行符的使用 必须注意,除非我们明确指定,cout并不会自动在其输出内容的末尾加换行符,因此下面的语句: 例 cout << "This is a sentence." ; cout << "This is another sentence." ; 将会有如下内容输出到屏幕: This is a sentence.This is another sentence. 虽然我们分别调用了两次cout,两个句子还是被输出在同一行。所以,为了在输出中换行,我们必须插入一个换行符来明确表达这一要求,在C++中换行符可以写作\n。 另外,你也可以用操作符endl来换行,例如: cout << "First sentence." << endl; cout << "Second sentence." << endl; 将会输出: First sentence. Second sentence.

格式化输入输出函数scanf/printf

  • 01

    printf函数的功能是格式化输出任意数据列表,其一般调用格式为: printf(格式控制符,输出列表) 【说明】 1)格式控制由输入格式说明和普通字符组成,必须用双引号括起来。 ●格式说明由%和格式字符组成,作用是将要输出的字符转换为指定的格式,如%d,%c等。 ●普通字符是在输出时原样输出的字符,一般在显示时起提示作用。 2)输出列表是需要输出的一组数据(可以为表达式和变量),各参数之间用“,”分开。要求格式说明和各输出项在数量和类型上要一一对应,否则将会出现意想不到的错误。

  • 02

    printf函数的格式符 例如,对如下程序段 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

  • 03

    例:某幼儿园里,有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; }

  • 04

    格式化输入函数scanf scanf函数的功能是格式化输入任意数据列表,其一般调用格式为: scanf(格式控制符,地址列表) 【说明】 1)地址列表中给出各变量的地址,可以为变量的地址,也可以为字符串的首地址。 2)格式控制符由%和格式符组成,作用是将要输入的字符按指定的格式输入,如%d,%c等。

  • 05

    scanf函数的附加格式说明符

几种输入输出格式的几点说明

  • 01

    cin和cout在Dev C++中只能调用<iostream>库,而其他输入输出格式要调用<stdio.h>库或<cstdio>库。

  • 02

    cin和cout属于C++的概念,调用时涉及输入输出流,而scanf和printf属于C的概念,是C语言的标准输入/输出库中的函数,所以在时效上,scanf和printf优于cin、cout,对于大数据的输入输出,通常情况下应该用scanf、printf。

  • 03

    对于普通数据的输入输出,cin和cout比较方便,而在格式化方面,scanf和printf比较容易。cin效率比scanf低很多,尤其输入数据达到20万以上时非常明显,在100万时cin读入就会超时。

  • 04

    scanf和printf也缺点,cin和cout能够自动识别变量的数据类型,因此,在进行输入输出时,不需要指定数据类型,printf和scanf函数在输入输出时需指定数据类型。

(0)

相关推荐

  • C语言如何输入多组数据

    今天小编给大家带来的是[C语言如何输入多组数据]的分享,希望能帮助到大家! 操作方法 01 C语言中实现多组数据输入输出主要有两种方式: 1.首先输入一个n,表示将有n个输入输出,例如: #inclu ...

  • AMD SATA Controller是什么?

    AMD SATA Controller是磁盘控制机器. 磁盘控制机器:磁盘控制器是主板上对硬盘/软盘进行控制.资源分配.数据输入输出调节的特定的电路芯片,它们一般可提供四个IDE通道,也就是说可连接四 ...

  • 入门版新MacBook首发全面评测

    外观是几代产品的糅合 虽然没有Touch Bar,但入门版新MacBook外观与带Touch Bar的版本并没什么不同.今天发布的整个新MacBook系列都可以看做是苹果近几年产品的积累与合成.它们的 ...

  • 大型电影级专业摄像机排行 适合拍电影的五款摄像机推荐

    从电影诞生的时代起,摄像机的发展就不断的带动着电影的发展,如果将电影看成一个整体的话,那么摄像机就是电影的心脏,一台性能极致出色的摄像机,它是高品质电影的拍摄核心.现在国内的电影基本上都是采用大型专业 ...

  • 组装计算机的操作步骤

    最小系统通过自检后,我们要把计算机硬件系统安装到计算机机箱里面,拆下显卡,保留CPU风扇以及内存,将机箱放在安装台上,开始安装计算机硬件系统.那么下面就让小编来为大家介绍具体的操作方法. 操作方法 0 ...

  • 基于STM32的SD读卡器的制作

    SD读卡器就是读取sd存储卡的设备.目前在市面上最常见的存储卡SD Memory(SD卡).该存储卡现在被广泛应用于数码相机.DV.MP4.MP3随身听.PDA掌上电脑.多媒体手机.为了便于使存储卡所 ...

  • linux shell数据重定向(输入重定向与输出重定向)详细分析

    linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作。 用户可以自定义文件描述符范围是:3-num,这个 ...

  • 笔记本画了无法开机,急用里面的数据该怎么办呢? 取回电脑内数据的技巧

    这里介绍一个笔记本电脑损坏无法开机,如何取回电脑内的数据。此种情况,一般适用于可以判断笔记本硬盘正常无故障,但是笔记本电脑又因主板损坏或者CPU损坏等其他原因引起的笔记本电脑无法开机。此种办法可以快速 ...

  • linux下输入输出重定向

    inux重定向是指修改原来默认的一些东西,对原来系统命令的默认执行方式进行改变,比如说简单的我不想看到在显示器的输出而是希望输出到某一文件中就可以通过Linux重定向来进行这项工作。 Linux默认输 ...