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

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

相关推荐
憨憨崽&8 分钟前
进击大厂:程序员必须修炼的算法“内功”与思维体系
开发语言·数据结构·算法·链表·贪心算法·线性回归·动态规划
chem41111 小时前
C 语言 函数指针和函数指针数组
c语言·数据结构·算法
liu****2 小时前
八.函数递归
c语言·开发语言·数据结构·c++·算法
客梦2 小时前
数据结构-树结构
数据结构·笔记
CM莫问2 小时前
详解机器学习经典模型(原理及应用)——岭回归
人工智能·python·算法·机器学习·回归
DuHz2 小时前
论文阅读——Edge Impulse:面向微型机器学习的MLOps平台
论文阅读·人工智能·物联网·算法·机器学习·edge·边缘计算
梦想的旅途22 小时前
基于雪花算法(Snowflake)的 Go 语言唯一 ID 生成与并发安全实现
算法·安全·golang
Vanranrr2 小时前
C++临时对象与悬空指针:一个导致资源加载失败的隐藏陷阱
服务器·c++·算法
老约家的可汗3 小时前
数据结构之栈和队列
数据结构
XH华3 小时前
数据结构第六章:栈的学习
数据结构