2025-4-20 12:24:21 [显示全部楼层]
61浏览
查看: 61|回复: 0

[教程] 从零开始学习C++语句(第一章)

[复制链接]
本帖最后由 3ER4 于 2025-4-20 16:32 编辑

cout C++ 中用于标准输出的核心工具,属于 iostream 库中的 ostream 类对象
  1. extern istream cin;                ///< Linked to standard input
  2. <font color="#0000ff">  extern ostream cout;</font>                ///< Linked to standard output
  3.   extern ostream cerr;                ///< Linked to standard error (unbuffered)
  4.   extern ostream clog;                ///< Linked to standard error (buffered)
  5. #ifdef _GLIBCXX_USE_WCHAR_T
  6.   extern wistream wcin;                ///< Linked to standard input
  7.   extern wostream wcout;        ///< Linked to standard output
  8.   extern wostream wcerr;        ///< Linked to standard error (unbuffered)
  9.   extern wostream wclog;
复制代码

它通过流式操作实现数据输出,支持从简单文本到复杂格式化输出的多种场景。
以下从基础语法进行详细解析。   
一、cout 的基本用法 1. 头文件与命名空间  必须包含头文件 <iostream>,并使用 std 命名空间(或显式使用 std::cout)。
命名空间:using namespace std;

以下为示范
  1. #include <iostream>
  2. using namespace std;  // 或 std::cout
复制代码

1.基本语法  使用 << 运算符将数据插入输出流,endl 表示换行并刷新缓冲区
  1. cout << "示范" << endl;  // 输出后换行并清空缓冲区
复制代码
2.输出内容类型  支持所有基本数据类型(整数、浮点数、字符、字符串)及表达式:
  1. int x = 10;//赋值语句
  2. cout << x + 5 << " " << "Result is: " << true;  // 输出:15 Result is: 1
复制代码
cin 是 C++ 中用于标准输入的核心工具,属于 iostream 库中的 istream 类对象。它通过流提取运算符 >> 实现数据读取,支持从键盘输入到复杂数据处理的多种场景。以下从基础语法、输入规则、缓冲区处理进行详细解析。


一、cin 的基本用法
  • 头文件与命名空间
    • 必须包含头文件 <iostream>,并使用 std 命名空间(或显式使用 std::cin)。
    • 基本语法:使用 >> 运算符将输入数据提取到变量中:
      1. int x;
      2. cout << "请输入整数:";
      3. cin >> x;  // 从键盘读取整数到变量x
      复制代码

    • 输入类型匹配:输入值需与变量类型严格匹配,否则会导致输入失败或数据错误。例如,输入非数字字符到 int 变量会触发 failbit 标志。


二、多变量输入与分隔符
  • 连续输入:通过连续使用 >> 运算符可读取多个变量,输入数据间需用空格、制表符或换行分隔:
    1. string name;
    2. int age;
    3. cout << "请输入姓名和年龄:";
    4. cin >> name >> age;  // 输入示例:Alice 25 → name="Alice", age=25
    复制代码

  • 分隔符规则>> 运算符默认跳过前导空白符(空格、换行),但保留后续分隔符。例如输入 "123 456" 时,cin >> a >> b会成功提取 a=123b=456,但缓冲区仍残留换行符。


三、缓冲区与输入控制
  • 输入缓冲区:cin从输入缓冲区读取数据,输入结束时需按回车键将数据送入缓冲区。缓冲区中的换行符需手动清除,否则可能影响后续输入(如 getline会直接读取残留换行符)。
  • 清除缓冲区:使用 cin.ignore清除残留字符(如换行符):
    1. cin >> x;
    2. cin.ignore(numeric_limits<streamsize>::max, '\n');  // 清除所有字符直到换行符
    复制代码


    • cin.get 与 getline
      • cin.get:
        • 读取单个字符或固定长度字符串,保留换行符。
        • 示例:cin.get(array, 20) 读取最多 19 个字符到字符数组。
      • getline:
        • 读取整行输入(包括空格),自动清除换行符。
        • 示例:getline(cin, str) 适合输入含空格的字符串。

目前还没有讲到高级特性,后续会将其详细话介绍,是从零到一的过程。希望对你们有用。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail