广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言中多样式的格式控制符的使用详解
  • 946
分享到

C语言中多样式的格式控制符的使用详解

C语言格式控制符使用C语言格式控制符C语言控制符 2023-03-20 12:03:09 946人浏览 八月长安
摘要

C语言中的格式控制符类型繁多,虽然格式字符可能就那么几个,但组合起来使得格式控制符变得多样化,这对于C语言初学者来说无疑是一种痛苦,为此我将常见的格式控制符类型及意义总结一下,这些格

C语言中的格式控制符类型繁多,虽然格式字符可能就那么几个,但组合起来使得格式控制符变得多样化,这对于C语言初学者来说无疑是一种痛苦,为此我将常见的格式控制符类型及意义总结一下,这些格式符的用法不需要你立即全部掌握,应当在日后的编程实践中逐步掌握。

先来看一个代码示例:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
    int i;
    int temp=1234;
    int arr[5] = { 34,45,-67,89,-68 };
    printf("%#o\n", temp);
    printf("%lo\n", temp);
    for (i = 0; i < 5; i++)
        printf("%d", arr[i]);
    printf("\n");
    for (i = 0; i < 5; i++)
        printf("%-5d", arr[i]);
    printf("\n");
    for (i = 0; i < 5; i++)
        printf("%+4d", arr[i]);
    printf("\n");
 
    return 0;
}

代码运行结果如下:

从上面代码示例中可以看到,printf函数中的格式字符串有多种不同的组合,不同的组合输出内容也不尽相同,它一般是以%开头的字符串,在%后面跟有各种样式的格式字符,以说明输出数据的类型、形式、长度、小数位数等,其 一般形式如下:

%[标志] [输出最小宽度] [.精度] [长度]

其中[]中表示可选项。各项意义介绍如下:

1.标志:标志字符有-、+、#、空格等四种,其所代表的意义如下:

  • -: 当实际位数小于指定位数时,数据在指定宽度内左对齐;多余位数以空格填充。
  • +: 用于在正数之前添加"+",在负数之前添加"-"。

-和+的代码示例如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
    int i;
    int temp = 1234;
    int arr[3] = { 23,45,68 };
    printf("%d\n", temp);
    printf("%+d\n", temp);
    for (i = 0;i < 3; i++)
        printf("%3D", arr[i]);
    printf("\n");
    for (i = 0;i < 3; i++)
        printf("%-3d", arr[i]);
    return 0;
}

运行结果如下:

#: 对o类,输出时添加前缀o;对x类,在输出时添加前缀0x;对e,g,f类,当结果有小数时才给出小数点,对c、s、d、u类无影响。

#的代码示例如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
    int temp1 = 1234;
    float temp2 = 3.5;
    printf("%#d\n", temp1);
    printf("%#o\n", temp1);
    printf("%#x\n", temp1);
    printf("%#f\n", temp2);
    return 0;
}

运行结果如下:

2.输出最小宽度:用十进制整数来表示输出的最少位数。若实际位数多于定义的长度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。

3.精度:精度格式符以‘ . ’开头,后跟十进制数。它的含义是:如果输出实数,则表示小数的位数;如果输出的是字符串,则表示输出字符的个数;如果实际位数大于所定义的精度数,则截去超过的部分(四舍五入)。

4.长度:长度格式有h和l两种,h表示按短整型输出,l表示按长整型输出。

叙述了这么多理论知识,相信大家已经对格式字符的多种组合已经有了一个了解,为了让大家对其有一个更加深入的了解,特举一些常用的格式符使用示例如下:

⑴%m.nd: m、n均为正整数,其中m指定输出结果的总位数,n指定实际输出的整数位数。

注意:若整数的实际位数小于n,则用字符0填充;若实际位数大于n,则n不起作用。

代码示例如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
    int a = 123;
    int b = -1234;
    printf("%d\n", a);
    printf("%.4d\n", a);
    printf("%5.2d\n", a);
    printf("%.4d\n", b);
    printf("%8.6d\n", b);
    return 0;
}

运行结果如下:

⑵%m.ns: m、n均为正整数。其中m指定输出结果的总位数,n指定实际输出结果的字符个数(从字符串左端截取)。

代码示例如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
    printf("%.3s\n", "Good");
    printf("%.4s\n", "good");
    printf("%10.4s\n", "good");
    printf("%.8d\n", "good");
    return 0;
}

运行结果如下:

虽然格式控制符组合繁多,但并不需要死记硬背,只需在一定代码训练后掌握其含义即可。

到此这篇关于C语言中多样式的格式控制符的使用详解的文章就介绍到这了,更多相关C语言格式控制符内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C语言中多样式的格式控制符的使用详解

本文链接: https://www.lsjlt.com/news/200536.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言中多样式的格式控制符的使用详解
    C语言中的格式控制符类型繁多,虽然格式字符可能就那么几个,但组合起来使得格式控制符变得多样化,这对于C语言初学者来说无疑是一种痛苦,为此我将常见的格式控制符类型及意义总结一下,这些格...
    99+
    2023-03-20
    C语言格式控制符使用 C语言格式控制符 C语言控制符
  • C语言多样式的格式控制符如何使用
    这篇文章主要讲解了“C语言多样式的格式控制符如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言多样式的格式控制符如何使用”吧!先来看一个代码示例:#define _CRT...
    99+
    2023-07-05
  • C语言详解格式控制符scanf与printf的输入输出
    目录一、使用scanf输入和printf输出1、scanf的使用2、printf的使用二、常用输出格式1、%md2、%0md3、%.mf三、使用getchar输入putchar输出单...
    99+
    2022-11-13
  • c语言浮点数输出的格式怎么控制
    在C语言中,可以使用printf函数来控制浮点数输出的格式。下面是一些常见的格式控制符:1. %f:输出浮点数,小数点后默认保留6位...
    99+
    2023-05-14
    c语言浮点数 c语言
  • Goland字符串格式化样式中“\r“的作用详解
    目录序原理效果实验代码序 格式化字符串(Format String)是在编程过程中,允许编码人员通过特殊的占位符,将相关对应的信息整合或提取的规则字符串。 简单地说,也就是我们编程过...
    99+
    2023-05-18
    字符串格式化\r 字符串格式化
  • C语言中dlopen和dlsym的使用方式详解
    目录背景demo生产动态库调用dlopen总结背景 为了是不同的逻辑解耦,一般会把各个业务封装成动态库,然后主逻辑去调用各个插件。这里有个问题是,为什么以前我们都是通过include...
    99+
    2022-11-13
  • C语言中字符串的两种定义方式详解
    目录方式1方式2总结我们知道C语言中是没有字符串这种数据类型的,我们只能依靠数组进行存储,即字符数组,而我们定义并且初始化数组有两种方式。下面将给大家介绍这两种方式并且介绍这两种方式...
    99+
    2022-11-12
  • C语言中的线程信号控制详解
    目录一、场景介绍二、解决方法1、临时线程2、全局变量信号3、信号量一、场景介绍 存在三个线程,一个主线程和两个子线程(子线程数量不固定)。为了节省频繁创建销毁线程造成的资源浪费,将这...
    99+
    2023-02-03
    C语言 线程 信号控制 C语言 信号控制 C语言线程
  • C语言递归实现字符串逆序的方式详解
    C语言实现字符串逆序,具体内容如下所示: 一、迭代的方式实现 贴上代码:迭代的方式实现 '//字符串逆序:不可用字符串操作函数' #include <stdio.h&g...
    99+
    2022-11-12
  • C语言中输出控制符的用法是什么
    C语言中的输出控制符用于控制输出结果的格式和布局。以下是常用的输出控制符:1. `%d`:输出十进制整数。2. `%f`:输出浮点数...
    99+
    2023-09-04
    C语言
  • 详解R语言中的表达式、数学公式、特殊符号
    目录##一、R语言的“表达式”##二、产生“表达式”的函数####1、expression 函数####2、quote函数####3、bquote 和 substitute 函数##...
    99+
    2022-11-11
  • C语言详细讲解位运算符的使用
    目录一、位运算符分析二、小贴士三、位运算与逻辑运算四、小结一、位运算符分析 C语言中的位运算符 位运算符直接对 bit 位进行操作,其效率最高。 &按位与|按位或^按位异或~...
    99+
    2022-11-13
  • C语言详细讲解注释符号的使用
    目录一、注释规则二、注释中一个有趣的问题三、教科书型注释四、迷惑型的注释五、忽悠型注释六、搞笑型注释七、漂亮的程序注释八、小结一、注释规则 编译器在编译过程中使用空格替换整个注释字符...
    99+
    2022-11-13
  • C语言学习之标识符的使用详解
    目录命名规则命名规范示例代码总结C语言标识符是用于表示变量、函数、常量、类型等程序元素的名称。在 C语言中,标识符的命名规则和命名规范非常重要,它们直接影响到代码的可读性、可维护性和...
    99+
    2023-05-20
    C语言标识符用法 C语言标识符使用 C语言标识符
  • Python3中字符串格式化format函数详解是怎样的
    这期内容当中小编将会给大家带来有关Python3中字符串格式化format函数详解是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。格式限定符format通过丰富的的“格式限定符”(语法是 {}中带:...
    99+
    2023-06-02
  • C语言详细讲解接续符和转义符的使用
    目录一、接续符的意义二、接续符的使用三、转义符的意义四、转义符的使用五、转义符和其他的语法混合六、小结一、接续符的意义 C语言中的接续符(\)是指示编译器行为的利器 下面看一段接续符...
    99+
    2022-11-13
  • C语言详细讲解逻辑运算符的使用
    目录一、&& 与 II 分析二、!分析三、小结一、&& 与 II 分析 下面的程序运行结束后,i, j,k 的值分别为多少? #include <...
    99+
    2022-11-13
  • C++中cout的格式使用详细介绍
    1.cout和i/i++/++i的组合使用 i++ 和 ++i 是有着不同的含义,和 cout 组合使用也会得到不同的结果,下面给出一段代码: #include <iost...
    99+
    2022-11-12
  • C语言中数组的使用详解
    目录1 数组的基本概念2 数组定义语法3 一维数组的初始化3.1 全部初始化3.2 部分元素赋初值3.3 省略长度赋初值4 一维数组的使用示例4.1 求最大值、最小值、平均值4.2 ...
    99+
    2022-11-12
  • C语言中的getchar()使用详解
    目录前言getchar困惑的点缓冲区缓冲区带来的问题getchar工作原理解决缓冲区带来的问题之清空缓存区解决最初的困惑总结前言 近期我在重新学习C语言时候,我发现了一个严重的问题,...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作