侧边栏壁纸
博主头像
编程之家 博主等级

行动起来,活在当下

  • 累计撰写 37 篇文章
  • 累计创建 3 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

C语言程序设计:5.输入函数

李航
2025-12-02 / 0 评论 / 0 点赞 / 7 阅读 / 0 字

C语言程序设计:5.输入函数

1. 引言

在C语言编程中,输入是与用户交互的一个重要方面。程序需要从外部获取数据,进行处理后再输出结果。C语言提供了多种输入方式,其中最常用的就是 scanf() 函数。通过它,程序能够接收用户的输入,并将输入的数据存储在相应的变量中。

本文将介绍C语言中常用的输入函数,重点讲解 scanf() 函数的使用方法,并通过实例帮助大家理解如何使用输入函数来接收数据。

2. 介绍

2.1 scanf() 函数概述

scanf() 是C语言标准库中用于从标准输入设备(通常是键盘)获取数据的函数。它的基本语法如下:

scanf("格式化字符串", 参数1, 参数2, ...);

其中,格式化字符串 用于定义输入数据的类型和格式,参数 是一个或多个变量的地址,这些变量将存储用户输入的数据。

scanf() 函数通过格式符来识别输入数据的类型,常用的格式符包括 %d%f%c%s 等。

2.2 输入函数的基本流程

  1. 程序执行到 scanf() 时,暂停并等待用户输入。
  2. 用户在键盘上输入数据,按下回车键。
  3. 输入的数据会根据格式符匹配,并存储到指定的变量中。

2.3 常见的输入格式符

  • %d:读取整数(十进制)。
  • %f:读取浮点数(单精度浮点数)。
  • %lf:读取双精度浮点数(double)。
  • %c:读取单个字符。
  • %s:读取字符串(空格之前的内容)。
  • %x:读取十六进制整数。

3. 语法与案例

3.1 输入整数:%d

%d 用于从输入中读取一个整数。

例子

#include <stdio.h>

int main() {
    int a;
    printf("请输入一个整数: ");
    scanf("%d", &a);  // 从用户输入中读取一个整数并存储到a中
    printf("你输入的整数是: %d\n", a);  // 输出用户输入的整数
    return 0;
}

输出

请输入一个整数: 10
你输入的整数是: 10

3.2 输入浮点数:%f

%f 用于从输入中读取一个浮点数。

例子

#include <stdio.h>

int main() {
    float pi;
    printf("请输入一个浮点数: ");
    scanf("%f", &pi);  // 从用户输入中读取一个浮点数并存储到pi中
    printf("你输入的浮点数是: %.2f\n", pi);  // 输出用户输入的浮点数,保留两位小数
    return 0;
}

输出

请输入一个浮点数: 3.14159
你输入的浮点数是: 3.14

3.3 输入字符:%c

%c 用于读取单个字符。如果你要输入一个字符(例如,A),可以使用 %c

例子

#include <stdio.h>

int main() {
    char letter;
    printf("请输入一个字符: ");
    scanf("%c", &letter);  // 从用户输入中读取一个字符并存储到letter中
    printf("你输入的字符是: %c\n", letter);  // 输出用户输入的字符
    return 0;
}

输出

请输入一个字符: A
你输入的字符是: A

3.4 输入字符串:%s

%s 用于从输入中读取一个字符串。请注意,scanf() 默认会忽略空格字符,因此它会读取直到第一个空格或换行符为止的内容。

例子

#include <stdio.h>

int main() {
    char name[50];
    printf("请输入你的名字: ");
    scanf("%s", name);  // 从用户输入中读取一个字符串并存储到name中
    printf("你好,%s!\n", name);  // 输出用户输入的字符串
    return 0;
}

输出

请输入你的名字: John
你好,John!

注意:scanf() 在读取字符串时,不能读取包含空格的完整句子。如果用户输入带有空格的名字(如 John Doe),只有 John 会被读取。

3.5 输入多个数据

scanf() 函数还可以同时读取多个数据,并将它们存储到多个变量中。

例子

#include <stdio.h>

int main() {
    int age;
    float height;
    printf("请输入你的年龄和身高: ");
    scanf("%d %f", &age, &height);  // 同时读取整数和浮点数
    printf("你的年龄是 %d,身高是 %.2f 米。\n", age, height);
    return 0;
}

输出

请输入你的年龄和身高: 25 1.75
你的年龄是 25,身高是 1.75 米。

4. 示例代码

#include <stdio.h>

int main() {
    int a;
    float b;
    char c;
    char name[50];

    // 输入整数
    printf("请输入一个整数: ");
    scanf("%d", &a);

    // 输入浮点数
    printf("请输入一个浮点数: ");
    scanf("%f", &b);

    // 输入字符
    printf("请输入一个字符: ");
    scanf(" %c", &c);  // 注意在%c前加空格来跳过上一个输入的换行符

    // 输入字符串
    printf("请输入你的名字: ");
    scanf("%s", name);

    // 输出输入的结果
    printf("你输入的内容如下:\n");
    printf("整数: %d\n", a);
    printf("浮点数: %.2f\n", b);
    printf("字符: %c\n", c);
    printf("名字: %s\n", name);

    return 0;
}

输出

请输入一个整数: 10
请输入一个浮点数: 3.14
请输入一个字符: A
请输入你的名字: John
你输入的内容如下:
整数: 10
浮点数: 3.14
字符: A
名字: John

代码解析:

  • 在上述例子中,我们使用了 scanf() 来输入整数、浮点数、字符和字符串。特别是在读取字符时,在 %c 前加了一个空格,以跳过可能存在的换行符(\n)。
  • 通过 scanf(),用户输入的数据会存储到对应的变量中,然后通过 printf() 函数输出。

5. 练习题

练习题 1:声明两个整数变量,读取它们的值并输出它们的和。

参考答案

#include <stdio.h>

int main() {
    int x, y;
    printf("请输入两个整数: ");
    scanf("%d %d", &x, &y);  // 同时读取两个整数
    printf("两个整数的和是: %d\n", x + y);
    return 0;
}

练习题 2:声明一个浮点变量,读取它的值并输出它的平方。

参考答案

#include <stdio.h>

int main() {
    float num;
    printf("请输入一个浮点数: ");
    scanf("%f", &num);  // 读取浮点数
    printf("该浮点数的平方是: %.2f\n", num * num);
    return 0;
}

练习题 3:声明一个字符数组,读取一个字符串并输出它。

参考答案

#include <stdio.h>

int main() {
    char name[50];
    printf("请输入你的名字: ");
    scanf("%s", name);  // 读取字符串
    printf("你的名字是: %s\n", name);
    return 0;
}

6. 总结

scanf() 函数是C语言中常用的输入函数,用于从键盘读取数据并将其存储到指定的变量中。掌握常用的输入格式符,如 %d, %f, %c, %s 等,能够帮助我们灵活地处理不同类型的用户输入。通过本文的学习,你应该能够掌握如何在C语言中使用输入函数,使你的程序能够与用户进行交互,收集所需的数据。

0

评论区