C语言-输入输出
C语言-输入输出

C语言-输入输出

一、概念和知识点

  1. ​头文件 stdio.h​C语言通过标准输入输出库(Standard Input Output Library)实现I/O功能,需包含头文件 #include 。
  2. ​输出函数 printf()
  • 功能:将数据格式化输出到控制台。
  • 语法:printf(“格式字符串”, 变量列表);
  • 格式控制符:%d(整数)、%f(浮点数)、%c(字符)、%s(字符串)、%lf(双精度浮点数)。
  1. ​输入函数 scanf()
  • 功能:从控制台读取格式化输入。
  • 语法:scanf(“格式字符串”, &变量列表);
  • ​必须用 & 取地址符​​(字符串 %s 除外)。
  1. ​缓冲区机制​​输入时数据先存入缓冲区,按回车后程序读取。注意清除残留数据(如换行符)。

二、简单理解与记忆

  • printf​:想象成“打印机”,按指定格式(如 %d)将数据“打印”到屏幕。
  • scanf​:想象成“扫描仪”,按格式“扫描”输入并存入变量。
  • ​记忆口诀​​:“打印用格式,输入加地址;类型要匹配,否则会报错。”

三、代码示例与逐行解释

#include <stdio.h>  // 引入标准输入输出库

int main() {        // 程序入口函数
    int num;        // 声明一个整型变量num
    printf("请输入一个整数:"); // 输出提示信息
    scanf("%d", &num);         // 读取输入,存入num的地址
    printf("你输入的是:%d\n", num); // 打印num的值,\n表示换行
    return 0;       // 程序正常结束
}

四、代码逐行解释

  1. #include ​包含标准输入输出库,使 printf 和 scanf 可用。
  2. int main() { … }​主函数,程序执行的起点。int 表示返回整数类型。
  3. int num;​声明一个名为 num 的整型变量,用于存储用户输入。
  4. printf(“请输入一个整数:”);​向控制台输出提示文字,无格式控制符,直接显示字符串。
  5. scanf(“%d”, &num);
  • %d:匹配整数输入。
  • &num:将输入的整数存入 num 的内存地址。& 是取地址符,必须使用。
  1. printf(“你输入的是:%d\n”, num);
  • %d:用 num 的值替换占位符。
  • \n:换行符,使后续输出从新行开始。
  1. return 0;​主函数返回0,表示程序正常退出。

五、常见问题

  • scanf 不加 &​:会导致程序崩溃或不可预测行为。
  • ​格式不匹配​​:如用 %d 读取浮点数,会得到错误数据。
  • ​缓冲区残留​​:连续输入时可用 getchar() 清除残留字符。

六、实战练习

  1. 输入两个整数,输出它们的和。
  2. 输入一个浮点数,输出其平方。

1. 输入两个整数,输出它们的和

#include <stdio.h>

int main() {
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%d\n", a + b);
    return 0;
}

代码说明

  • 使用scanf读取两个整数,格式为%d %d,支持空格或换行分隔输入。
  • 计算两数之和并直接通过printf输出结果。

2. 输入一个浮点数,输出其平方

#include <stdio.h>

int main() {
    double num;
    scanf("%lf", &num);
    printf("%f\n", num * num);
    return 0;
}

代码说明

  • 使用double类型存储浮点数以提高精度。
  • scanf使用%lf格式读取输入,确保正确读取双精度浮点数。
  • 计算结果后通过printf输出,%f格式适用于double类型,默认保留6位小数。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注