您的位置:首页 > 科技 > IT业 > 购买淘宝店铺在哪个平台_中央人民政府网站搜索碳中和四期_八大营销方式有哪几种_北京seo

购买淘宝店铺在哪个平台_中央人民政府网站搜索碳中和四期_八大营销方式有哪几种_北京seo

2025/4/25 11:38:44 来源:https://blog.csdn.net/u012133341/article/details/147283843  浏览:    关键词:购买淘宝店铺在哪个平台_中央人民政府网站搜索碳中和四期_八大营销方式有哪几种_北京seo
购买淘宝店铺在哪个平台_中央人民政府网站搜索碳中和四期_八大营销方式有哪几种_北京seo

模块一:准备工作与第一个程序 (热身)

在正式编写代码之前,我们需要了解为什么要学习 C++,并搭建好我们的开发环境。然后,我们将编写并运行第一个简单的 C++ 程序。

1. 为什么选择 C++?

你可能听说过很多编程语言,为什么选择 C++ 呢?

  • 性能卓越: C++ 程序运行速度非常快,因为它接近底层硬件,能进行精细的优化。这使得它在游戏引擎 (如 Unreal Engine)、高性能计算、操作系统 (如 Windows 部分组件)、浏览器 (如 Chrome) 等领域备受青睐。
  • 功能强大: C++ 支持多种编程范式(过程式、面向对象、泛型编程),让你能够用灵活的方式解决复杂问题。
  • 应用广泛: 从桌面应用到服务器后端,从嵌入式系统到金融交易系统,C++ 的身影无处不在。
  • 打好基础: 学习 C++ 能让你更深入地理解计算机的工作原理,如内存管理等,为学习其他语言打下坚实的基础。

虽然 C++ 有一定的学习曲线,但掌握它将为你打开通往许多激动人心的技术领域的大门!

2. 准备你的武器库:环境搭建

要编写和运行 C++ 代码,你需要两样东西:

  • 编译器 (Compiler): 它能将你写的 C++ 代码(源代码)翻译成计算机能懂的机器指令。常见的编译器有 GCC (Linux, macOS, Windows via MinGW/Cygwin), Clang (macOS, Linux, Windows), MSVC (Windows)。
  • 代码编辑器或 IDE (Integrated Development Environment): 用于编写代码的工具。IDE 通常集成了编辑器、编译器、调试器等功能,更加方便。

推荐方案:

  • Windows 用户:

    • 推荐: 安装 Visual Studio Community。这是一个功能强大的免费 IDE,自带 MSVC 编译器和调试器,安装和配置相对简单。
      • 访问 Visual Studio 官网 下载安装程序。
      • 在安装器的 "工作负载" 选项卡中,勾选 "使用 C++ 的桌面开发",然后安装。
      • 安装完成后,启动 Visual Studio,选择 "创建新项目",然后选择 "控制台应用" (Console App),即可开始编写代码。
    • 备选: 安装 VS Code + MinGW-w64。VS Code 是轻量级编辑器,MinGW-w64 提供了 GCC 编译器。
      • 安装 VS Code。
      • 安装 MinGW-w64 (推荐通过 MSYS2 或直接下载预编译包),确保将编译器的 bin 目录添加到系统环境变量 PATH 中
      • 在 VS Code 中安装 Microsoft 的 "C/C++" 扩展。
      • 你需要配置 tasks.json (用于编译) 和 launch.json (用于调试)。VS Code C++ 扩展通常会提供基础模板。
  • macOS 用户:

    • 推荐: 安装 Xcode Command Line Tools。这会提供 Clang 编译器和相关工具。
      • 打开 "终端" (Terminal) 应用。
      • 输入命令 xcode-select --install 并按回车,按照提示安装。
    • 编辑器: 使用 VS Code
      • 安装 VS Code。
      • 安装 "C/C++" 扩展。配置 tasks.jsonlaunch.json(通常 VS Code 能自动检测到 Clang)。
  • Linux 用户 (如 Ubuntu):

    • 推荐: 安装 build-essential 包,它包含了 GCC 编译器和常用工具。
      • 打开终端。
      • 运行命令 sudo apt update && sudo apt install build-essential gdb
    • 编辑器: 使用 VS Code
      • 安装 VS Code (通常可以通过包管理器安装,如 sudo apt install code)。
      • 安装 "C/C++" 扩展。配置 tasks.jsonlaunch.json

重要提示: 环境搭建是初学编程时可能遇到的第一个挑战。如果遇到困难,请耐心搜索相关教程或寻求帮助。确保你的编译器能够正常工作是后续学习的基础。

3. 你好,世界!:你的第一个 C++ 程序

环境搭好了,让我们来编写第一个 C++ 程序。在你的 IDE 或编辑器中,创建一个新文件,命名为 hello.cpp (C++ 源文件的后缀通常是 .cpp),然后输入以下代码:

C++

// 我的第一个 C++ 程序
// 日期: 2025-04-16 (请替换为当前日期)#include <iostream> // 包含输入输出流库int main() { // 程序入口点:main 函数// 使用 std::cout 输出文本到控制台std::cout << "Hello, World!" << std::endl; return 0; // 表示程序成功结束
} 

代码解释:

  • // 我的第一个 C++ 程序: 这是单行注释,以 // 开头,后面的内容会被编译器忽略,用于解释代码。
  • #include <iostream>: 这是预处理指令。它告诉编译器把 <iostream> 这个头文件包含进来。<iostream> 提供了标准输入输出的功能,比如在屏幕上显示文字 (std::cout)。
  • int main(): 这是主函数 (main function)。每个 C++ 程序都必须有一个 main 函数,它是程序的入口点,代码从这里开始执行。int 表示这个函数执行完毕后会返回一个整数值给操作系统。
  • { ... }: 这对花括号定义了 main 函数的代码块范围。函数的所有代码都写在花括号里面。
  • std::cout << "Hello, World!" << std::endl;: 这是执行输出操作的语句。
    • std: 是 "standard" (标准) 的缩写,它是一个命名空间 (namespace),C++ 标准库里的很多功能都在这个空间里。
    • ::: 是范围解析运算符,用来指明我们要使用的是 std 命名空间里的 cout
    • cout: 是 "character output" 的缩写,代表标准输出流,通常连接到你的屏幕(控制台)。
    • <<: 是流插入运算符。它把右边的内容 "插入" 到左边的输出流 (std::cout) 中。
    • "Hello, World!": 这是字符串字面量,就是要输出的文本内容。
    • std::endl: 这也是 std 命名空间里的一个特殊东西,叫做操纵符 (manipulator)。它的作用是输出一个换行符,并刷新输出缓冲区(确保文字立刻显示出来)。你也可以直接用换行符 \n (std::cout << "Hello, World!\n";),通常更简洁。
  • return 0;: 这条语句结束 main 函数,并向操作系统返回 0。通常,返回 0 表示程序正常结束

编译和运行:

  • 如果你使用 Visual Studio: 点击顶部菜单的 "调试" -> "开始执行(不调试)" (或按 Ctrl + F5)。Visual Studio 会自动编译并运行程序,弹出一个控制台窗口显示 "Hello, World!"。
  • 如果你使用 VS Code + 编译器 (如 GCC/Clang):
    1. 编译 (Compile): 打开 VS Code 的终端 (Terminal -> New Terminal),输入类似命令:g++ hello.cpp -o hello (如果是 Clang,用 clang++)。这会读取 hello.cpp 文件,进行编译和链接,生成一个名为 hello (Windows 下可能是 hello.exe) 的可执行文件。-o hello 指定输出文件的名字。
    2. 运行 (Run): 在同一个终端里,输入 ./hello (Linux/macOS) 或 .\hello.exe (Windows) 并按回车。你就能看到输出结果了。
    • 提示: 配置好 tasks.json 后,你可以通过 VS Code 的任务菜单 (Terminal -> Run Build Task...) 来执行编译命令。

4. 动手试试看:实战练习

现在,轮到你来实践了!

  1. 确保成功: 完整输入上面的 Hello, World! 代码,并成功编译、运行它。看到输出结果了吗?恭喜!
  2. 修改输出: 尝试修改 std::cout 语句中的字符串,让它输出你自己的名字或者其他你想说的话。例如:std::cout << "My name is [你的名字]!\n";。重新编译并运行,看看效果。
  3. 制造错误 (学习调试): 故意在代码里制造一些小错误,看看编译器会给你什么提示。这非常重要!学会看懂错误信息是编程的关键技能之一。
    • 尝试一: 删除 return 0; 后面的分号 ;,然后编译。看看编译器报什么错?(可能会提示 error: expected ';' before '}' token
    • 尝试二:std::cout 错写成 std::Cout (注意大小写),然后编译。编译器会告诉你什么?(可能会提示 error: 'Cout' is not a member of 'std'
    • 尝试三: 删除 #include <iostream> 这一行,然后编译。会发生什么?(可能会提示 error: 'cout' was not declared in this scopeerror: 'endl' was not declared in this scope

关键点: 不要害怕错误!编译器是你的朋友,它会尽力告诉你哪里出了问题。仔细阅读错误信息,定位到提示的行号,尝试理解并修正它。


模块二:基础语法与数据 (打地基)

我们已经成功运行了第一个程序。现在,让我们学习 C++ 的基础语法,了解如何存储和处理数据。

1. 程序的基石:变量与数据类型

程序需要处理数据,比如数字、文字等。变量 (Variable) 就像一个带标签的盒子,你可以给它起个名字,并用它来存储特定类型的数据。

  • 数据类型 (Data Type): 决定了变量可以存储什么样的数据,以及能对这些数据进行哪些操作。C++ 有多种内置的基本数据类型:

    • int: 存储整数 (integers),如 -10, 0, 100
    • float: 存储单精度浮点数 (floating-point numbers),即带小数点的数,精度有限,如 3.14, -0.5
    • double: 存储双精度浮点数,比 float 更精确,能表示更大范围的小数。推荐在需要小数时优先使用 double
    • char: 存储单个字符 (character),用单引号括起来,如 'A', 'a', '5', ' ' (空格也是字符)。
    • bool: 存储布尔值 (boolean),只有两个可能的值:true (真) 或 false (假)。常用于表示条件判断的结果。
  • 变量声明 (Declaration): 告诉编译器你要创建一个什么类型的变量,并给它起个名字。语法:数据类型 变量名;

    C++

    int age;
    double price;
    char grade;
    bool isFinished;
    
  • 变量初始化 (Initialization): 在声明变量的同时给它一个初始值。强烈推荐在声明时就初始化变量,避免使用未定义的值。

    C++

    int age = 25;             // C-like initialization
    double price = 99.9;
    char grade = 'A';
    bool isFinished = false;// C++11 推荐的统一初始化方式 (使用花括号)
    int score {100};          
    double temperature {26.5}; 
    char initial {'J'};
    bool loggedIn {true}; 
    
  • 变量赋值 (Assignment): 在变量声明后,使用赋值运算符 = 来改变变量存储的值。

    C++

    int count;      // 声明
    count = 10;     // 赋值
    count = count + 5; // 赋值,新值是 15
    
  • 常量 (Constant): 如果你想让一个变量的值在程序运行期间不能被修改,可以使用 const 关键字来定义常量。常量名通常用全大写字母表示(约定俗成)。

    C++

    const double PI = 3.14159;
    const int MAX_USERS = 100;
    // PI = 3.14; // 错误!不能修改常量的值
    

    使用常量可以提高代码的可读性和安全性。

2. 与程序互动:基本输入输出

我们已经用过 std::cout 来向屏幕输出信息。现在来看看如何从用户那里获取输入。

  • std::cout (输出): 使用流插入运算符 << 将数据发送到控制台。可以连续输出多个内容。

    C++

    int apples = 5;
    double weight = 1.2;
    std::cout << "我有 " << apples << " 个苹果." << std::endl;
    std::cout << "总重量是: " << weight << " 公斤。\n"; // \n 也是换行符
    
  • std::cin (输入): 使用流提取运算符 >> 从键盘读取用户输入,并存储到变量中。std::cin 通常会忽略输入前的空白字符(空格、制表符、换行符),并以空白字符作为输入的分隔。

    C++

    int userAge;
    double userHeight;std::cout << "请输入你的年龄: ";
    std::cin >> userAge; // 读取用户输入的整数,存入 userAgestd::cout << "请输入你的身高 (米): ";
    std::cin >> userHeight; // 读取用户输入的浮点数,存入 userHeightstd::cout << "你的年龄是 " << userAge << " 岁,身高是 " << userHeight << " 米。\n"; 
    

    注意: 如果用户输入的类型与 std::cin 期望读取的变量类型不匹配(比如期望数字却输入了字母),可能会导致程序出错或行为异常。

3. 让程序计算:运算符

运算符是执行特定操作(如计算、比较)的符号。

  • 算术运算符 (Arithmetic Operators):

    • + (加), - (减), * (乘)
    • / (除): 注意整数除法会丢弃小数部分 (5 / 2 结果是 2)。如果希望得到精确结果,至少有一个操作数应为浮点数 (5.0 / 25 / 2.05.0 / 2.0 结果都是 2.5)。
    • % (取模/求余): 计算整数除法的余数 (5 % 2 结果是 1)。
    C++

    int a = 10, b = 3;
    std::cout << "a + b = " << (a + b) << std::endl; // 13
    std::cout << "a / b = " << (a / b) << std::endl; // 3 (整数除法)
    std::cout << "a % b = " << (a % b) << std::endl; // 1double x = 10.0, y = 3.0;
    std::cout << "x / y = " << (x / y) << std::endl; // 3.333...
    
  • 赋值运算符 (Assignment Operators):

    • = (简单赋值): variable = value;
    • 复合赋值: +=, -=, *=, /=, %=。例如 a += 5; 等价于 a = a + 5;
    C++

    int score = 0;
    score += 10; // score 现在是 10
    score *= 2;  // score 现在是 20
    
  • 关系运算符 (Relational Operators): 用于比较两个值,结果是 bool 类型 (truefalse)。

    • == (等于)
    • != (不等于)
    • > (大于)
    • < (小于)
    • >= (大于等于)
    • <= (小于等于)
    C++

    int temp = 25;
    bool isHot = (temp > 30); // isHot 是 false
    bool isEqual = (temp == 25); // isEqual 是 true
    
  • 逻辑运算符 (Logical Operators): 用于组合多个布尔表达式,结果也是 bool 类型。

    • && (逻辑与 AND): 两个操作数都为 true 时,结果才为 true
    • || (逻辑或 OR): 至少一个操作数为 true 时,结果就为 true
    • ! (逻辑非 NOT): 将操作数的布尔值取反 (!true 结果是 false, !false 结果是 true)。
    C++

    int age = 20;
    bool hasLicense = true;
    bool canDrive = (age >= 18) && hasLicense; // canDrive 是 truebool isWeekend = false;
    bool hasTicket = true;
    bool canGoToMovie = isWeekend || hasTicket; // canGoToMovie 是 true 
    
  • 运算符优先级 (Operator Precedence): 运算符有执行的先后顺序(类似数学中的先乘除后加减)。例如,*/ 优先于 +-。如果不确定或想改变优先级,请使用圆括号 ()

    C++

    int result1 = 5 + 2 * 3; // 结果是 11 (先算 2 * 3)
    int result2 = (5 + 2) * 3; // 结果是 21 (先算 5 + 2)
    

4. 代码的说明书:注释

注释是写给看的,编译器会忽略它们。良好的注释能让你的代码更容易被他人(以及未来的你)理解。

  • 单行注释 (Single-line comment):// 开始,直到该行结束。 C++

    // 这是计算圆面积的公式
    double area = PI * radius * radius; 
    
  • 多行注释 (Multi-line comment):/* 开始,以 */ 结束,可以跨越多行。 C++

    /*
    这是一个多行注释的例子。
    这里可以写下更详细的说明。
    */
    int x = 10; 
    
    用途: 解释复杂的代码段、说明函数的用途、暂时禁用某段代码进行测试等。

5. 实战项目一:打造简易计算器

现在,运用我们刚学的知识,来做一个简单的计算器吧!

  • 目标: 程序能接收用户输入的两个数字,然后计算并显示它们的加、减、乘、除结果。
  • 涉及知识点: 变量声明 (double)、基本输入输出 (std::cin, std::cout)、算术运算符 (+, -, *, /)。

代码实现 (calculator.cpp):

C++

#include <iostream> // 需要用到 cin 和 coutint main() {// 1. 声明变量存储用户输入的数字和计算结果//    使用 double 类型可以处理小数double num1 {}, num2 {}; double sum {}, difference {}, product {}, quotient {};// 2. 提示用户输入第一个数字std::cout << "欢迎使用简易计算器!\n";std::cout << "请输入第一个数字: ";std::cin >> num1; // 读取用户输入并存入 num1// 3. 提示用户输入第二个数字std::cout << "请输入第二个数字: ";std::cin >> num2; // 读取用户输入并存入 num2// 4. 执行计算sum = num1 + num2;difference = num1 - num2;product = num1 * num2;// 5. 处理除法:检查除数是否为 0//    (为模块三的 if 语句做准备,这里先简单处理)//    注意:直接比较浮点数是否等于 0 可能有精度问题,//    但对于入门教程,这样写比较直观。if (num2 != 0) { quotient = num1 / num2;} // else { // 如果除数是 0,这里可以不做除法或者给提示//     std::cout << "错误:除数不能为零!\n";// }// 6. 输出结果std::cout << "\n--- 计算结果 ---\n";std::cout << num1 << " + " << num2 << " = " << sum << std::endl;std::cout << num1 << " - " << num2 << " = " << difference << std::endl;std::cout << num1 << " * " << num2 << " = " << product << std::endl;// 只在除数不为 0 时输出除法结果if (num2 != 0) {std::cout << num1 << " / " << num2 << " = " << quotient << std::endl;} else {std::cout << num1 << " / " << num2 << " = (错误:除数不能为零)" << std::endl;}return 0;
}

动手试试:

  1. 将以上代码输入到你的 IDE 或编辑器中,保存为 calculator.cpp
  2. 编译并运行它。
  3. 按照提示输入两个数字(可以是整数或小数),观察输出结果。
  4. 尝试输入第二个数字为 0,看看除法部分会发生什么。(根据上面的代码,它应该会提示错误信息,而不是尝试计算)。
  5. 思考: 如果用户输入的不是数字而是字母,程序会怎样?(通常会导致 cin 出错,后续的输入和计算可能都不会按预期进行)。

模块三:控制流程 (让程序更智能)

之前的程序都是按顺序执行的。现在我们要学习如何让程序根据不同的条件执行不同的代码(选择),以及如何让程序重复执行某段代码(循环)。

1. 让程序做决定:条件语句

条件语句允许程序根据一个或多个条件的真假来选择执行哪部分代码。

  • if 语句: 如果条件为 true,则执行 if 后面的代码块。

    C++

    int temperature = 15;
    if (temperature < 20) {std::cout << "天气有点冷,多穿点衣服。\n"; 
    }
    // 如果 temperature >= 20,上面 {} 里的代码就不会执行
    
  • if-else 语句: 如果条件为 true,执行 if 块;否则 (为 false),执行 else 块。两者必居其一。

    C++

    int age = 16;
    if (age >= 18) {std::cout << "你已成年。\n";
    } else {std::cout << "你还未成年。\n";
    }
    
  • if-else if-else 语句: 用于检查多个互斥的条件。程序会按顺序检查 ifelse if 的条件,一旦找到第一个为 true 的条件,就执行对应的代码块,然后跳过整个 if-else if-else 结构。如果所有条件都为 false,则执行最后的 else 块(else 是可选的)。

    C++

    int score = 75;
    if (score >= 90) {std::cout << "优秀 (A)\n";
    } else if (score >= 80) {std::cout << "良好 (B)\n";
    } else if (score >= 60) {std::cout << "及格 (C)\n"; // score 是 75,这个条件满足,执行这句
    } else {std::cout << "不及格 (D)\n";
    } 
    // 后面的 else 不会再被检查或执行
    
  • switch 语句: 当你需要根据一个整数或字符类型变量的具体值来执行不同操作时,switch 语句通常比一长串 if-else if 更清晰。

    C++

    char grade = 'B';
    switch (grade) { // 检查 grade 的值case 'A': // 如果 grade 等于 'A'std::cout << "非常棒!\n";break; // 执行完 case 'A' 的代码后,跳出 switchcase 'B': // 如果 grade 等于 'B'std::cout << "做得好!\n";break; // 跳出 switchcase 'C':std::cout << "还需要努力。\n";break;case 'D':std::cout << "要加油了!\n";break;default: // 如果 grade 不匹配上面任何一个 casestd::cout << "无效的等级。\n";break; // default 通常也需要 break
    }
    

    注意 break;! 如果省略了 case 后面的 break;,程序会继续执行下一个 case 的代码,直到遇到 breakswitch 结束,这被称为“穿透 (fallthrough)”,通常不是我们想要的行为。default 子句是可选的,用于处理所有其他未明确列出的情况。

2. 重复的力量:循环语句

循环语句让程序可以重复执行一段代码,直到满足某个停止条件。

  • while 循环: 先判断条件,如果条件为 true,则执行循环体内的代码;执行完毕后再次判断条件,如此反复,直到条件变为 false 才停止。如果一开始条件就为 false,循环体一次也不会执行。

    C++

    int count = 1;
    while (count <= 5) { // 条件:count 小于等于 5std::cout << "Count is: " << count << std::endl;count = count + 1; // 更新 count 的值,否则会无限循环!
    }
    std::cout << "循环结束。\n";
    
  • for 循环: 非常适合已知循环次数或需要按规律递增/递减的场景。它将初始化、条件判断、更新这三个部分集中写在一起,结构更清晰。

    C++

    // 打印 0 到 4
    for (int i = 0; i < 5; i = i + 1) { // 初始化: int i = 0; 条件: i < 5; 更新: i = i + 1std::cout << "i = " << i << std::endl;
    }
    // 更常见的写法 (i++ 等价于 i = i + 1)
    for (int j = 10; j >= 1; j = j - 1) { // 倒数std::cout << "j = " << j << std::endl;
    }
    

    for 循环的执行顺序:

    1. 执行初始化部分 (只执行一次)。
    2. 判断条件部分。
    3. 如果条件为 true,执行循环体代码。
    4. 执行更新部分。
    5. 回到第 2 步,重复判断条件。
    6. 如果条件为 false,循环结束。
  • do-while 循环: 先执行一次循环体,然后再判断条件。如果条件为 true,则继续循环;否则停止。保证循环体至少执行一次

    C++

    #include <string> // 需要用到 string 类型std::string password;
    do {std::cout << "请输入密码: ";std::cin >> password; 
    } while (password != "123456"); // 条件:密码不等于 "123456"std::cout << "密码正确!\n";
    

3. 改变路径:跳转语句

有时候我们需要在循环或 switch 内部改变正常的执行流程。

  • break;:

    • switch 语句中,用于跳出当前的 case
    • 在循环 (while, for, do-while) 中,用于立即终止整个循环,程序将跳转到循环体之后的第一条语句。
    C++

    for (int i = 1; i <= 10; ++i) {if (i == 5) {std::cout << "遇到 5,跳出循环!\n";break; // 当 i 等于 5 时,终止 for 循环}std::cout << "i = " << i << std::endl; 
    }
    // 程序会继续执行这里的代码
    
  • continue;:

    • 只能用在循环中。它会立即结束当前这次循环迭代,跳过循环体中 continue 后面的所有语句,然后直接开始下一次迭代(对于 for 循环,会先执行更新部分再判断条件;对于 whiledo-while,会直接判断条件)。
    C++

    for (int i = 1; i <= 5; ++i) {if (i == 3) {std::cout << "(跳过 3)\n";continue; // 当 i 等于 3 时,跳过本次循环后面的 cout}std::cout << "当前数字: " << i << std::endl; 
    }
    // 输出会是:当前数字: 1, 当前数字: 2, (跳过 3), 当前数字: 4, 当前数字: 5
    

4. 实战项目二:挑战数字猜谜游戏

让我们来做一个经典的小游戏:程序想一个秘密数字,让用户来猜,并给出提示!

  • 目标:
    1. 程序随机生成一个范围内的整数(比如 1 到 100)作为秘密数字。
    2. 循环提示用户输入猜测的数字。
    3. 比较用户猜测的数字和秘密数字:
      • 如果猜对了,显示祝贺信息并结束游戏。
      • 如果猜低了,提示 "太低了!"。
      • 如果猜高了,提示 "太高了!"。
    4. (可选)记录用户猜测了多少次。
  • 涉及知识点: 随机数生成 (rand, srand, time)、循环 (whiledo-while)、条件判断 (if-else if-else)、输入输出 (std::cin, std::cout)、变量、关系运算符。

代码实现 (guessing_game.cpp):

C++

#include <iostream>
#include <cstdlib> // 需要 rand() 和 srand()
#include <ctime>   // 需要 time()int main() {// 1. 生成随机数种子//    通常在程序开始时调用一次 srand()//    time(0) 返回当前时间,用它作为种子可以保证每次运行的随机数不同srand(time(0)); // 2. 生成秘密数字 (例如 1 到 100 之间)//    rand() % 100 会生成 0 到 99 之间的数//    所以 + 1 就得到 1 到 100int secretNumber = rand() % 100 + 1; int guess {}; // 存储用户猜测的数字,初始化为 0int attempts = 0; // 记录猜测次数std::cout << "欢迎来到数字猜谜游戏!\n";std::cout << "我已经想好了一个 1 到 100 之间的秘密数字。\n";// 3. 使用 do-while 循环,因为至少要猜一次do {std::cout << "请输入你猜测的数字: ";std::cin >> guess;attempts++; // 每次猜测,次数加 1// 4. 比较并给出提示if (guess < secretNumber) {std::cout << "太低了!再试试看。\n";} else if (guess > secretNumber) {std::cout << "太高了!再试试看。\n";} else {// 猜对了!std::cout << "\n恭喜你!猜对了!秘密数字就是 " << secretNumber << "。\n";std::cout << "你总共尝试了 " << attempts << " 次。\n";}} while (guess != secretNumber); // 只要没猜对,就继续循环std::cout << "游戏结束,感谢参与!\n";return 0;
}

动手试试:

  1. 将代码输入 IDE,保存为 guessing_game.cpp
  2. 编译并运行。
  3. 根据提示开始猜测数字,看看程序的反馈是否符合预期。
  4. 尝试玩几次,看看你最快能用多少次猜对。
  5. 思考与扩展:
    • 如果用户输入的不是数字怎么办?(目前程序可能会出错)。
    • 能不能限制用户的猜测次数?(比如最多猜 7 次)。
    • 能不能让用户自己决定秘密数字的范围?

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com