介绍
在本实验中,你将学习如何使用 C 编程语言中的 scanf()
函数读取用户输入。scanf()
函数是一个强大的工具,用于从用户处读取输入,它定义在标准输入/输出库 stdio.h
中。C 是一种强类型语言,支持多种数据类型。在本实验中,我们将重点使用 char
和 int
数据类型来读取和显示用户输入。
在本实验中,你将学习如何使用 C 编程语言中的 scanf()
函数读取用户输入。scanf()
函数是一个强大的工具,用于从用户处读取输入,它定义在标准输入/输出库 stdio.h
中。C 是一种强类型语言,支持多种数据类型。在本实验中,我们将重点使用 char
和 int
数据类型来读取和显示用户输入。
在这一步中,我们将设置开发环境并创建一个新的 C 文件用于我们的程序。
在 WebIDE 中打开一个终端。默认情况下,你应该位于 /home/labex/project
目录中。如果不确定,可以输入 pwd
(print working directory)命令来检查当前所在位置。
使用以下命令创建一个名为 user_input.c
的新文件:
touch user_input.c
touch
命令用于创建一个新的空文件(如果文件不存在),或者更新现有文件的时间戳。
在 WebIDE 编辑器中打开 user_input.c
文件。你可以通过点击 WebIDE 左侧文件资源管理器中的文件名,或者使用 File
菜单中的 Open File
选项来完成此操作。
在这一步中,我们将编写 C 程序的基本结构。
在 user_input.c
文件中,添加以下代码:
#include <stdio.h>
int main() {
// 我们将在此处添加代码
return 0;
}
让我们分解一下这段代码:
#include <stdio.h>
告诉编译器包含标准输入/输出库。该库包含我们将用于输入和输出的函数,例如 printf()
和 scanf()
。int main()
是程序开始执行的主函数。每个 C 程序都必须有一个主函数。{ }
定义了主函数的主体。return 0;
在主函数末尾表示程序已成功执行。保存文件。你可以通过按下 Ctrl+S 或从 File
菜单中选择 Save
来完成此操作。
现在,让我们实现读取用户姓名的功能。
修改 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
的值替换。保存文件。
让我们扩展程序,使其还可以询问用户的年龄。
修改 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()
现在在输出消息中包含了年龄。保存文件。
在这最后一步中,我们将编译 C 程序并运行它以查看结果。
在终端中,导航到包含 user_input.c
文件的目录:
cd /home/labex/project
此步骤确保你位于正确的目录中。如果你已经在该目录中,你会看到一条消息显示“cd: no such file or directory”,可以忽略此消息。
使用 GCC 编译器编译程序:
gcc user_input.c -o user_input
此命令告诉 GCC 编译 user_input.c
并创建一个名为 user_input
的可执行文件。如果代码中有任何错误,你会在此处看到错误消息。如果发生这种情况,请返回代码,修复错误,然后重新尝试编译。
运行编译后的程序:
./user_input
./
告诉 shell 在当前目录中查找程序。
程序将提示你输入姓名和年龄。输入你的回答并在每次输入后按 Enter 键。
你应该会看到一条包含你的姓名和年龄的个性化问候消息。
如果遇到任何问题,请仔细检查代码中的拼写错误,并确保在编译之前保存了所有更改。
在本实验中,你学习了如何使用 C 语言中的 scanf()
函数读取用户输入。你创建了一个程序,提示用户输入姓名和年龄,读取输入并显示个性化的问候消息。此练习向你介绍了 C 语言中的基本输入/输出操作、处理不同数据类型(char
数组用于字符串,int
用于整数)以及编译和运行 C 程序的过程。
关键要点:
scanf()
函数用于从用户读取输入。%s
用于字符串,%d
用于整数)。scanf()
读取整数或其他非字符串类型时,需要使用 &
运算符传递变量的地址。这些基本技能构成了更复杂 C 编程任务的基础,并将对你继续学习和提升编程能力非常有帮助。请记住,编程中实践是关键——尝试修改此程序或创建新程序,以巩固你所学到的知识!