C++阅读笔记(一):数据的输入与输出

数据的输入与输出

一.流的概念(stream)

定义:从源设备到目标设备的字符序列。
输入流:指从输入设备流向内存的字节序列(input stream)。
输出流:指从内存流向输出设备的字节序列(output stream)。

表示:cin:输入流,cout:输出流。调用#include<iostream.h>这个头文件。

二.cin和析取运算符

输出单个变量:cin>>x;
例1-1:cin用法

#include<iostream.h>
void main()
{
	int x;     //定义变量x,开辟储存空间,值待定。
	cin>>x;    //程序执行到cin时,等待键盘数据的输入,形成输入流,按Enter键结束
}			   //析取运算符“>>”,从输入流中提取数据存入变量x中。

注意:析取运算符具有自动识别数据类型的功能,根据变量从输入流中提取对应的数据
输入多个变量:cin>>x1>>x2>>x3;其中x1,x2,x3为任意类型的变量。如int,float,char等。

  • 输入数据的个数与cin语句中变量的个数相同。
  • 各输入数据之间用间隔符分开。(包括空格,Enter,Tab)
  • 全部数据输入完成后,按下Enter键结束。
  • 析取运算符后一定跟变量,不能跟常量。
    如cin>>“x=”>>x;cin>>12>>x;cin>>‘x’>>x;都是错误的格式。

三.cout和插入运算符

输出单个变量和常量:cout<<x;
例1-2:cout用法

#include<iostream.h>
void main()
{
	int x=3;     //定义变量x,开辟储存空间,值为3。
	cout<<xl;    //插入运行算符<<从内存取出变量x的值为3,插入到输出流中
}			   //程序执行到cout,将输出流数据显示出来。

连续输出:cout<<x1<<x2<<x3;

  • 在输出多个数据时,一定要注意数据之间插入分隔符,空格,Tab,\n或endl,字符(串)常量。否则输出数据时不容易区分。

例1-3

#include<iostream.h>
void main()
{
	char ch1='c';
	char ch2[]="hello C++";
	cout<<ch1<<endl;
	cout<<ch2<<endl;
	cout<<'c'<<endl;
	cout<<"hello everyone!"<<endl;
	int x=3;
	int y=4;
	cout<<"x="<<x<<" "<<"y="<<y<<endl;//使用分隔符
}

其输出结果为:
在这里插入图片描述

四.输出格式控制符

输出格式控制的头文件“#include<iomanip.h>”。
设置浮点数的精度:setprecision(n);//n代表有效位数。
设置输出域:setw(n);//n代表输出数据所占的列数。
设置对其格式:setiosflags(f);//f代表常量ios::right和ios::left。
取消对其格式:resetiosflags(f);//f代表常量ios::right和ios::left。
注意:默认输出格式为右对齐
例1-4

#include<iostream.h>
#include<iomanip.h>
void main()
{
	//setprecision()对后面所有的数据有效
	cout<<setprecision(3)<<3.1415<<"  "<<2.435<<endl;
	//setw()只对紧跟在其后的一个数有效
	cout<<setiosflags(ios::left)<<setw(8)<<456<<setw(8)<<123<<endl;
	cout<<resetiosflags(ios::left)<<setw(8)<<123<<endl;
}

其输出结果为:
在这里插入图片描述
例1-5:九九乘法表

#include<iostream.h>
#include<iomanip.h>
void main()
{
	for(int i=1;i<10;i++)
	{
		for(int j=1;j<10;j++)
			cout<<setw(4)<<i*j;//setw()格式控制
		cout<<endl;
	}
}

其输出结果为:
在这里插入图片描述

五.数制基数

hex:十六进制
oct:八进制
dec:十进制
例1-6:输入输出不同进制的数

#include<iostream.h>
void main()
{
	int x=34;
	//设置数制基数后一直有效,直到被改变
	cout<<hex<<17<<"  "<<x<<"  "<<18<<endl;
	cout<<17<<"  "<<oct<<x<<"  "<<18<<endl;
	cout<<dec<<17<<"  "<<x<<"  "<<18<<endl;
	int x1,x2,x3,x4;
	cin>>oct>>x1;//034
	cin>>x2;
	cin>>hex>>x3;//0x25
	cin>>dec>>x4;//78;
	cout<<x1<<"  "<<x2<<"  "<<x3<<"  "<<x4<<endl;
}

其输出结果为:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老~葛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值