C 语言中读取用户输入

CCBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,你将学习如何使用 C 编程语言中的 scanf() 函数读取用户输入。scanf() 函数是一个强大的工具,用于从用户处读取输入,它定义在标准输入/输出库 stdio.h 中。C 是一种强类型语言,支持多种数据类型。在本实验中,我们将重点使用 charint 数据类型来读取和显示用户输入。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("`C`")) -.-> c/BasicsGroup(["`Basics`"]) c(("`C`")) -.-> c/CompoundTypesGroup(["`Compound Types`"]) c(("`C`")) -.-> c/PointersandMemoryGroup(["`Pointers and Memory`"]) c(("`C`")) -.-> c/FunctionsGroup(["`Functions`"]) c(("`C`")) -.-> c/UserInteractionGroup(["`User Interaction`"]) c/BasicsGroup -.-> c/variables("`Variables`") c/BasicsGroup -.-> c/data_types("`Data Types`") c/BasicsGroup -.-> c/operators("`Operators`") c/BasicsGroup -.-> c/comments("`Comments`") c/CompoundTypesGroup -.-> c/strings("`Strings`") c/PointersandMemoryGroup -.-> c/memory_address("`Memory Address`") c/FunctionsGroup -.-> c/function_declaration("`Function Declaration`") c/UserInteractionGroup -.-> c/user_input("`User Input`") c/UserInteractionGroup -.-> c/output("`Output`") subgraph Lab Skills c/variables -.-> lab-136075{{"`C 语言中读取用户输入`"}} c/data_types -.-> lab-136075{{"`C 语言中读取用户输入`"}} c/operators -.-> lab-136075{{"`C 语言中读取用户输入`"}} c/comments -.-> lab-136075{{"`C 语言中读取用户输入`"}} c/strings -.-> lab-136075{{"`C 语言中读取用户输入`"}} c/memory_address -.-> lab-136075{{"`C 语言中读取用户输入`"}} c/function_declaration -.-> lab-136075{{"`C 语言中读取用户输入`"}} c/user_input -.-> lab-136075{{"`C 语言中读取用户输入`"}} c/output -.-> lab-136075{{"`C 语言中读取用户输入`"}} end

设置开发环境

在这一步中,我们将设置开发环境并创建一个新的 C 文件用于我们的程序。

  1. 在 WebIDE 中打开一个终端。默认情况下,你应该位于 /home/labex/project 目录中。如果不确定,可以输入 pwd(print working directory)命令来检查当前所在位置。

  2. 使用以下命令创建一个名为 user_input.c 的新文件:

    touch user_input.c

    touch 命令用于创建一个新的空文件(如果文件不存在),或者更新现有文件的时间戳。

  3. 在 WebIDE 编辑器中打开 user_input.c 文件。你可以通过点击 WebIDE 左侧文件资源管理器中的文件名,或者使用 File 菜单中的 Open File 选项来完成此操作。

编写基本程序结构

在这一步中,我们将编写 C 程序的基本结构。

  1. user_input.c 文件中,添加以下代码:

    #include <stdio.h>
    
    int main() {
        // 我们将在此处添加代码
        return 0;
    }

    让我们分解一下这段代码:

    • #include <stdio.h> 告诉编译器包含标准输入/输出库。该库包含我们将用于输入和输出的函数,例如 printf()scanf()
    • int main() 是程序开始执行的主函数。每个 C 程序都必须有一个主函数。
    • 大括号 { } 定义了主函数的主体。
    • return 0; 在主函数末尾表示程序已成功执行。
  2. 保存文件。你可以通过按下 Ctrl+S 或从 File 菜单中选择 Save 来完成此操作。

实现用户输入姓名功能

现在,让我们实现读取用户姓名的功能。

  1. 修改 user_input.c 文件,在 main() 函数中添加以下代码:

    #include <stdio.h>
    
    int main() {
        char name[100];
    
        printf("Enter your name: ");
        scanf("%s", name);
    
        printf("Hello, %s!\n", name);
    
        return 0;
    }

    以下是每一行代码的作用:

    • char name[100]; 声明一个字符数组(字符串),最多可容纳 99 个字符加上空终止符。
    • printf("Enter your name: "); 提示用户输入姓名。
    • scanf("%s", name); 从用户输入中读取一个字符串并将其存储在 name 数组中。%s 格式说明符用于读取字符串。
    • printf("Hello, %s!\n", name); 使用用户输入的姓名打印问候语。格式字符串中的 %s 会被 name 的值替换。
  2. 保存文件。

添加年龄输入功能

让我们扩展程序,使其还可以询问用户的年龄。

  1. 修改 user_input.c 文件,添加年龄输入功能:

    #include <stdio.h>
    
    int main() {
        char name[100];
        int age;
    
        printf("Enter your name: ");
        scanf("%s", name);
    
        printf("Enter your age: ");
        scanf("%d", &age);
    
        printf("Hello, %s! You are %d years old.\n", name, age);
    
        return 0;
    }

    以下是新增的内容:

    • int age; 声明一个整数变量,用于存储用户的年龄。
    • 我们添加了另一对 printf()scanf() 来提示并读取年龄。
    • scanf("%d", &age); 从用户输入中读取一个整数。%d 格式说明符用于读取整数。注意 age 前的 &,这是因为 scanf() 需要变量的内存地址来存储输入。
    • 最后的 printf() 现在在输出消息中包含了年龄。
  2. 保存文件。

编译并运行程序

在这最后一步中,我们将编译 C 程序并运行它以查看结果。

  1. 在终端中,导航到包含 user_input.c 文件的目录:

    cd /home/labex/project

    此步骤确保你位于正确的目录中。如果你已经在该目录中,你会看到一条消息显示“cd: no such file or directory”,可以忽略此消息。

  2. 使用 GCC 编译器编译程序:

    gcc user_input.c -o user_input

    此命令告诉 GCC 编译 user_input.c 并创建一个名为 user_input 的可执行文件。如果代码中有任何错误,你会在此处看到错误消息。如果发生这种情况,请返回代码,修复错误,然后重新尝试编译。

  3. 运行编译后的程序:

    ./user_input

    ./ 告诉 shell 在当前目录中查找程序。

终端编译 C 程序
  1. 程序将提示你输入姓名和年龄。输入你的回答并在每次输入后按 Enter 键。

  2. 你应该会看到一条包含你的姓名和年龄的个性化问候消息。

如果遇到任何问题,请仔细检查代码中的拼写错误,并确保在编译之前保存了所有更改。

总结

在本实验中,你学习了如何使用 C 语言中的 scanf() 函数读取用户输入。你创建了一个程序,提示用户输入姓名和年龄,读取输入并显示个性化的问候消息。此练习向你介绍了 C 语言中的基本输入/输出操作、处理不同数据类型(char 数组用于字符串,int 用于整数)以及编译和运行 C 程序的过程。

关键要点:

  1. scanf() 函数用于从用户读取输入。
  2. 根据读取的输入类型,使用不同的格式说明符(%s 用于字符串,%d 用于整数)。
  3. 当使用 scanf() 读取整数或其他非字符串类型时,需要使用 & 运算符传递变量的地址。
  4. 编译过程将你的 C 代码转换为可执行程序。

这些基本技能构成了更复杂 C 编程任务的基础,并将对你继续学习和提升编程能力非常有帮助。请记住,编程中实践是关键——尝试修改此程序或创建新程序,以巩固你所学到的知识!

您可能感兴趣的其他 C 教程