C语言标准的输入输出

目录

[1. 格式化输入输出](#1. 格式化输入输出)

[2. 控制字符串长度](#2. 控制字符串长度)

[3. 混合格式化输出](#3. 混合格式化输出)

[4. 格式化浮点数](#4. 格式化浮点数)

[5. 格式化日期和时间](#5. 格式化日期和时间)


在C语言编程中,输入输出格式非常重要,它决定了程序如何向用户展示数据以及如何从用户接收数据。本篇博客将介绍C语言输入输出格式的一些基本概念和技巧,并给出一些实例。

1. 格式化输入输出

C语言提供了`printf()`和`scanf()`两个用于格式化输入输出的函数。`printf()`函数用于向控制台输出格式化的数据,而`scanf()`函数用于从控制台读取格式化的数据。

下面是一个使用`printf()`输出格式化数据的例子:

```c

cpp 复制代码
#include <stdio.h>

int main() {
    int a = 10;
    float b = 3.14;

    printf("Integer value: %d\n", a);
    printf("Float value: %.2f\n", b);

    return 0;
}

```

在这个例子中,我们使用`%d`格式化整数`a`,使用`%.2f`格式化浮点数`b`。`%.2f`表示保留两位小数。

2. 控制字符串长度

在输出字符串时,可以使用`%ms`或`%ls`格式化字符串长度。其中,`ms`表示以字节为单位,`ls`表示以字符为单位。以下是一个例子:

```c

cpp 复制代码
#include <stdio.h>

int main() {
    char str[] = "Hello, World!";
    int len = strlen(str);

    printf("String length in bytes: %d\n", len);
    printf("String length in characters: %d\n", %ls);

    return 0;
}

```

3. 混合格式化输出

C语言允许在同一个`printf()`调用中混合输出不同类型的数据。以下是一个例子:

```c

cpp 复制代码
#include <stdio.h>

int main() {
    int a = 10;
    float b = 3.14;
    char c = 'A';

    printf("Integer value: %d\n", a);
    printf("Float value: %.2f\n", b);
    printf("Character: %c\n", c);

    return 0;
}

```

4. 格式化浮点数

在输出浮点数时,可以使用`%.2f`、`%.4f`等格式化表示保留小数点后几位。以下是一个例子:

```c

cpp 复制代码
#include <stdio.h>

int main() {
    float f = 3.1415926;

    printf("Float value with 2 decimal places: %.2f\n", f);
    printf("Float value with 4 decimal places: %.4f\n", f);

    return 0;
}

```

5. 格式化日期和时间

C语言提供了`%d`(日期)、`%H`(小时)、`%M`(分钟)和`%S`(秒)等格式化日期和时间的符号。以下是一个例子:

cpp 复制代码
#include <stdio.h>
#include <time.h>

int main() {
    time_t t = time(NULL);
    struct tm *local = localtime(&t);

    printf("Current date and time: %d-%02d-%02d %02d:%02d:%02d\n",
           local->tm_year + 1900,
           local->tm_mon + 1,
           local->tm_mday,
           local->tm_hour,
           local->tm_min,
           local->tm_sec);

    return 0;
}

通过以上示例,我们可以看到如何在C语言中进行格式化输入输出。熟练掌握格式化输入输出的技巧可以帮助我们编写更加清晰、易于理解的代码。

如果还有疑问,欢迎在评论区指出。

相关推荐
怕浪猫14 小时前
GEO 优化到底是什么?AI时代内容创作者必须懂的新技能
算法·面试·github
朝朝辞暮i15 小时前
C++ 第 23 课:class —— 开始真正进入面向对象
开发语言·c++·算法
7yewh16 小时前
SLAM 三维空间刚体运动(2)
数据结构·人工智能·机器人·嵌入式·slam
Evand J16 小时前
【MATLAB例程】三维RRT+APF避障路径规划与到达角(AOA)定位算法|三维路径优化与定位仿真例程
算法·matlab·路径规划·代码·定位·rrt·aoa
leikooo16 小时前
用餐厅和盘子理解栈和堆
java·数据结构·链表·rust
weixin_3077791317 小时前
有限产能智能排产与动态重排智能体:从需求解构到技术实现
开发语言·人工智能·算法·架构
朝朝辞暮i18 小时前
C++ 第 27 课:智能指针 shared_ptr
开发语言·c++·算法
朝朝辞暮i18 小时前
C++ 第 29 课:回调函数 Callback
开发语言·c++·算法
Godspeed Zhao18 小时前
现代智能雷达技术14——算法(0)
线性代数·算法·雷达
可乐ea19 小时前
Agent 模型分级升级路由:用置信度阈值把贵模型省下来
人工智能·算法·机器学习·结构化输出·置信度路由·模型升级路由·大模型成本优化