您的位置:首页 > 编程语言 > C语言/C++

C++输入输出简介

2015-11-07 13:56 225 查看


C++输入输出简介

转自:http://www.weixueyuan.net/view/5810.html
C++中没有专门的输入输出语句,而是通过系统提供的输入输出流类来实现。

cin用来在程序执行期间给变量输入数据,一般格式为:

cin>> <变量名1>[>> <变量名2> >>…>> <变量名n>];

其中:>> 称为“提取运算符”,程序执行到这条语句便暂停下来,等待从键盘上输入相应数据,直到所列出的所有变量均获得值后,程序方继续执行。
cout实现将数据输出到显示器的操作,一般格式为:

cout<< <表达式1> [<< <表达式2> <<…<< <表达式n>];

其中:<< 称为“插入运算符”,将紧跟其后的表达式的值输出到显示器上当前光标位置。

cin和cout的书写形式很灵活,如果有多个变量,即使类型不相同,也可以写在同一个语句中或者分成若干个语句输入或输出。

注意,使用cin和cout必须在程序开头增加一行:

# include <iostream.h>

或者两行:

# include <iostream>

using namespace std;


数据的输入输出

◆ 1、字符的输入输出

cin:用cin为字符变量输入数据时,输入的各字符之间可以间隔开也可以无间隔,系统会自动跳过输入行中的间隔符(包括空格符,制表符,回车符等)。例如:

char c1, c2, c3;则

cin>>c1; //A

cin>>c2>>c3;

执行过程为:

(1) 程序执行到A行时,等待用户输入数据;

(2) 若输入:Abc <CR> //CR代表回车符

(3) cin分别将字符A、b、c赋给变量c1、c2、c3。

若在第(2)步中输入:A b c <CR>,则结果一样。

cin.get():用于提取键盘上输入的所有字符(包括间隔符等),赋给字符变量。并且,cin.get()函数一次只能提取一个字符的值,其格式为:

cin.get (字符变量);

举例:设有定义char c1, c2, c3, c4;则下列语句的执行过程是:

cin.get (c1);

cin.get (c2);

cin.get (c3);

cin.get (c4);

程序执行过程中若输入:

A b<CR> //Ab间有空格

C<CR>

则字符′A′、空格、′b′、回车分别赋给变量c1、c2、c3、c4;输入缓冲区中保留字符′C′和回车符。

注意,cin与cin.get()是有区别的,cin自动跳过分隔符(如空格、回车);cin.get()不会。

字符输出:字符间无间隔,如需间隔,可在数据间插入间隔符。如′\t′(制表符,自动跳过若干字符位置)、′\n′或endl(表示回车换行,并清空缓冲区)等。

◆ 2、字符串的输入输出

字符串的输入:用系统提供的函数cin.getline() ,将回车之前输入的所有字符都放入字符数组中,并以回车作为结束。
字符串的输出:可以直接输出串常量(常用于输出一些提示信息),也可以用字符数组名直接输出字符数组。

举例:

char city[11];

cin.getline(city, 10); //由键盘输入城市名

cout << “城市名:“ << city << endl;

其中:cin.getline() —— 第1个参数是已经定义的字符数组名,第2个参数是读入字符的最多个数(包括字符串结束符‘\0’)。

【执行结果】:从输入行中提取最多9个字符(由cin.getline()的第2个参数指明),再加上一个‘\0’字符,输入到字符数组city(由cin.getline()的第1个参数指明)。输出时,字符数组输出串结束符前的所有字符。

◆ 3、十进制数据的输入输出

请看下例:

int i, j;

float x, y;

cout<<”Input i, j, x, y:”<<endl; //D

cin>>i>>j; //E

cin>>x>>y; //要求输入十进制数据

cout<<"i="<<i<<'\t'<<"j="<<j<<endl;

cout<<"x+y="<<x+y<<endl;

程序执行到D行,将输出提示信息:

Input i, j, x, y:

并停留在E行,等待用户输入数据,若输入:

10 20<CR>

4.5 8.6 <CR>

则程序输出:

i=10 j=20

x+y=13.1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: