Z
ZHANK
编程在线教程C++ 教程输入输出流 cout/cin
入门基础

输入输出流 cout/cin

掌握 cout 输出、cin 输入、格式化输出、iomanip

输入输出流 cout/cin

C++ 用流(stream)取代 C 的 printf/scanf——类型安全、可扩展,但格式化稍显啰嗦。

学完本章你将: 掌握 cout 格式化输出、cin 输入、iomanip 控制格式。


cout 基础

cpp
#include <iostream>
#include <string>

int main() {
    int age = 25;
    double score = 92.5;
    std::string name = "小明";

    std::cout << "姓名:" << name << "\n"
              << "年龄:" << age << "\n"
              << "成绩:" << score << "\n";

    return 0;
}

格式化输出(iomanip)

cpp
#include <iostream>
#include <iomanip>  // setw, setprecision, fixed

int main() {
    double pi = 3.1415926535;

    // 精度控制
    std::cout << std::fixed << std::setprecision(2);
    std::cout << pi << "\n";  // 3.14

    // 宽度对齐
    std::cout << std::setw(10) << "Bob"   << std::setw(5) << 95 << "\n";
    std::cout << std::setw(10) << "Alice" << std::setw(5) << 88 << "\n";
    //       Bob   95
    //     Alice   88

    return 0;
}

cin 输入

cpp
#include <iostream>
#include <string>

int main() {
    int age;
    std::string name;

    std::cout << "姓名:";
    std::cin >> name;           // 读一个单词(遇到空白停止)

    std::cout << "年龄:";
    std::cin >> age;

    std::cout << name << ",今年 " << age << " 岁\n";

    // 读一整行
    std::cin.ignore();           // 清掉残留的换行
    std::cout << "自我介绍:";
    std::string intro;
    std::getline(std::cin, intro);  // 读整行

    return 0;
}

⚠️ cin >> 之后如果接着用 getline,中间必须加 cin.ignore() 清除换行符。