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

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

相关推荐
汉克老师3 分钟前
GESP2025年3月认证C++五级( 第三部分编程题(2、原根判断))
c++·算法·模运算·gesp5级·gesp五级·原根·分解质因数
数据皮皮侠25 分钟前
上市公司创新韧性数据(2000-2024)|顶刊同款 EIR 指数
大数据·人工智能·算法·智慧城市·制造
WL_Aurora28 分钟前
Python 算法基础篇之链表
python·算法·链表
科研前沿36 分钟前
纯视觉无感解算 + 动态数字孪生:室内外无感定位技术全新升级
大数据·人工智能·算法·重构·空间计算
代码中介商1 小时前
数据结构开篇:从问题到解决方案
数据结构
Wadli1 小时前
26.单调栈
算法
晨曦夜月1 小时前
进程的五大状态及特殊进程解析
linux·服务器·算法
吟安安安安1 小时前
适合短期冲刺的学习工作流(针对算法)
学习·算法
科研前沿1 小时前
什么是时空融合技术?
大数据·人工智能·数码相机·算法·重构·空间计算
AI科技星1 小时前
全域数学本源公理:0、1、∞ 三者核心关系 (典籍定稿版)
人工智能·算法·数学建模·数据挖掘·量子计算