C++输入输出基础教程

一、引言

C++提供了丰富的输入输出功能,通过<bits/stdc++.h>头文件,我们可以方便地使用各种输入输出流对象来进行数据的输入和输出操作。本教程将介绍基本的输入输出语法以及如何控制输出数据的格式,特别是保留小数位数的相关操作。为了避免使用 std:: 前缀,我们使用 using namespace std; 语句将 std 命名空间引入。

二、标准输入输出流对象

在 C++中,cin是标准输入流对象,用于从标准输入设备(通常是键盘)读取数据;cout是标准输出流对象,用于向标准输出设备(通常是屏幕)输出数据。

三、基本数据类型的输入输出

(一)整数类型

以下是一个简单的示例,演示如何输入和输出整数:

#include <bits/stdc++.h>
using namespace std;

int main() {
    int num;
    // 从键盘输入一个整数
    cout << "请输入一个整数:";
    cin >> num;
    // 输出这个整数
    cout << "你输入的整数是:" << num << endl;
    return 0;
}

(二)浮点数类型

对于浮点数类型(如floatdouble),输入输出方式类似:

#include <bits/stdc++.h>
using namespace std;

int main() {
    double num;
    // 输入一个浮点数
    cout << "请输入一个浮点数:";
    cin >> num;
    // 输出这个浮点数
    cout << "你输入的浮点数是:" << num << endl;
    return 0;
}

四、控制输出格式 - 保留小数位数

在 C++中,我们可以使用iomanip头文件中的setprecision函数来控制输出浮点数的小数位数。需要注意的是,在使用<bits/stdc++.h>头文件时,setprecision函数可以直接使用,无需额外包含iomanip头文件。

以下是一个示例,演示如何保留浮点数的小数位数:

#include <bits/stdc++.h>
using namespace std;

int main() {
    double num = 3.1415926;
    // 保留 2 位小数输出
    cout << "保留 2 位小数:" << fixed << setprecision(2) << num << endl;
    // 保留 4 位小数输出
    cout << "保留 4 位小数:" << fixed << setprecision(4) << num << endl;
    return 0;
}

在上述代码中,fixed表示以固定小数位数的形式输出浮点数。setprecision(n)中的n表示要保留的小数位数。

五、字符串的输入输出

对于字符串类型(string),也可以使用cincout进行输入输出:

#include <bits/stdc++.h>
using namespace std;

int main() {
    string str;
    // 输入一个字符串
    cout << "请输入一个字符串:";
    cin >> str;
    // 输出这个字符串
    cout << "你输入的字符串是:" << str << endl;
    return 0;
}

如果想要输入包含空格的整行字符串,可以使用getline函数:

#include <bits/stdc++.h>
using namespace std;

int main() {
    string str;
    // 输入包含空格的整行字符串
    cout << "请输入一行字符串:";
    getline(cin, str);
    // 输出这个字符串
    cout << "你输入的字符串是:" << str << endl;
    return 0;
}

六、总结

通过本教程,我们学习了 C++中基本的输入输出操作,包括整数、浮点数和字符串的输入输出,以及如何使用setprecision函数来控制浮点数的输出格式,保留指定的小数位数。在实际编程中,熟练掌握这些输入输出操作对于与用户交互以及数据的展示都非常重要。

以上文档使用 using namespace std; 避免了 std:: 前缀,让代码更加简洁。然而,在大型项目中,使用 using namespace std; 可能会带来命名冲突的风险,所以需要谨慎使用。如果还有其他特定的要求或需要进一步完善,请随时告诉我。

0 条评论

目前还没有评论...