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语言中进行格式化输入输出。熟练掌握格式化输入输出的技巧可以帮助我们编写更加清晰、易于理解的代码。

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

相关推荐
Highcharts.js3 小时前
教程:基于 React + Highcharts 构建一个单页应用程序、按需数据拉取与图表渲染
开发语言·前端·数据结构·react.js·前端框架·highcharts·页面应用
拳里剑气6 小时前
C++算法:BFS解决FloodFill算法
c++·算法·bfs·宽度优先
wanderist.7 小时前
Lambda表达式在算法竞赛中的应用
java·开发语言·算法
稚南城才子,乌衣巷风流8 小时前
支配树(Dominator Tree)详解:概念、算法与应用
算法
稚南城才子,乌衣巷风流8 小时前
动态开点:原理、实现与应用场景
数据结构·算法
yyds_yyd_100869 小时前
1464. 数组中两元素的最大乘积(2026.07.27)
数据结构·c++·算法·leetcode
KaMeidebaby10 小时前
卡梅德生物技术快报 | 核酸适配体文库测序:核酸适配体文库测序的技术原理、实验流程与数据解析
前端·网络·数据库·人工智能·算法
geovindu10 小时前
CSharp: Breadth First Search Algorithm and Depth First Search Algorithm
开发语言·后端·算法·c#·.net·搜索算法
ekkoalex11 小时前
训练框架以及算法实现的框架
算法