首页
社区
课程
招聘
[分享]C++基础三-输入输出
发表于: 2021-8-20 18:50 6225

[分享]C++基础三-输入输出

2021-8-20 18:50
6225

程序的输入指的是从输入文件将数据传送给程序,程序的输出指的是从程序将数据传送给输出文件。C++的输入输出包含以下三个方面:

在C语言中,使用printf和scanf进行输入输出,往往不能保证所输入输出的数据是可靠的安全的。在C++的输入输出中,编译系统对数据类型进行严格的检查,凡是类型不正确的数据都不可能通过编译。因此C++的I/O操作是类型安全(type safe)的。C++的I/O操作是可扩展的,不仅可以用来输入输出标准类型的数据,也可以用于用户自定义类型的数据。

在编写C++程序时,使用输入输出需要包含头文件iostream,它包含了用于输入输出的对象,例如常见的cin表示标准输入、cout表示标准输出、cerr表示标准错误。
使用cin进行输入时需要紧跟>>运算符,使用cout进行输出时需要紧跟<<运算符,这两个运算符可以自行分析所处理的数据类型,因此无需像使用scanf和printf那样给出格式控制字符串。其中endl表示换行,与C语言里的\n作用相同。
cin和cout都是C++的内置对象,不是关键字。C++库定义了大量的类,cin和cout分别是istream和ostream类的对象,它们是由标准库的开发者提前创建好的,可以直接拿来使用,这种在C++中提前创建好的对象称为内置对象。

流成员函数setf括号中的参数表示格式状态,它是通过格式标志来指定的。格式标志在类ios中被定义为枚举值。因此在引用这些格式标志时要在前面加上类名ios和域运算符“::”。

#include <iostream>
using namespace std;
int main()
{
    int nNum = 0;
    cin>>nNum;
    cout<<"test cout"<<nNum<<endl;
    return 0;
}
#include <iostream>
using namespace std;
int main()
{
    int nNum = 0;
    cin>>nNum;
    cout<<"test cout"<<nNum<<endl;
    return 0;
}
#include <iostream>
using namespace std;
int main()
{
    //以八进制、十进制、十六进制输出整数
    int nNum = 99;
    cout << "oct=" << oct << nNum << endl;
    cout << "dec=" << dec << nNum << endl;
    cout << "hex=" << hex << nNum << endl;
    //将浮点数分别以整型,单(双)精度浮点,科学表示法输出
    float fNum = 123.456f;
    cout << "dec=" << dec << fNum << endl;
    cout << "fixed=" << fixed << fNum << endl;
    cout << "scientific=" << scientific << fNum << endl;
 
    return 0;
}
#include <iostream>
using namespace std;
int main()
{
    //以八进制、十进制、十六进制输出整数
    int nNum = 99;
    cout << "oct=" << oct << nNum << endl;
    cout << "dec=" << dec << nNum << endl;
    cout << "hex=" << hex << nNum << endl;
    //将浮点数分别以整型,单(双)精度浮点,科学表示法输出
    float fNum = 123.456f;
    cout << "dec=" << dec << fNum << endl;
    cout << "fixed=" << fixed << fNum << endl;
    cout << "scientific=" << scientific << fNum << endl;
 
    return 0;
}
#include <iostream>
using namespace std;
int main()
{
    //以八进制、十进制、十六进制输出整数
    //成员函数unsetf用来终止原来设置的状态,ios::basefield表示进制
    int nNum = 99;
    cout.setf(ios::oct, ios::basefield);
    cout << "oct=" << nNum << endl;
    cout.setf(ios::dec, ios::basefield);
    cout << "dec=" << nNum << endl;
    cout.setf(ios::hex, ios::basefield);
    cout << "hex=" << nNum << endl;
    cout.unsetf(ios::hex);
 
    //将浮点数分别以整型,单(双)精度浮点,科学表示法输出
    float fNum = 123.456f;
    cout.setf(ios::oct);
    cout << "oct=" << fNum << endl;
    cout.unsetf(ios::oct);
    cout.setf(ios::fixed);
    cout << "fixed=" << fNum << endl;
    cout.unsetf(ios::fixed);
    cout.setf(ios::scientific);
    cout << "scientific=" << fNum << endl;
    cout.unsetf(ios::scientific);
 
    return 0;
}
#include <iostream>
using namespace std;

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (1)
雪    币: 179
活跃值: (264)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
cin和cout分别是istream和ostream类的对象
2021-8-21 20:56
0
游客
登录 | 注册 方可回帖
返回
// // 统计代码