当前位置: 首页 > news >正文

C语言入门教程100讲(4)输入输出

文章目录

      • 1. 什么是输入输出?
      • 2. 标准输入输出函数
        • 2.1 `printf` 函数
        • 2.2 `scanf` 函数
      • 3. 格式化占位符
      • 4. 示例代码
        • 代码解析:
        • 输出结果:
      • 5. 常见问题
        • 问题 1:`scanf` 中的 `&` 是什么作用?
        • 问题 2:`printf` 和 `scanf` 的格式化字符串必须匹配吗?
        • 问题 3:如何读取字符串?
      • 6. 扩展练习

1. 什么是输入输出?

在 C 语言中,输入输出(I/O)是指程序与用户或外部设备之间的数据交互。常见的输入输出操作包括从键盘读取数据(输入)和将数据打印到屏幕(输出)。

2. 标准输入输出函数

C 语言提供了标准库函数 printfscanf,分别用于输出和输入。

2.1 printf 函数

printf 用于将数据格式化输出到屏幕。语法如下:

printf("格式化字符串", 参数列表);

例如:

int age = 25;
printf("年龄: %d\n", age);
  • %d 是格式化占位符,表示输出整数。
  • \n 是换行符,表示输出后换行。
2.2 scanf 函数

scanf 用于从键盘读取数据。语法如下:

scanf("格式化字符串", &变量);

例如:

int age;
scanf("%d", &age);
  • %d 是格式化占位符,表示读取整数。
  • & 是取地址运算符,用于获取变量的地址。

3. 格式化占位符

以下是一些常用的格式化占位符:

占位符数据类型示例
%d整数int age = 25;
%f浮点数float price = 99.99;
%c字符char letter = 'A';
%s字符串char name[] = "Alice";
%lf双精度浮点数double pi = 3.14159;

4. 示例代码

以下是一个使用 printfscanf 的示例程序:

#include <stdio.h>int main() {int age;float height;// 输入年龄和身高printf("请输入年龄: ");scanf("%d", &age);printf("请输入身高 (米): ");scanf("%f", &height);// 输出结果printf("年龄: %d\n", age);printf("身高: %.2f 米\n", height);return 0;
}
代码解析:
  1. 输入部分

    • 使用 scanf 从键盘读取用户的年龄和身高。
  2. 输出部分

    • 使用 printf 将输入的年龄和身高格式化输出到屏幕。
    • %.2f 表示保留两位小数的浮点数。
输出结果:
请输入年龄: 25
请输入身高 (米): 1.75
年龄: 25
身高: 1.75 米

5. 常见问题

问题 1:scanf 中的 & 是什么作用?
  • & 是取地址运算符,用于获取变量的内存地址。scanf 需要知道变量的地址才能将输入的值存储到变量中。
问题 2:printfscanf 的格式化字符串必须匹配吗?
  • 是的。格式化字符串中的占位符必须与变量的数据类型匹配,否则会导致错误或意外行为。
问题 3:如何读取字符串?
  • 使用 %s 占位符读取字符串。例如:
    char name[50];
    scanf("%s", name);
    
    • 注意:scanf 读取字符串时遇到空格会停止。

6. 扩展练习

  1. 修改程序,读取用户的名字并输出。
  2. 尝试读取多个值(如年龄、身高、体重)并输出。
  3. 使用 printf 输出一个表格,包含姓名、年龄和身高。

http://www.mrgr.cn/news/95496.html

相关文章:

  • 【AI学习笔记】Coze平台实现将Excel文档批量导入数据库全过程
  • C++学习之网盘项目单例模式
  • MySQL表的增加、查询、修改、删除的基础操作
  • 【HDLBits】Circuits—Combinational Logic合集(包含答案推导过程)
  • 分享最近前端面试遇到的一些问题
  • 【模板】计算几何入门
  • python:music21 构建 LSTM+GAN 模型生成爵士风格音乐
  • 挂谷猜想的证明错误百出
  • 使用flask_restful快速构建接口
  • Python数据可视化工具:六西格玛及其基础工具概览
  • 数据包的路由步骤
  • SysVinit和Systemd的系统运行级别
  • C语言入门教程100讲(6)类型修饰符
  • Fourier-Lerobot——把斯坦福人形动作策略iDP3封装进了Lerobot(含我司七月人形研发落地实践)
  • 【算法工程】大模型开发之windows环境的各种安装
  • 操作系统之进程控制
  • Ceph集群2025(Squid版)快速对接K8S cephFS文件存储
  • 数字证书 与 数字签名 介绍
  • [C++游戏开发基础]:构造函数浅析,8000+字长文
  • 有序数组双指针问题